H__D  
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 55 下一页

2020年12月26日

摘要: 一、synchronized基础 synchronized关键字在需要原子性、可见性和有序性这三种特性的时候都可以作为其中一种解决方案,看起来是“万能”的。的确,大部分并发控制操作都能使用synchronized来完成。在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重 阅读全文
posted @ 2020-12-26 16:55 H__D 阅读(286) 评论(0) 推荐(0) 编辑

2020年12月25日

摘要: 运行时举例 图解示例 代码 1 public class RuntimeDemo { 2 public static void main(String[] args) { 3 int x = 500; 4 int y = 100; 5 int a = x / y; 6 int b = 50; 7 S 阅读全文
posted @ 2020-12-25 18:48 H__D 阅读(112) 评论(0) 推荐(0) 编辑
 
摘要: 1、栈 堆 方法区的交互关系 从内存结构来看 从线程共享与否的角度来看 栈、堆、方法区的交互关系 下面就涉及了对象的访问定位 Person 类的 .class 信息存放在方法区中 person 变量存放在 Java 栈的局部变量表中 真正的 person 对象存放在 Java 堆中 在 person 阅读全文
posted @ 2020-12-25 16:30 H__D 阅读(547) 评论(0) 推荐(0) 编辑

2020年12月23日

摘要: 一、什么是CPU缓存 1. CPU缓存的来历 众所周知,CPU是计算机的大脑,它负责执行程序的指令,而内存负责存数据, 包括程序自身的数据。在很多年前,CPU的频率与内存总线的频率在同一层面上。内存的访问速度仅比寄存器慢一些。但是,这一局面在上世纪90年代被打破了。CPU的频率大大提升,但内存总线的 阅读全文
posted @ 2020-12-23 16:00 H__D 阅读(822) 评论(0) 推荐(0) 编辑

2020年12月22日

摘要: 双重锁校验单例 代码如下: 1 public class DoubleCheckedLock { 2 3 // 使用volatile修饰禁止重排序 4 private volatile static DoubleCheckedLock instance; 5 6 private DoubleChec 阅读全文
posted @ 2020-12-22 22:48 H__D 阅读(777) 评论(0) 推荐(0) 编辑
 
摘要: 一、volatile是什么 volatile在java语言中是一个关键字,用于修饰变量。被volatile修饰的变量后,表示这个变量在不同线程中是共享,编译器与运行时都会注意到这个变量是共享的,因此不会对该变量进行重排序。 volatile关键字的两层语义 一旦一个共享变量(类的成员变量、类的静态成 阅读全文
posted @ 2020-12-22 19:47 H__D 阅读(188) 评论(0) 推荐(0) 编辑
 
摘要: 什么是JMM JMM即为JAVA 内存模型(java memory model)。因为在不同的硬件生产商和不同的操作系统下,内存的访问逻辑有一定的差异,结果就是当你的代码在某个系统环境下运行良好,并且线程安全,但是换了个系统就出现各种问题。Java内存模型,就是为了屏蔽系统和硬件的差异,让一套代码在 阅读全文
posted @ 2020-12-22 17:43 H__D 阅读(168) 评论(0) 推荐(0) 编辑

2020年12月21日

摘要: 本章节内容接上一章【JVM】堆内部划分与对象分配(八) 五、GC 垃圾回收器 5.1、分代收集思想 Minor GC、Major GC、Full GC 我们都知道,JVM的调优的一个环节,也就是垃圾收集,我们需要尽量的避免垃圾回收,因为在垃圾回收的过程中,容易出现STW(Stop the World 阅读全文
posted @ 2020-12-21 20:08 H__D 阅读(514) 评论(0) 推荐(0) 编辑
 
摘要: 一、堆的核心概述 1.1、认识堆内存 堆与进程 堆针对一个JVM进程来说是唯一的,也就是一个进程只有一个JVM 但是进程包含多个线程,他们是共享同一堆空间的 对堆的认识 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。 Java堆区在JVM启动的时候即被创建,其空间大小也就确定了, 阅读全文
posted @ 2020-12-21 17:52 H__D 阅读(499) 评论(0) 推荐(0) 编辑

2020年12月20日

摘要: 对象序列化 对象序列化机制允许把内存中的Java对象转换成与平台无关的二进制流,从而可以保存到磁盘或者进行网络传输,其它程序获得这个二进制流后可以将其恢复成原来的Java对象。 序列化机制可以使对象可以脱离程序的运行而对立存在 序列化的含义和意义 序列化 序列化机制可以使对象可以脱离程序的运行而对立 阅读全文
posted @ 2020-12-20 15:52 H__D 阅读(264) 评论(0) 推荐(0) 编辑
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 55 下一页