线程 随笔java

java面向对象:类(二)

1.Java面向对象:类 1.1 作用域 1.1.1 基本使用 面向对象中,变量作用域是非常重要的知识点 在java编程中,主要的变量就是属性(成员变量)和局部变量 我们所获得局部变量一般是指在成员方法中定义得变量 java中作用域得分类: 全局变量:也就是属性,作用域为整个类,可以不赋值,直接使用 ......
对象 java

swoole运行Master 进程、Reactor 线程、Worker 进程、Task 进程、Manager 进程的区别与联系

Master 进程、Reactor 线程、Worker 进程、Task 进程、Manager 进程的区别与联系 Master 进程 Master 进程是一个多线程进程 Reactor 线程 Reactor 线程是在 Master 进程中创建的线程 负责维护客户端 TCP 连接、处理网络 IO、处理协 ......
进程 线程 Manager Reactor swoole

java基础语法(上):变量与运算符

关键字与保留字 关键字 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 特点:关键字中所有字母都为小写 官方地址:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html 保留字 Java保留字 ......
运算符 变量 语法 基础 java

Java编译原理

概述 java语言的"编译期"分为前端编译和后端编译两个阶段。前端编译是指把*.java文件转变成*.class文件的过程; 后端编译(JIT, Just In Time Compiler)是指把字节码转变成机器码的过程。在编译原理中, 将源代码编译成机器码, 主要经过下面几个步骤: Java中的前 ......
原理 Java

Java基础语法(下):程序流程控制

程序流程控制 顺序结构 分支结构 分支语句1: if-else结构 if-else使用说明 1、条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量 2、语句块只有一条执行语句时,一对{}可以省略,但建议保留 3、if-else语句结构,根据需要可以嵌套使用 4、当if-else结构是“多 ......
语法 流程 基础 程序 Java

用Spring Boot 3.2虚拟线程搭建静态文件服务器有多快?

Spring Boot 3.2 于 2023 年 11 月大张旗鼓地发布,标志着 Java 开发领域的一个关键时刻。这一突破性的版本引入了一系列革命性的功能,包括: 虚拟线程:利用 Project Loom 的虚拟线程释放可扩展性,从而减少资源消耗并增强并发性。 Native Image支持:通过N ......
线程 静态 服务器 文件 Spring

线程池

线程池 七个参数 BlockingQueue workQueue=new ArrayBlockingQueue(10);//最多存放10个任务 ThreadFactory threadFactory= Executors.defaultThreadFactory(); //回抛出异常的回绝策略 Re ......
线程

java定时任务执行器

ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); 这段代码使用 Java 的 ScheduledExecutorService 接口和 Executors 类来创建一个单线 ......
任务 java

聊一聊 C# 的线程本地存储TLS到底是什么

聊一聊 C# 的线程本地存储TLS到底是什么 一:背景 1. 讲故事 有朋友在后台留言让我说一下C#的 ThreadStatic 线程本地存储是怎么玩的?这么说吧,C#的ThreadStatic是假的,因为C#完全是由CLR(C++)承载的,言外之意C#的线程本地存储,用的就是用C++运行时提供的  ......
线程 TLS

java桌面小闹钟

写了个桌面的小闹钟,在运行环境可以编译,但是打包成jar文件,想用批处理命令直接调用报错"找不到或无法加载主类". 需求 为防止整天久坐,编写一个桌面闹钟.该闹钟功能很简单,一个小时的倒计时,倒计时结束弹框提示起身运动下.点击确认后重新计时.且有一个复位按钮,可以重新计时. 代码 定义一个1小时的时 ......
闹钟 桌面 java

前端导出文件 java.io.IOException: Connection reset by peer

一、场景 后端生成zip压缩文件,前端直接导出。 问题:文件小的时候正常导出,大的时候,接口收不到返回的文件流;本地测试没问题,部署线上有问题; 二、原因分析 后台打印日志,发现如下报错日志 java.io.IOException: Connection reset by peer 查阅得知,断开连 ......
前端 IOException Connection 文件 reset

