![](https://img-blog.csdnimg.cn/direct/ae5035485a2849e3bd05a66d269c00dd.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 92
Java
时间瑾
梦想永在凌云意意气风发,代码成就万世基积沙镇海
展开
-
线程池实践篇
**// 核心线程池大小,即保持活动状态的最小线程数 private Integer corePoolSize;// 最大线程池大小,即线程池允许创建的最大线程数 private Integer maxPoolSize;// 非核心线程空闲时的存活时间,超过此时间,空闲线程将被终止 private Integer keepAliveSeconds;// 阻塞队列容量,用于存放等待执行的任务 private Integer queueCapacity;Data;import org。原创 2024-07-05 13:00:00 · 85 阅读 · 0 评论 -
线程间的通信
本文详细介绍了Java中的线程间通讯技术,包括wait()和notify()方法的使用,以及在生产者消费者模式中的应用,通过实例展示了如何通过等待唤醒机制实现线程协作。本文详细介绍了Java中的线程间通讯技术,包括wait()和notify()方法的使用,以及在生产者消费者模式中的应用,通过实例展示了如何通过等待唤醒机制实现线程协作。原创 2024-07-05 08:54:22 · 104 阅读 · 2 评论 -
线程的6种状态
这些状态构成了线程的生命周期,在不同的状态间切换,线程会执行不同的行为和任务。理解线程的状态对于编写多线程程序非常重要,可以帮助你控制线程的行为和逻辑。这里先列出各个线程状态发生的条件,下面将会对每种状态进行详细解析。原创 2024-07-05 08:53:06 · 107 阅读 · 0 评论 -
线程池高级理论总结
说明:还未执行任何任务的时候,核心线程是0个,他是懒加载;当一个任务通过submit或者execute方法提交到线程池的时候,如果当前池中线程数(包括闲置线程)小于,则创建一个新的线程执行该任务;如果当前线程池中线程数已经达到,则将任务放入等待队列;如果任务队列已满,则任务无法入队列,此时如果当前线程池中线程数小于,则创建一个临时线程(非核心线程)执行该任务;如果当前池中线程数已经等于,此时无法执行该任务,对于新的任务会根据拒绝执行策略处理;原创 2024-07-04 08:47:14 · 1148 阅读 · 2 评论 -
给他个卖票的机会,他能卖出负数票. 多线程安全问题演示
本文讨论了线程安全问题在多线程环境下如何通过同步代码块、同步方法以及ReentrantLock实现,以确保数据一致性。作者通过实例展示了如何避免数据错乱,提高并发操作中的数据准确性。原创 2024-07-04 08:44:34 · 329 阅读 · 0 评论 -
Java 的 String StringBuilder StringBuffer
s,因为é字符在职员甲机器上的OEM字符集中对应的字节是0x82,而在职员乙的机器上,由于使用的OEM字符集不同,对0x82字节解码后得到的字符却是?我们平常用到的Unicode字符,一般都是位于BMP层面上的。例如美国ANSI组织制定了ANSI标准字符编码(注意,我们现在通常说到ANSI编码,通常指的是平台的默认编码,例如英文操作系统中是ISO-8859-1,中文系统是GBK),ISO组织制定的各种ISO标准字符编码,还有各国也会制定一些国家标准字符集,例如中国的GBK,GB2312和GB18030。原创 2024-07-04 08:43:19 · 790 阅读 · 0 评论 -
多线程入门
是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提升性能。好处 :提高任务的执行性能。原创 2024-07-04 06:30:00 · 515 阅读 · 0 评论 -
Long类型字段在前后端传值问题
Long类型字段在前后端传值问题Long类型字段在前后端传值问题原创 2024-07-03 21:26:40 · 401 阅读 · 0 评论 -
File 类及其方法
File 类是 java.io 包下代表与平台无关的文件和目录,也就是说如果希望在程序中操作文件和目录都可以通过 File 类来完成,File 类能新建、删除、重命名文件和目录,但是不可以访问文件内容本身。在 API 中File 的解释是文件和目录路径名的抽象表示形式,即File 类是文件或目录的路径,而不是文件本身,因此 File 类不能直接访问文件内容本身如果需要访问文件内容本身,则需要使用输入/输出流。File 类代表磁盘或网络中某个文件或目录的路径名称。原创 2024-07-03 08:46:12 · 1088 阅读 · 4 评论 -
JavaSE&Java8 Lambda 表达式
Java8是2014年发布的版本,是Java5以来具有革命性的版本。Java 8的主要新语法特性如下Lambda表达式Lambda表达式使Java程序员能够编写更加简洁、易读和易维护的代码。它是一种匿名函数,可以将其作为参数传递给其他方法或函数。方法引用方法引用是指通过名称来引用现有的方法,从而让代码变得更简洁、易读和易于维护。Java 8中提供了四种不同的方法引用方式:静态方法引用、实例方法引用、构造器引用和超类方法引用。接口默认方法。原创 2024-07-03 08:45:04 · 577 阅读 · 0 评论 -
JavaSE&多线程&线程池
多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提升性能。好处 : 提高任务的执行性能。其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。原创 2024-07-02 10:36:45 · 891 阅读 · 6 评论 -
JavaSE&Java8 时间日期API + 使用心得
JavaSE&Java8 时间日期API + 使用心得原创 2024-07-02 10:34:55 · 778 阅读 · 0 评论 -
Java中的动态代理
Java 中的是一种在运行时创建代理对象的机制,这些代理对象在运行时动态地实现特定接口或者继承特定类,并将方法调用转发到一个处理程序(handler)。动态代理是在程序运行时创建的,而不是在编译时创建的,因此可以根据需要动态地创建代理对象。Java 中的动态代理通常使用 类来实现。通过 方法,你可以创建一个动态代理对象,该方法接受三个参数:类加载器、要实现的接口列表和一个 对象。动态代理的实现基于 Java 的反射机制。在运行时,当客户端调用代理对象的方法时,这些方法调用会被转发到 的 方法中,开发原创 2024-07-02 08:31:11 · 729 阅读 · 1 评论 -
JavaSE&注解
注解(Annotation)也称为元数据,是一种代码级别的说明注解是JDK1.5版本引入的一个特性,和类、接口是在同一个层次注解可以声明在包、类、构造器、字段、方法、成员变量、局部变量、方法参数等的前面,用来对这些元素进行说明注解:就是具有特殊含义的标记(注解是给机器阅读的)作用:对Java中类、方法、成员变量做标记,然后进行特殊处理,至于到底做何种处理由业务需求来决定。原创 2024-07-02 08:29:21 · 634 阅读 · 0 评论 -
JavaSE&Java8 Stream
Java8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一个则是。Stream是 Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用 Stream API 对集合数据进行操作,就类似于使用 SQL执行的数据库查询。也可以使用Stream API来并行执行操作简而言之,Stream API 提供了一种高效且易于使用的处理数据的方式。流(Stream)到底是什么呢?原创 2024-07-01 08:37:19 · 942 阅读 · 5 评论 -
Java 的静态代理和动态代理
JDK动态代理 Proxy.newProxyInstance() 通过接⼝创建代理的实现类Cglib 动态代理 Enhancer 通过继承⽗类创建的代理类。原创 2024-07-01 08:35:33 · 674 阅读 · 1 评论 -
BigDecimal 详解
BigDecimal可以实现对浮点数的运算,不会造成精度丢失。通常情况下,大部分需要浮点数精确运算结果的业务场景(比如涉及到钱的场景)都是通过BigDecimal来做的。浮点数之间的等值判断,基本数据类型不能用 == 来比较,包装数据类型不能用 equals 来判断。想要解决浮点数运算精度丢失这个问题,可以直接使用 BigDecimal 来定义浮点数的值,然后再进行浮点数的运算操作即可。// 0浮点数没有办法用二进制精确表示,因此存在精度丢失的风险。原创 2024-06-30 15:45:15 · 1171 阅读 · 4 评论 -
JavaSE&字节流
一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此。所以,字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二进制数据。原创 2024-06-30 15:43:30 · 832 阅读 · 1 评论 -
Java 反射
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法(包括私有的);对于任意一个对象,都能够调用它的任意一个方法和属性(包括私有的);这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.原创 2024-06-29 17:45:58 · 909 阅读 · 0 评论 -
JavaSE&泛型
泛型是一种类型参数,专门用来保存类型用的最早接触泛型是在ArrayList,这个E就是所谓的泛型了。使用ArrayList时,只要给E指定某一个类型,里面所有用到泛型的地方都会被指定对应的类型当一个类定义其属性的时候,不确定具体是什么类型时,就可以使用泛型表示该属性的类型在类型名后面加上一对尖括号,里面定义泛型。一般使用一个英文大写字母表示,如果有多个泛型使用逗号分隔public class 类名{ … }举例 :X xObj;原创 2024-06-28 10:43:27 · 712 阅读 · 2 评论 -
JavaSE&集合框架
在 JDK5 中提供了可变参数,允许在调用方法时传入任意个参数。可变参数原理就是一个数组形式存在格式 : 修饰符 返回值类型 方法名(数据类型… 变量名) { }举例 : public void show(int … num) : 表达式该方法可以接收任意个整数值 , 原理 : 其实就是一个int类型的数组java.util.Map 集合,里面保存的数据是成对存在的,称之为双列集合。存储的数据,我们称为键值对。之前所学的Collection集合中元素单个单个存在的,称为单列集合。原创 2024-06-27 08:32:18 · 826 阅读 · 5 评论 -
JavaSE&Collection集合
迭代器就是对Iterator的称呼 , 专门用来对Collection集合进行遍历使用的。学习迭代器的目的就是为了遍历集合。原创 2024-06-27 08:29:59 · 612 阅读 · 0 评论 -
List 集合遍历过程中删除元素
作为一名后端开发,不管采用什么语言 使用 List 集合的频率都非常高。对 List 集合的遍历和遍历中操作数据也是家常便饭。我从我使用的过程中对于此问题的思考与实践形成记录,与大家交流。有不对的地方,恳请大家指正。原创 2024-06-02 08:27:43 · 700 阅读 · 3 评论