
进阶提升-JVM
Java虚拟机相关。
Suzuki Mirai
百度一下,你就知道。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第二章——Java内存区域与内存溢出异常
运行时数据区域 虚拟机运行的时候会把内存分成几个不同的部分来管理,包括:线程间共享的Java堆和方法区、线程私有的虚拟机栈和程序计数器,还有个单独拿出来讲的直接内存。 下面这几个除了程序计数器,其它的都会报OutOfMemoryError异常。 程序计数器 这个好理解,就是当前线程执行到哪里了。每个线程都有一个这个计数器。 Java虚拟机栈和本地方法栈 虚拟机栈也是线程私有的,生命周期和线程相...原创 2019-04-08 17:07:31 · 195 阅读 · 0 评论 -
第一章——走进Java
要编译JDK,首先要下载源码原创 2019-03-29 11:54:50 · 339 阅读 · 0 评论 -
第六章——类文件结构
概述原创 2019-05-21 15:02:06 · 257 阅读 · 0 评论 -
第三章——垃圾收集器与内存分配策略
概述 GC需要回答下面这三个问题: 哪些内存需要回收? 什么时候回收? 如何回收? 想来本章是要解决这三个问题的。 对象已死? 谁是垃圾 垃圾回收,得是垃圾才能回收,怎么判断一个对象是不是垃圾呢?有两种办法: 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器加1;当引用失效时,计数器减1;任何时刻计数器都为0的对象就是垃圾。 但是这个东西有缺点:它很难解决对象...原创 2019-05-13 12:27:25 · 150 阅读 · 0 评论 -
第七章——类加载机制
概述 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 类加载的时机 一个类从被加载到虚拟机内存开始,到卸载出内存为止,整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initializa...原创 2019-06-13 16:18:29 · 140 阅读 · 0 评论 -
第十二章——Java内存模型与线程
这一章将了解虚拟机Java内存模型的结构及操作;原子性、可见性、有序性在Java内存模型中的体现;介绍了先行发生原则的规则及使用,了解线程在Java中是如何实现的 硬件的效率与一致性 硬件的多线程问题是什么呢?现在的CPU速度很快,但是内存的读写速度很慢,所以CPU和内存之间加了一些高速读写的内存。每个CPU都有自己的高速内存,如果多个CPU同时处理同一块主内存区域,就有可能各个CPU放在各自...原创 2019-06-29 18:05:06 · 138 阅读 · 0 评论 -
第十三章——线程安全与锁优化
线程安全 1. Java语言中的线程安全 按照线程安全的“安全程度”由强至弱排序,可将Java中各种操作共享数据分为以下五类:不可变、绝对线程安全、相对线程安全、线程兼容和线程对立。 不可变:JDK1.5,Java内存模型被修正之后不可变的对象一定是线程安全的,一个不可变的对象被正确地构建出来(没有发生this引用逃逸的情况),那其外部的可见状态永远也不会改变。 绝对线程安全:在Java A...原创 2019-06-29 18:06:31 · 173 阅读 · 0 评论