随笔分类 -  java

摘要:## 1.说明 stream流操作是java8引入的一个新概念,是一种对Java集合运算和表达的高阶抽象。主要是java8用来处理集合的,使我们的代码更简洁高效。 特点: - 大大提高编码效率和降低代码的复杂度 - 不是数据结构,不会保存数据 - 要有终端操作流才会进行处理,也就是开始流动,如果没有 阅读全文
posted @ 2023-08-24 18:18 _mcj 阅读(75) 评论(0) 推荐(0) 编辑
摘要:## 1.介绍 Optional是Java8引入的一个新的类,它是java.util包下面的一个类。主要目的是为了解决空指针异常问题,它既可以含有对象也可以为空。 ## 2.Optional的使用 **2.1:创建一个Optional** 如果需要创建一个空的Optional的话,则可以使用Opti 阅读全文
posted @ 2023-08-18 18:18 _mcj 阅读(460) 评论(0) 推荐(0) 编辑
摘要:## 1. 描述 Lambda表达式是在jdk1.8出现的一种语法,其主要是函数式接口的一种简写方式,描述了数据的传递,使我们的代码更加的简洁。 但是它并不是能够随便用的,其只能用于函数式接口(函数式接口是指有且仅有一个抽象方法的接口); ## 2. 语法 其整个语法比较简单,主要分为三部分(参数列 阅读全文
posted @ 2023-08-09 20:26 _mcj 阅读(28) 评论(0) 推荐(0) 编辑
摘要:## 1.ConcurrentHashMap的结构 ConcurrentHashMap在jdk1.7版本的结构是通过Segments数组+HashEntry数组+链表构成,其主要是通过分段锁来保证安全性。在修改数据的时候,通过加在Segment上的锁来锁住当前数据所在的Segment来保证其在修改的 阅读全文
posted @ 2023-08-03 16:53 _mcj 阅读(132) 评论(0) 推荐(0) 编辑
摘要:## 1.@Async注解 @Async是java中一个注解,其作用就是加上该注解的类或方法能够异步执行任务,该注解添加到方法上时,表示该方法是异步方法,添加到类上时,表示该类中的所有方法都是异步方法。 该注解的代码为:![image](https://img2023.cnblogs.com/blo 阅读全文
posted @ 2023-06-25 20:35 _mcj 阅读(2508) 评论(0) 推荐(0) 编辑
摘要:## 1.synchronized synchronized关键字是JVM提供的内置锁,是通过Monitor两种来实现的,分别是当其作用在类上和方法上时。 **类上:** - 测试代码 ``` public class Test { public void test() { synchronized 阅读全文
posted @ 2023-06-14 20:48 _mcj 阅读(17) 评论(0) 推荐(0) 编辑
摘要:## 1.JVM内存结构 Java代码是运行在虚拟机上的,而虚拟机在执行Java程序的过程中会把管理的**内存**划分为若干个不同的**数据区域**。其中有些区域是随着虚拟机进程的启动而存在,而有些区域则依赖用户线程的启动和结束而建立和销毁。而这些区域会被划分为五个区域,具体的如下: ![image 阅读全文
posted @ 2023-06-07 20:14 _mcj 阅读(115) 评论(0) 推荐(0) 编辑
摘要:## 1.原子性 #### 1.1 原子性的定义 原子性:原子性即是一个或者多个操作,要么全程执行,并且执行的过程中不被任何因素打断,要么全部不执行。 举个例子会更好理解:就像是我们去银行转账的时候,A给B转1000元,如果A的账户减少了1000之后,那么B的账户一定要增加1000。A的账户减钱,B 阅读全文
posted @ 2023-05-31 21:04 _mcj 阅读(378) 评论(0) 推荐(0) 编辑
摘要:## 1.什么是锁 针对于一个共享资源,如果有两个或两个以上的线程访问该资源,可能会导致该共享资源最后的结果与我们预期的结果不一致。比如一个共享变量,其中A线程将其从0循环加一十次,最后结果为十,但是再A线程对该变量循环加一的时候,有个B线程进行了改边该变量,那么可能最后A线程执行结束之后,其结果不 阅读全文
posted @ 2023-05-20 14:00 _mcj 阅读(52) 评论(0) 推荐(0) 编辑
摘要:1.同步容器 1.1 什么是同步容器 同步容器是指那些在容器内部已经同步化了,使我们在并发操作使用容器的时候不需要进行手动同步了。 1.2 同步容器的分类 同步容器可以分为两大类:普通类和内部类 普通类 主要是Vector、Stack、HashTable 普通类其实现的方式是通过在方法上添加sync 阅读全文
posted @ 2023-05-07 11:37 _mcj 阅读(118) 评论(0) 推荐(0) 编辑
摘要:1.说明 CountDownLatch是线程同步计数器:使线程能够在满足一些条件之后再执行。其是通过计数器实现的,当满足一个条件之后,计数器数量减一,直到其数量为0时,被挂起的线程恢复执行。 其内部维护了一个静态内部类Sync,该类继承了AbstractQueuedSynchronizer,这个类在 阅读全文
posted @ 2023-04-12 08:07 _mcj 阅读(27) 评论(0) 推荐(0) 编辑
摘要:1.ctl说明 ctl是线程池的状态控制,他是一个原子整数,主要记录当前线程池状态和当前线程池的工作数量。其实一个32位的整数,其中前三位记录的是当前线程池的状态,后29为记录的是当前工作的线程数量,也就是线程池目前支持的最大工作线程数量为0001 1111 1111 1111 1111 1111 阅读全文
posted @ 2023-04-04 20:05 _mcj 阅读(64) 评论(0) 推荐(0) 编辑
摘要:1.什么是线程池 随着多线程的大量使用,伴随着大量的线程创建与销毁等这些开销,为了减少这些开销,进行管理线程,线程池就应运而生了。因此线程池是一种基于池化思想管理和使用线程的机制,主要是为了方便管理线程,减少线程的频繁创建与销毁而浪费的资源。 2.线程池的使用 2.1 线程池的创建 线程池的创建方式 阅读全文
posted @ 2023-03-25 19:06 _mcj 阅读(308) 评论(0) 推荐(0) 编辑
摘要:1. AQS(AbstractQueuedSynchronizer)分析 1.1 说明 AQS(AbstractQueuedSynchronizer)从字面意思来说其是抽象的队列同步器,它是一套实现多线程同步功能的框架,在源码中被广泛使用,尤其是在JUC中,比如 ReentrantLock、Sema 阅读全文
posted @ 2023-03-04 14:05 _mcj 阅读(220) 评论(0) 推荐(0) 编辑
摘要:| 字符 | 描述 | | | | | [ABC] | 匹配中括号中的所有字符,例如 [abc] 匹配字符串"abcdefg"中所有的a,b,c字母。 | | [^ABC] | 匹配除了中括号中的所有字符,例如[^abc]匹配字符串"abcdefg"中所有的不是a,b,c的字母| | [A-Z] | 阅读全文
posted @ 2023-02-09 20:35 _mcj 阅读(141) 评论(0) 推荐(0) 编辑
摘要:1. 什么是cron表达式 cron表达式说白了就是一串由若干数字、空格、符号按照一定的规则组成的一组字符串,这个字符串能用来表达时间信息。 2. cron表达式的结构 cron表达式从左到右分为七个域,这七个域之间以空格隔开,从左到右分别代表的值为: 秒 分 时 日 月 周 年(可以不写) 3. 阅读全文
posted @ 2022-12-16 21:14 _mcj 阅读(217) 评论(0) 推荐(0) 编辑
摘要:1.Java注解的描述 java注解又叫做java标注,是java的一种注释机制,在jdk5.0引入。其可以作用在类、方法、变量、参数和包上。另外,其可以通过反射来获取注解标注的内容。可以说注解就是实现了Annotation的接口 2.Java注解的分类 Java注解分类的话,大致可以分为三类,分别 阅读全文
posted @ 2022-10-29 15:34 _mcj 阅读(1073) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示