摘要: 原作者系列文章链接:并发编程系列博客传送门 前言# 在网上看了很多文章,也看了好几本书中关于JMM的介绍,我发现JMM确实是Java中比较难以理解的概念。网上很多文章中关于JMM的介绍要么是照搬了一些书上的内容,要么就干脆介绍的就是错的。本文试着用比较简洁的语言介绍清楚JMM到底是什么,解决了Jav 阅读全文
posted @ 2020-10-14 18:43 皮卡丘和羊宝贝😄 阅读(151) 评论(1) 推荐(0) 编辑
摘要: 本文转载自:再有人问你Java内存模型是什么,就把这篇文章发给他。 网上有很多关于Java内存模型的文章,在《深入理解Java虚拟机》和《Java并发编程的艺术》等书中也都有关于这个知识点的介绍。但是,很多人读完之后还是搞不清楚,甚至有的人说自己更懵了。本文,就来整体的介绍一下Java内存模型,目的 阅读全文
posted @ 2020-10-14 16:49 皮卡丘和羊宝贝😄 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 四、类加载与字节码技术 1、类文件结构 首先获得.class字节码文件 方法: 在文本文档里写入java代码(文件名与类名一致),将文件类型改为.java java终端中,执行javac X:...\XXX.java 以下是字节码文件 0000000 ca fe ba be 00 00 00 34 阅读全文
posted @ 2020-10-14 14:27 皮卡丘和羊宝贝😄 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 三、垃圾回收 1、如何判断对象可以回收 引用计数法 弊端:循环引用时,两个对象的计数都为1,导致两个对象都无法被释放 可达性分析算法 JVM中的垃圾回收器通过可达性分析来探索所有存活的对象 扫描堆中的对象,看能否沿着GC Root对象为起点的引用链找到该对象,如果找不到,则表示可以回收 可以作为GC 阅读全文
posted @ 2020-10-14 14:25 皮卡丘和羊宝贝😄 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 二、内存结构 整体架构 1、程序计数器 作用 用于保存JVM中下一条所要执行的指令的地址 特点 线程私有 CPU会为每个线程分配时间片,当当前线程的时间片使用完以后,CPU就会去执行另一个线程中的代码 程序计数器是每个线程所私有的,当另一个线程的时间片用完,又返回来执行当前线程的代码时,通过程序计数 阅读全文
posted @ 2020-10-14 14:21 皮卡丘和羊宝贝😄 阅读(97) 评论(0) 推荐(0) 编辑
摘要: JVM学习 本博客是根据解密JVM【黑马程序员出品】教学视频学习时,所做的笔记 一、什么是JVM 定义 Java Virtual Machine,JAVA程序的运行环境(JAVA二进制字节码的运行环境) 好处 一次编写,到处运行 自动内存管理,垃圾回收机制 数组下标越界检查 比较 JVM JRE J 阅读全文
posted @ 2020-10-14 14:15 皮卡丘和羊宝贝😄 阅读(67) 评论(0) 推荐(0) 编辑