JVM
文章平均质量分 95
Hill__Cheung
这个作者很懒,什么都没留下…
展开
-
Java IO模型
IO模型BIO同步并阻塞(传统型阻塞),服务器实现模式为 一个连接一个线程,即客户端 有链接请求时服务器就需要 启动一个线程进行处理,如果这个连接不做任何事情就会造成不要的线程开销。NIO同步非阻塞,服务器实现模式是 为一个 线程处理多个请求,即客户端发送的连接请求都会注册到 多路复用器上,多路复用器 轮询到连接有IO请求就进行处理AIO(又称为NIO2.0)异步非阻塞,服务器实现模式为 一个有效请求一个线程,客户端的IO请求都是由OS先完成了再通知服务器应用去启动线程进行出出力, 一般适用原创 2021-07-29 15:06:31 · 191 阅读 · 0 评论 -
垃圾回收器(简单概述)
垃圾回收器(简单概述)GC分类与性能指标垃圾回收器概述垃圾收集器没有在规范中进行过多的规定,可以由不同厂商、不同版本的JVM来实现。由于JDK的版本处于高速迭代过程中,因此Java发展至今衍生了众多的GC版本。从不同角度分析垃圾收集器,可以将GC分为不同的类型。Java不同版本新特性语法层面:Lambda表达式、switch、自动拆箱装箱、enum、泛型API层面:Stream API、新的日期时间、Optional、String、集合框架底层优化:JVM优化、GC的变化、元空间、静原创 2021-07-29 15:04:45 · 460 阅读 · 0 评论 -
JVM(类加载子系统)
JVMJVM的整体结构[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KIRlxghn-1627542127576)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20210307211553743.png)]PS:执行引擎里面有:解释器和JIT(即时编译器)JAVA代码执行流程文字概括:首先java源码(.java文件)进入java编译器然后生成字节码文件(.class)文件JVM(j原创 2021-07-29 15:02:34 · 113 阅读 · 0 评论 -
并发编程(下)
不可变对象设计(String保护性拷贝)、final的使用、享元模式不可变类设计String如果一个对象在不能够修改器内部状态(属性),那么它就是线程安全的,因为不存在并发修改类用final修饰保证了该类中的方法不能被覆盖,防止子类无意间破坏不可变性不可变如果一个对象在不能够修改其内部状态(属性),那么它就是线程安全的,因为 不存在并发修改。日期转换的问题问题提出下面代码在运行时,由于SimpleDateFormat不是线程安全的``package com.finaltest原创 2021-07-29 15:01:51 · 161 阅读 · 0 评论 -
Java并发编程:CAS概念、原子操作类(乐观锁思想)、LongAddr和AtomicLong、Unsafe
Java并发编程:CAS概念、原子操作类(乐观锁思想)、LongAddr和AtomicLong、Unsafe共享模型之无锁Java中 synchronize 和 ReentranLock等独占锁就是 悲观锁思想的实现在Java中 java.util.concurretn.atomic包下面的原子变量类就是使用了乐观锁的一种实现方式CAS实现的管程即monitor是阻塞式的悲观锁实现并发控制,这章我们将通过非阻塞式乐观锁的来实现并发控制1、 问题提出有如下需求,保证account.w原创 2021-07-29 15:00:41 · 854 阅读 · 0 评论 -
Java内存模型(JMM-原子性、可见性、有序性)、volatile原理、
Java内存模型(JMM-原子性、可见性、有序性)、volatile原理、共享模型之内存多线程的三大特性(原子性、可见性、有序性)之前将的synchronize底层Monitor主要关注的是访问共享变量时,保证临界区代码的原子性。下面进一步深入学习共享变量在多线程间的可见性问题与多条指令执行时的有序性问题Java内存模型(重点)JMM 即Java Memory Model,它从Java层面定义了主存、工作内存抽象概念,底层对应着 CPU寄存器、缓存、硬件内存、CPU指令优化等。JMM体原创 2021-07-29 14:59:14 · 171 阅读 · 0 评论 -
# 死锁、ReentranLock(锁重入、锁超时、可中断、公平锁、条件变量)、同步模式之顺序控制
死锁、ReentranLock(锁重入、锁超时、可中断、公平锁、条件变量)、同步模式之顺序控制多把锁小故事一间大屋子有两个功能:睡觉、学习,互不相干。现在小南要学习、小女要睡觉,但如果只用一间屋子(一个对象锁)的话,那么并发度很低小南获取锁之后,学完习之后,小女才能进来睡觉。解决方法时准备多个房间(多个对象锁)@Slf4j(topic = "guizy.BigRoomTest")public class BigRoomTest { public static void m原创 2021-07-29 14:58:38 · 319 阅读 · 0 评论 -
# wait和notify原理
wait和notify原理wait和notify(重点)小故事[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CDMyQx9F-1627541763521)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20210407112231826.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1wwjn2wY-1627541763535)(C:\Users原创 2021-07-29 14:56:49 · 235 阅读 · 0 评论