线程java篇文章

Java Lambda 表达式

目录简介语法区别 简介 Lambda 表达式是 JDK 8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的Java代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。但 Lambda 表达式并不能取代所有的匿名内部类,只能用来取代函数接口(Functional Interface ......
表达式 Lambda Java

JAVA类和对象

[JAVA的类和对象] 类是一个抽象的概念。 对象则是能用来实现具体功能。 例如:Scanner sc=new Scanner(System.in) Scanner 是类,sc是对象。 我们一般通过sc.xxx来实现输入。 类 类定义了成员变量和成员方法 类是一种引用数据类型 使用 1.导包 -如果 ......
对象 JAVA

检测IPV6地址是否合法的Java工具类

import java.math.BigInteger; import java.util.Arrays; import java.util.HashSet; import java.util.Set; public class ipv6 { private static final Charact ......
地址 工具 IPV6 Java IPV

【从零开始重学Java】第3天

前情提示 从零开始重学Java 第0天 从零开始重学Java 第1天 从零开始重学Java 第2天 表达式和流程控制语句 表达式 操作数 常量 (只有简单数据类型和String) 变量 运算符 位运算只对字符char和整型生效 Java里 <<(算术)左移 >>(算术)右移 >>>无符号(逻辑)右移 ......
Java

JAVA方法重载(函数)

[JAVA方法] 方法重载 重载指的是多个方法名称相同,但参数列表不同 参数列表不同分为: 参数个数不同 参数类型不同 参数的多类型顺序不同 注意事项 一个表达式中的最后结果以数据类型范围大的为结果的数据类型。 无法因为返回值类型不同进行重载。 参数传递 对于引用类型,形式参数的操作会影响实际参数。 ......
函数 方法 JAVA

java 包和访问修饰符

免责声明:java基础资料均来自于韩顺平老师的《循序渐进学Java零基础》教案,具体视频内容可以去B站观看,这些资料仅用于学习交流,不得转载用于商业活动 java 包和访问修饰符 1.1 包 包的三大作用 区分相同名字的类 当类很多时,可以很好的管理类 控制访问范围 基本语法:pagckage co ......
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

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
共13200篇  :8/440页 首页上一页8下一页尾页