首页
关于
留言
归档
动态
友链
推荐
虫洞
开往
憶夣
累计撰写
57
篇文章
累计创建
11
个标签
累计收到
2
条评论
栏目
首页
关于
留言
归档
动态
友链
推荐
虫洞
开往
目 录
CONTENT
深入理解Java虚拟机-憶夣
以下是
深入理解Java虚拟机
相关的文章
2023-04-04
13、线程安全与锁优化
第十三章 线程安全与锁优化13.1 概述在软件业发展的初期,程序编写都是以算法为核心的,程序员会把数据和过程分别作为独立的部分来考虑,数据代表问题空间中的客体,程序代码则用于处理这些数据,这种思维方式直接站在计算机的角度去抽象问题和解决问题,称为面向过程的编程思想。与此相对的是,面向对象的编程思想是
2023-04-04
60
0
0
Java
2023-04-04
12、Java 内存模型与线程
第十二章 Java 内存模型与线程12.1 概述让计算机同时去做几件事J情,不仅是因为计算机的运算能力强大了,还有一个很重要的原因是计算机的运算速度与它的存储和通信子系统速度的差距太大,大量的时间都花费在磁盘I/O 、网络通信或者数据库访问上。衡量一个服务性能的高低好坏,每秒事务处理数( Trans
2023-04-04
70
0
0
Java
2023-04-04
11、晚期(运行期)优化
第十一章 晚期(运行期)优化11.1 概述在部分的商用虚拟机( Sun HotSpot 、IBM J9 )中, Java 程序最初是通过解释器(Interpreter )进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时·,就会把这些代码认定为“热点代码”( Hot Spot Code )
2023-04-04
51
0
0
Java
2023-04-04
10、早期(编译期)优化
第十章 早期(编译期)优化10.1 概述Java 语言的“编译期”其实是一段“不确定”的操作过程:它可能是指一个前端编译器(其实叫“编译器的前端”更准确一些)把* .java 文件转变成* .class 文件的过程;(代表编译器:Sun 的 Javac 、Eclipse IDT 中的增量式编译器(E
2023-04-04
56
0
0
Java
2023-04-04
9、类加载及执行于系统的案例与实战
第九章 类加载及执行于系统的案例与实战*9.1 概述在Class 文件格式与执行引擎这部分中,用户的程序能直接影响的内容并不太多, Class文件以何种格式存储,类型何时加载、如何连接,以及虚拟机如何执行字节码指令等都是由虚拟机直接控制的行为,用户程序无法对其进行改变。能通过程序进行操作的,主要是字
2023-04-04
48
0
0
Java
2023-04-04
8、虚拟机字节码执行引擎
第八章 虚拟机字节码执行引擎8.1 概述执行引擎是Java 虚拟机最核心的组成部分之一。虚拟机的执行引擎则是由自己实现的,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式。在不同的虚拟机实现里面,执行引擎在执行Java代码的时候可能会有解释执行(通过解释器执行
2023-04-04
64
0
0
Java
2023-04-04
7、虚拟机类加裁机制
第七章 虚拟机类加裁机制7.1 概述虚拟机把描述类的数据从C lass 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java 类型,这就是虚拟机的类加载机制。在Java 语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类加载时稍微
2023-04-04
71
0
0
Java
2023-04-04
6、类文件结构
# 第六章 Class文件结构 摘要 本章系统讲解了Java虚拟机的Class文件格式——Java技术体系实现平台无关性和语言无关性的核心基础。 **Class文件**是以8位字节为单位的二进制流,整体结构严格有序且不可变更,采用无符号数(u1/u2/u4/u8)和表两种数据类型组织数据。文件依次包含:**魔数**(0xCAFEBABE)、**版本号**、**常量池**(存放字面量与符号引用)、**访问标志**、**类/父类/接口索引**、**字段表集合**、**方法表集合**及**属性表集合**。其中属性表是最具扩展性的部分,涵盖Code(存储字节码)、Exceptions、LineNumberTable、LocalVariableTable、SourceFile、Signature(泛型信息)、BootstrapMethods等21项预定义属性。 **字节码指令集**以单字节操作码为核心,特点是代码紧凑但牺牲了部分执行性能。指令涵盖加载存储、算术运算、类型转换、对象操作、栈管理、控制转移、方法调用(invokevirtual/invokestatic/invokedynamic等)、异常处理(athrow+异常表)及同步(monitorenter/monitorexit)等类别,大多数指令与具体数据类型关联。 Class文件格式设计上兼顾**稳定性和可扩展性**——主体结构保持不变,新特性通过属性表和访问标志扩展。虚拟机实现方式灵活(解释执行、翻译为其他指令集或JIT编译),公有规范与私有实现分离,共同支撑了Java跨平台运行的基石。
2023-04-04
59
0
0
Java
2023-04-04
5、调优案例分析与实战
本章通过实际案例与实战,旨在提升读者JVM故障处理与调优经验。核心内容总结如下: 1. **高性能硬件部署策略**:对比了64位JDK大内存方案(存在GC停顿长、性能偏低、溢出难排查等劣势)与32位JVM逻辑集群方案(存在磁盘IO竞争、连接池效率低、单节点内存受限及本地缓存冗余等问题),强调需根据系统对停顿的敏感度慎重选择。 2. **典型故障案例分析**:剖析了集群缓存频繁写同步导致内存溢出、堆外内存(如Direct Memory、线程栈、Socket缓冲区等)耗尽引发的异常,以及不当数据结构、外部命令、虚拟内存等导致的系统缓慢或崩溃问题。 3. **实战调优**:以Eclipse运行速度调优为例,展示了具体的性能优化过程。 全文重在培养解决实际内存与性能瓶颈的实战思维。
2023-04-04
42
0
0
Java
2023-04-04
4、章虚拟机性能监控与故障处理王具
第四章 虚拟机性能监控与故障处理王具*4.1 概述给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里说的数据包括: 运行日志、异常堆械、GC 日志、线程快照(threaddump/javacore 文件)、堆转储快照( heapdump/hprof 文件)
2023-04-04
129
0
0
Java
1
2