java distinct 无法为泛型去重

针对distinct无法为List<User>之类的去重。 所以这里简单说一下方案。 本质上是重写对象的equals方法。 但是这里有一个偷懒的方式。 就是直接使用@Data (来自Lombok的注解) 因为@Data 一样会重写equals 和 hashcode方法。 所以,直接使用@Data来代 ......
distinct java

java等比例压缩图片

1、如果上传图片过大,有好几兆,甚至几十兆,那么用java代码处理一下,等比例压缩成指定像素大小。 比如,一张1920*1880像素的图片,有9.7M。 处理后的效果:长宽与原来一样,只是像素变小,自定义指定为800*600像素,最后图片只有970KB,连一M都没有 压缩代码: public sta ......
图片 java

C语言学习随笔-01 关于二进制

1、二进制数据是用0和1两个数码来表示的数,它们的基数为2,进位规则是逢二进一,借位规则是借一当二。 2、当今的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的,计算机中的二进制则是一个非常微小的开关。 ......
语言学习 二进制 随笔 语言 01

C语言学习随笔-01 关于二进制

stdio.h是一个头文件(标准输入输出头文件),#include是一个预处理命令,用来引入头文件。当编译器遇到printf()函数时,如果没有找到stdio.h头文件,会发生编译错误//所有的C语言程序都需要包含main()函数。代码从main()函数开始执行int main() { printf ......
语言学习 二进制 随笔 语言 01

java 不重复的list(集合)

