会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Loading
博客园
首页
联系
管理
上一页
1
···
6
7
8
9
10
11
下一页
2022年1月12日
GC基础知识
摘要: 1.什么是垃圾 没有任何引用指向的一个对象或者多个对象(循环引用) 2.如何定位垃圾 引用计数(ReferenceCount) 就是对每个对象都追踪指向它们的引用数,如果引用数为0,就说明这个对象是内存垃圾了。但是这个方法存在缺陷,如果多个对象之间存在循环引用,但是这些对象没有被外部引用,这些对象实
阅读全文
posted @ 2022-01-12 23:16 ZT丶
阅读(355)
评论(0)
推荐(0)
2021年12月25日
运行时数据区和指令
摘要: 1.JVM运行时数据区(JVM Runtime Data Area) 1.1 Program Counter (程序计数器) Each Java Virtual Machine thread has its own pc (program counter) register 每个java虚拟机线程都
阅读全文
posted @ 2021-12-25 00:06 ZT丶
阅读(70)
评论(0)
推荐(0)
2021年12月21日
synchronized详解
摘要: 1. MarkWord详解 以上是Java对象处于5种不同状态时,Mark Word的表现形式,上面每一行代表对象处于某种状态时的样子。其中各部分的含义如下: lock:2位的锁状态标记位,由于希望用尽可能少的二进制位表示尽可能多的信息,所以设置了lock标记。该标记的值不同,整个Mark Word
阅读全文
posted @ 2021-12-21 12:04 ZT丶
阅读(267)
评论(0)
推荐(0)
2021年12月20日
volatile关键字
摘要: 1.volatile的特性 1.多线程之间可见性 2.禁止指令重排序 volatile修饰的内存,不可以重排序,对volatile修饰变量的读写访问,都不可以换顺序 2. volatile和锁的内存语义 从内存语义的角度来说,volatile的写-读与锁的释放-获取有相同的内存效果:volatile
阅读全文
posted @ 2021-12-20 23:51 ZT丶
阅读(40)
评论(0)
推荐(0)
有序性
摘要: 1. 重排序 在执行程序时为了提高性能,编译器和处理器常常会对指令做重排序。重排序分三种类型 1.编译器优化的重排序。编译器在不改变单线程程序语义的前提下,可以重新安排语句的执行顺序。 2.指令级并行的重排序。现代处理器采用了指令级并行技术(Instruction-Level Parallelism
阅读全文
posted @ 2021-12-20 23:26 ZT丶
阅读(198)
评论(0)
推荐(0)
2021年12月19日
JMM内存模型
摘要: 1. 什么是JMM 内存模型可以理解为在特定的操作协议下,对特定的内存或者高速缓存进行读写访问的过程抽象描述,不同架构下的物理机拥有不一样的内存模型,Java虚拟机是一个实现了跨平台的虚拟系统,因此它也有自己的内存模型,即Java内存模型(Java Memory Model, JMM)。因此它不是对
阅读全文
posted @ 2021-12-19 23:48 ZT丶
阅读(128)
评论(0)
推荐(0)
类加载器
摘要: 1.类加载流程以及双亲委派机制 1.1 loading 1.1.1 双亲委派机制(设计原因是出于安全考虑) 类加载器范围: Bootstrap加载路径:sun.boot.class.path ExtClassLoader加载路径:java.ext.dirs AppClassLoader加载路径:ja
阅读全文
posted @ 2021-12-19 23:16 ZT丶
阅读(58)
评论(0)
推荐(0)
2021年12月15日
Class文件格式
摘要: 1.Class文件结构 2.class文件详解 public class T {} 对应的二进制class文件 在idea jclasslib插件下解析出来的二进制文件 对应的二进制文件解释 常量池解释: 比如:cafe babe 0000 0034 0010 0a00 0300 0d 其中0a转换
阅读全文
posted @ 2021-12-15 23:02 ZT丶
阅读(73)
评论(0)
推荐(0)
基础概念
摘要: 1. java从编码到执行 2. jvm跟java无关,只跟class文件相关 3. javac的过程 4. JDK JRE JVM 5. jvm是一种规范 相关资料 https://docs.oracle.com/en/java/javase/13/ https://docs.oracle.com
阅读全文
posted @ 2021-12-15 22:57 ZT丶
阅读(38)
评论(0)
推荐(0)
LRU算法
摘要: 1. 什么是LRU算法 LRU是Least Recently Used的缩写,即最近最久未使用,常用于页面置换算法,是为虚拟页式存储管理服务的。 LRU算法的提出,是基于这样一个事实:在前面几条指令中使用频繁的页面很可能在后面的几条指令中频繁使用。反过来说,已经很久没有使用的页面很可能在未来较长的一
阅读全文
posted @ 2021-12-15 21:40 ZT丶
阅读(1351)
评论(0)
推荐(1)
上一页
1
···
6
7
8
9
10
11
下一页
公告