JVM学习
HumphreyHao
985+美硕,国外实习半载,深感好山好水好寂寞,遂放弃flag回国发展。
座右铭:
’傲视群雄,才是真正的美貌‘
展开
-
线程安全of JAVA
Java 线程安全和锁优化 4.1 概述 线程安全即为多个进程无论如何调用一个代码块,它都是安全的,这样称为线程安全 弱化定义:单次调用对象的行为无需担心多线程,即为线程安全 4.2 Java中的线程安全 1.不可变类型: Immutable 对象一定是安全的,类似于string类型 2.绝对线程安全 所有代码块和方法全部使用synchronized修饰 3.相对线程安全 一些线程安全类,vector,hashtable等 4.线程兼容 ArrayList 和Hashmap 5.线程对立 4.3 线程安全的原创 2020-06-17 11:35:42 · 110 阅读 · 0 评论 -
线程模型of JAVA
Java 内存模型和线程 原因:计算机的运算速度和它的存储与通信子系统速度差距太大 衡量一个服务性能的高低好坏,每秒事物处理数(Transactions Per Second,TPS)是最重要的指标,代表着一秒内服务端能响应的请求总数 3.1 硬件效率与一致性 由于计算机的存储设备与处理器的运算速度有几个数量级的差距,现代计算机都加有高速缓存Cache:把运算需要用的数据复制到缓存中,运算结束后再从缓存同步回内存中 引入了一个新的问题:缓存一致性(Cache Coherence),每个处理器都有自己的高速缓原创 2020-06-17 11:35:09 · 91 阅读 · 0 评论 -
垃圾回收of JAVA
深入理解java虚拟机–2 垃圾收集器和内存分配策略 2.1概述 主要关心Java 堆中的部分内存 2.2 对象已死吗 死亡对象=不可能再被以任何方式引用的对象 2.2.1 引用计数算法 Reference Counting 给对象添加一个引用计数器,每当有一个地方引用他,计数器加一;引用失效的时候计数器减1 问题:很难解决对象之间循环引用的问题 2.2.2可达性分析算法Reachability Analysis 从GC Root作为起点向下搜索,搜索走过的路径称为引用链(Reference Chain)原创 2020-06-17 11:33:55 · 88 阅读 · 0 评论 -
内存管理of JAVA
深入理解java虚拟机-Humphrey Java 内存区域与内存溢出异常 1.1 运行时的数据区域 1.1.1程序计数器Program Counter Register 改变程序计数器的值来选取下一条需要执行的指令的字节码 每个线程都要有一个独立的程序计数器,称为线程私有内存,互不影响 此内存区域是唯一一个没有规定任何OutOfMemoryError情况的区域 1.1.2Java虚拟机栈Java Vitual Machine Stack 虚拟机栈描述的是Java方法执行的内存模型:每个方法在执行的同时都原创 2020-06-17 11:23:13 · 118 阅读 · 0 评论