在Java中,可以使用Set接口的实现类来创建一个不重复的列表。Set接口不允许重复元素,因此可以保证列表中的元素不重复。 import java.util.HashSet; import java.util.Set; public class Main { public static void m ......
java list

Dating Java8系列之通过行为参数化传递代码

翎野君/文 引言 作为技术开发人员,我们无法保证我们写出来的代码的可用时间和保质期,也许今天刚上线的一个功能,等到明天就因为需求变动不得不进行更改。 为什么会不断的变化 作为技术人员,我们当然希望需求能循序渐进地平稳过度,但往往事与愿违,对于其原因我简单总结为以下几点。 用户导向,用户和市场是风向标 ......
行为 参数 代码 Dating Java8

JAVA内存分配

[JAVA的内存分配] 栈(Stack):主要用来存放局部变量。 堆(Heap):凡是new 出来的东西都在堆种。堆中的数据有默认值规则。 a 如果是整数,默认是0. b 如果是浮点数,默认是0.0; c 如果是字符,默认是'\u0000'(Unicode写法); d 如果是布尔值,默认为false ......
内存 JAVA

Dating Java8系列之Java8中的‘流’

翎野君/文 流的概念 1.流是什么 流是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。就现在来说,我们可以把它们看成遍历数据集的高级迭代器。 代码:按价格排序后得到手机名称列表 使用新的流式方法有几个显而易见的好处。 代码是以声明性方式写的 ......
Java8 Java Dating

Dating Java8系列之Java8中的流操作

翎野君/文 本次我们会使用到很多的流操作,如筛选、切片、映射、查找、匹配和归约,这些操作可以让我们能快速完成复杂的数据查询。 筛选和切片 用谓词筛选 Streams接口支持filter方法。该操作会接受一个谓词(一个返回 boolean的函数)作为参数,并返回一个包括所有符合谓词的元素的流。 Lis ......
Java8 Java Dating

Dating Java8系列之用流收集数据

翎野君/文 收集器简介 1.收集器介绍 Java 8中流支持两种类型的操作:中间操作(如filter或map)和终端操作(如count、findFirst、forEach和reduce)。 中间操作可以链接起来,将一个流转换为另一个流。这些操作不会消耗流,其目的是建立一个流水线。与此相反,终端操作会 ......
数据 Dating Java8 Java

Dating Java8系列之并行数据处理

翎野君/文 分支合并框架 分支合并框架介绍 分支/合并框架的目的是以递归的方式将可以并行的任务拆分成更小的任务,然后将每个子任务的结果合并起来生成整体结果。 它是ExecutorService接口的一个实现,它把子任务分配给线程池(称为ForkJoinPool)中的工作线程。把任务提交到这个池,必须 ......
数据处理 数据 Dating Java8 Java

Dating Java8系列之default默认方法

翎野君/文 引言 传统上,Java程序的接口是将相关方法按照约定组合到一起。实现接口的类必须为接口中定义的每个方法提供一个实现,或者从父类中继承它的实现。 不断迭代的API 默认方法的引入就是为了,以兼容的方式,解决像 Java API这样的类库,演进迭代问题。 理解演进迭代 为了理解为什么一旦AP ......
default 方法 Dating Java8 Java

Dating Java8系列之新的日期和时间

翎野君/文 旧的日期时间 在Java 1.0中,对日期和时间的支持只能依赖java.util.Date类。正如类名所表达的,这个类无法表示日期,只能以毫秒的精度表示时间。更糟糕的是它的易用性,由于某些原因和未知的设计决策,这个类的易用性被深深地损害了,比如:年份的起始选择是1900年,月份的起始从0 ......
日期 时间 Dating Java8 Java

Dating Java8系列之Lambda表达式和函数式接口(上)

翎野君/文 Lambda简介 我们可以把Lambda表达式理解为简洁地表示可传递的匿名函数的一种方式。它没有名称,但它有参数列表、函数主体、返回类型,可能还有一个可以抛出的异常列表。 匿名:我们说匿名,是因为它不像普通的方法那样有一个明确的名称。 函数:我们说它是函数,是因为Lambda函数不像方法 ......
表达式 函数 接口 Dating Lambda

Dating Java8系列之Lambda表达式和函数式接口(下)

翎野君/文 使用函数式接口 函数式接口定义且只定义了一个抽象方法。 函数式接口很有用, 因为抽象方法的签名可以描述Lambda表达式的签名。 为了应用不同的Lambda表达式,你需要一套能够描述常见函数描述符的函数式接口。 Java 8的库设计师帮我们在java.util.function包中引入了 ......
表达式 函数 接口 Dating Lambda

Dating Java8系列之巧用Optional之优雅规避NPE问题

翎野君/文 避之不及的 NullPointerException NPE : NullPointerException 空指针异常是最常见的Java异常之一,抛出NPE错误不是用户操作的错误,而是开发人员的错误,应该被避免,那么只能在每个方法中加入非空检查,阅读性和维护性都比较差。 以下是一个常见的 ......
Optional Dating 问题 Java8 Java

java流式分组(groupBy)生成TreeMap

java流式分组(groupBy)生成TreeMap 哈哈哈,扫地生(saodisheng/sds)又回来啦。过去一坤年,啊不!应该是近一年,很少在博客上分享个人的学习笔记和平时遇到的疑难杂症了。而今,SDS 重新更新啦。 今天要记录的是一个关于流式分组 groupBy生成有序map的过程; 具体过 ......
groupBy TreeMap java

使用 Java 故意消耗 Cpu 和内存的代码

https://blog.csdn.net/weixin_70730532/article/details/124732635 apt install openjdk-8-jdk javac ResouceManageService.java 为什么要故意消耗 Cpu 和内存?在项目交付时有时会申请 ......
内存 代码 Java Cpu

UE4 Android打印出所有线程的调用栈

在Visual Studio中使用AGDE调试UE4游戏(Debug包),在Command Window中执行LLDB.Shell bt all打印出所有线程(共199个线程)的调用堆栈 >LLDB.Shell bt all Error: Success Output Message: * thre ......
线程 Android UE4 UE
共13000篇  :8/434页 首页上一页8下一页尾页