随笔分类 -  java

摘要:Java的函数式接口提供了更简洁和声明性的方式来处理数据。以下是一些使用Predicate<T>、Function<T, R>、Consumer<T>和Supplier<T>的代码示例 Predicate(谓词语句) import java.util.function.Predicate; publ 阅读全文
posted @ 2024-02-22 11:39 忱康 阅读(15) 评论(0) 推荐(0) 编辑
摘要:一、新建状态(NEW) 即用new关键字新建一个线程,这个线程就处于新建状态。 二、运行状态(RUNNABLE) 操作系统中的就绪和运行两种状态,在Java中统称为RUNNABLE。 就绪状态(READY) 当线程对象调用了start()方法之后,线程处于就绪状态,就绪意味着该线程可以执行,但具体啥 阅读全文
posted @ 2024-02-20 15:28 忱康 阅读(273) 评论(2) 推荐(0) 编辑
摘要:结论: 如果try中没有异常,则顺序为try→finally;如果try中有异常,顺序为try→catch→finally,并且异常之后的代码不会执行。 当try或catch中带有return时,会先执行return前的代码,然后暂时保存需要return的信息,[相当于将这里遇到的return的值存 阅读全文
posted @ 2023-01-19 17:12 忱康 阅读(421) 评论(0) 推荐(0) 编辑
摘要:四种引用类型 强引用(StrongReference) 强引用就是指在程序代码之中普遍存在的,比如下面这段代码中的object和str都是强引用: Object object = new Object(); String str = "hello"; 只要某个对象有强引用与之关联,JVM必定不会回收 阅读全文
posted @ 2023-01-08 18:08 忱康 阅读(308) 评论(0) 推荐(0) 编辑
摘要:(159条消息) java判断基本数据类型_Java 基础:基本数据类型 及 == 与 equals 方法的区别_vivi可爱多的博客-CSDN博客 Java中的数据类型在内存的存储原理 (1) 基本数据类型的存储原理:所有的简单数据类型不存在“引用”的概念,基本数据类型都是直接存储在内存中的内存栈 阅读全文
posted @ 2023-01-07 23:14 忱康 阅读(66) 评论(0) 推荐(0) 编辑
摘要:原文链接:https://blog.csdn.net/qq_40479372/article/details/126743899 Java垃圾回收机制垃圾回收(GC,Garbage Collection)是 Java 虚拟机(JVM)垃圾回收器提供的一种用于在空闲时间不定时回收无任何对象引用的对象所 阅读全文
posted @ 2023-01-02 16:28 忱康 阅读(155) 评论(0) 推荐(0) 编辑
摘要:这篇文章是关于这两个同步锁的简单总结比较,关于底层源码实现原理没有过多涉及,后面会有关于这两个同步锁的底层原理篇幅去介绍。 相似点: 这两种同步方式有很多相似之处,它们都是加锁方式同步,而且都是阻塞式的同步,也就是说当如果一个线程获得了对象锁,进入了同步块,其他访问该同步块的线程都必须阻塞在同步块外 阅读全文
posted @ 2022-11-16 18:29 忱康 阅读(43) 评论(0) 推荐(0) 编辑
摘要:jdk中独占锁的实现除了使用关键字synchronized外,还可以使用ReentrantLock。虽然在性能上ReentrantLock和synchronized没有什么区别,但ReentrantLock相比synchronized而言功能更加丰富,使用起来更为灵活,也更适合复杂的并发场景。 2. 阅读全文
posted @ 2022-11-16 16:13 忱康 阅读(124) 评论(0) 推荐(0) 编辑
摘要:CAS,即Compare and Swap,是基于硬件级别的指令实现的同步原语,Java并发包java.utile.concurrent许多同步类基于CAS构建,因此可见CAS的重要性; 定义 处理器(包括 Intel 和 Sparc 处理器)使用的最通用的方法是实现名为比较并转换或CAS的原语,在 阅读全文
posted @ 2022-11-16 10:36 忱康 阅读(34) 评论(0) 推荐(0) 编辑
摘要:为什么用线程池?解释下线程池参数 1 、降低资源消耗;提高线程利用率,降低创建和销毁线程的消耗。 2 、提高响应速度;任务来了,直接有线程可以使用,而不是先创建,再执行。 3 、提高线程的可管理性;线程是稀缺资源,使用线程池可以统一分配调优监控。 1)corePoolSize 代表核心线程数,也就是 阅读全文
posted @ 2022-11-06 21:56 忱康 阅读(386) 评论(0) 推荐(0) 编辑
摘要:原子性、可见性、有序性 1. 原子性 https://blog.csdn.net/jiang_wang01/article/details/113066647 含义 一个或多个操作,要么全部执行且在执行过程中不被任何因素打断,要么全部不执行。 在 Java 中,对基本数据类型的变量的读取和赋值操作是 阅读全文
posted @ 2022-11-03 22:26 忱康 阅读(19) 评论(0) 推荐(0) 编辑
摘要:https://blog.csdn.net/qq_45464560/article/details/120804492 ThreadLocal介绍官方介绍 ThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问(通过get和set方法访问)时能够保证各个线程的变量相对独立于其 阅读全文
posted @ 2022-11-03 17:41 忱康 阅读(231) 评论(0) 推荐(0) 编辑
摘要:为什么Java单例模式一定要加 volatile_java_脚本之家 (jb51.net) 这篇文章主要介绍了为什么Java单例一定要加volatile,指的是为什么懒汉模式中的私有变量要加volatile?带着疑问一起学习下面文章内容吧 目录 1.volatile 作用 1.1 内存可见性问题 1 阅读全文
posted @ 2022-07-29 21:46 忱康 阅读(72) 评论(0) 推荐(0) 编辑
摘要:java虚拟机将编译后的class文件加载到内存中,进行校验、转换、解析和初始化,到最终的使用。这就是java类加载机制; 下面就开始今天的内容: 1、类加载的生命周期:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(I 阅读全文
posted @ 2022-07-05 22:26 忱康 阅读(95) 评论(0) 推荐(0) 编辑
摘要:1. 模块化 1.1 模块化概述 Java语言随着这些年的发展已经成为了一门影响深远的编程语言,无数平台,系统都采用Java语言编写。但是,伴随着发展,Java也越来越庞大,逐渐发展成为一门“臃肿” 的语言。而且,无论是运行一个大型的软件系统,还是运行一个小的程序,即使程序只需要使用Java的部分核 阅读全文
posted @ 2022-05-21 19:20 忱康 阅读(325) 评论(1) 推荐(1) 编辑
摘要:1. 类加载器 1.1 类加载 类加载的描述:当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。如果不出现意外情况,JVM将会连续完成这三个步骤,所以有时也把这三个步骤统称为类加载或者类初始化 类的加载:就是指将class文件读入 阅读全文
posted @ 2022-05-21 18:59 忱康 阅读(25) 评论(0) 推荐(0) 编辑
摘要:体验Stream流 Stream流的好处:直接阅读代码的字面意思即可完美展示无关逻辑方式的语义:获取流、过滤姓张、过滤长度为3、逐一打印 Stream流把真正的函数式编程风格引入到Java中 1 /*案例需求 2 按照下面的要求完成集合的创建和遍历 3 创建一个集合,存储多个字符串元素 4 把集合中 阅读全文
posted @ 2022-05-17 22:39 忱康 阅读(33) 评论(0) 推荐(0) 编辑
摘要:函数式接口概述 概念:有且仅有一个抽象方法的接口 如何检测一个接口是不是函数式接口? @FunctionalInterface 放在接口定义的上方:如果接口是函数式接口,编译通过;如果不是,编译失败 注意事项:我们自己定义函数式接口的时候,@FunctionalInterface是可选的,就算我不写 阅读全文
posted @ 2022-05-17 22:27 忱康 阅读(54) 评论(0) 推荐(0) 编辑
摘要:体验方法引用 方法引用的出现原因:在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿参数做操作 那么考虑一种情况:如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,那是否还有必要再写重复逻辑呢?答案肯定是没有必要 那我们又是如何使用已经存在的方案的呢?这就是 阅读全文
posted @ 2022-05-15 22:29 忱康 阅读(224) 评论(0) 推荐(1) 编辑
摘要:接口组成更新概述 (1)常量:public static final (2)抽象方法:public abstract (3)默认方法(Java 8) 有方法体 (4)静态方法(Java 8) 有方法体 (5)私有方法(Java 9) 有方法体 接口中默认方法 格式: 1 public default 阅读全文
posted @ 2022-05-15 21:32 忱康 阅读(29) 评论(0) 推荐(0) 编辑