Java技术体系 Java优点 摆脱了硬件平台的约束, 运行在虚拟机之上, 实现了一次编写, 到处运行. 提供了一种相对安全的内存管理和访问机制, 避免了大部分的内存泄漏和指针访问越界. 实现了热点代码检测和运行时及时编译优化, 使得Java程序随着运行时间的增加性能得到提升. Java有着一套完善 ...
分类:
编程语言 时间:
2021-05-24 10:32:41
阅读次数:
0
系统级性能优化通常包括两个阶段:性能剖析(performance profiling)和代码优化。 性能剖析的目标是寻找性能瓶颈,查找引发性能问题的原因及热点代码。 代码优化的目标是针对具体性能问题而优化代码或编译选项,以改善软件性能。 perf是一款Linux性能分析工具。Linux性能计数器是一 ...
分类:
系统相关 时间:
2020-10-10 16:54:23
阅读次数:
32
1.JVM新加“即时编译”,将热点代码直接编成底层代码,减少增加翻译之后可能存在的通信歧义或效率问题; 2.字符集和字符编码 字符集:Unicode 字符编码: utf-8(这个是可变编码,需要1位用1位,需要15位放15位,最大可扩容到4字节,标记隔离的方式是这个字符的前2位来标识是否继续读); ...
分类:
编程语言 时间:
2020-07-14 18:37:38
阅读次数:
66
1、Java执行过程 Java文件通过javac静态编译为class文件 class文件有2种方式执行:解释执行、JIT即时编译后执行 通常情况下 默认解释器边解释边运行,但对于一些热点代码会首先编译为机器码,缓存起来,后续执行执行缓存的机器码即可,提升执行效率 2、热点代码 Java采用计数器方式 ...
分类:
其他好文 时间:
2020-07-12 20:36:53
阅读次数:
84
简介 上篇文章我们讲到了JIT中的LogCompilation,将编译的日志都收集起来,存到日志文件里面,并且详细的解释了LogCompilation日志文件中的内容定义。今天我们再和小师妹一起学习LogCompilation的姊妹篇PrintCompilation,看看都有什么妙用吧。 Print ...
分类:
其他好文 时间:
2020-06-24 09:15:42
阅读次数:
64
热点代码:被多次调用的方法或循环体。(大概1w次?) jvm两种运行模式: 执行java -version 可以看到Server或client 模式 ,其中server 模式启动较慢但是稳定运行后执行速度较快,因为server 模式采用了优化方式是重量级JVM模式 JVM运行时是动态解释java 字 ...
分类:
其他好文 时间:
2020-01-07 22:40:00
阅读次数:
101
热点代码: 虚拟机中的字节码(.class文件内容)是由解释器( Interpreter )完成编译的,当虚拟机发现某个方法或代码块的运行特别频繁的时候,就会把这些代码认定为“热点代码”。 什么是jit编译: 为了提高热点代码的执行效率,在运行时,即时编译器(JIT)会把这些代码编译成与本地平台相关 ...
分类:
其他好文 时间:
2019-10-14 01:09:36
阅读次数:
110
####JAVA概念介绍 0. 面试: 1. 谈谈你对 Java 平台的理解 1. 对于“Java 是解释执行”这句话,这个说法不太准确。 * 我们开发的 Java 的源代码,首先通过Javac 编译成为字节码(bytecode),然后,在运行时,通过 Java 虚拟机(JVM)内嵌的解释器将字节码 ...
分类:
编程语言 时间:
2019-08-14 09:38:51
阅读次数:
106
https://juejin.im/post/5c890f21f265da2d993dc692 CodeCache是热点代码的暂存区,经过即时编译器编译的代码会放在这里,它存在于堆外内存。 JVM内部会先尝试解释执行Java字节码,当方法调用或循环回边达到一定次数时,会触发即时编译,将Java字节码 ...
分类:
系统相关 时间:
2019-05-28 12:53:00
阅读次数:
165
似乎到处都在谈论Java技术,那么Java究竟是什么呢?接下去的文章将讲解Java是怎样的一种语言和技术平台,并且会告诉你Java能用来做什么。 关于Java Java既是一种语言也是一个平台。 Java语言 Java是一种高级语言,它具有以下几个特征: 简单 面向对象 分布式 多线程 动态 架构中 ...
分类:
编程语言 时间:
2019-01-27 19:09:42
阅读次数:
212