
JVM
坚持是一种修行
如果你已经看到黑暗中的一点光亮,那就不要犹豫
展开
-
JDK、JRE和JVM 的关系——0.0.1
1.JDK、JRE和JVMJDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。然后我们来看JREJRE(Java Runtime Environment,Java...转载 2019-03-29 11:46:30 · 121 阅读 · 0 评论 -
JVM——基础篇V1.0.1
一.什么是JVM1.解释翻译,JVM(Java Virtual Machine,Java虚拟机)java虚拟机中的Java解释器负责将字节码文件(编译器编译成为.class文件)解释成为特定的机器码进行运行在任何具有Java虚拟机的计算机或者电子设备.[实际上java.exe程序只是一个执行的外壳,它会装载jvm.dll libjvm.so 这个动态连接库才是java虚拟机的实际操作处理所在...原创 2019-06-25 21:30:17 · 249 阅读 · 0 评论 -
JVM参数调优-设置堆、新生代、老年代、持久代大小
一、根据程序的运行状况查看其活跃的数据量①、活跃的数据:1.应用程序运行于稳定状态时,老年代占用的java堆大小2.应用程序运行于稳定状态时,永久代占用的java堆大小其实就是FullGc后这2个数据的大小②、动手测试:1.测试代码:public class A { int[] storage = new int[102400]; int[] extra...转载 2019-06-25 23:35:38 · 23475 阅读 · 2 评论 -
栈帧、局部变量表、操作数栈
1.定义 栈帧(stack frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。每一个方法从调用开始到执行完成的过程,就对应着一个栈帧在虚拟机栈里面从入栈到出栈的过程。 对于执行引擎来说,活动线程中,只有栈顶的栈帧是有效的,称为当前栈帧,这...转载 2019-06-27 16:57:52 · 387 阅读 · 0 评论 -
JVM——GC垃圾回收V1.0.1
一.-x 和 -xx 参数https://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.htmlX参数是非标准的参数-Xint:解释执行 | -Xcomp:第一次使用就编译成本地代码 | -Xmixed:混合模式,jvm自己来决定是否编译成本地代码。平时我们java -ve...原创 2019-06-27 18:32:26 · 432 阅读 · 0 评论 -
JVM之对象分配:栈上分配 & TLAB分配
1. Java对象分配流程 2. 栈上分配 2.1 本质:Java虚拟机提供的一项优化技术 2.2 基本思想: 将线程私有的对象打散分配在栈上 2.3 优点: 2.3.1 可以在函数调用结束后自行销毁对象,不需要垃圾回收器的介入,有效避免垃圾回收带来的负面影响 2.3.2 栈上分配速度快,提高系统性能 2.4 局...转载 2019-06-27 21:08:35 · 670 阅读 · 1 评论 -
从实际案例聊聊Java应用的GC优化 ——原创: 录录 美团技术团队
https://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651747273&idx=1&sn=7f947064a41eeecb6816a5d0838581ae&chksm=bd12aa848a65239289d5c39264e89bd175f377f6554bfe93b37ad6498cf13deff356333...转载 2019-06-27 21:53:40 · 295 阅读 · 0 评论 -
JVM 7种垃圾收集器的特点及使用场景
这里讨论的收集器基于JDK1.7Update 14之后的HotSpot虚拟机,这个虚拟机包含的所有收集器如下图3-5所示:上图展示了7种作用于不同分代的收集器,如果两个收集器之间存在连线,就说明它们可以搭配使用。1.Serial收集器Serial收集器是最基本、发展历史最悠久的收集器。是单线程的收集器。它在进行垃圾收集时,必须暂停其他所有的工作线程,直到它收集完成。...转载 2019-06-29 21:30:11 · 210 阅读 · 0 评论 -
JAVA_OPTS设置
启动文件修改在windows环境下,tomcat下的~/bin/catalina.bat文件,在文件头部加入:set "JAVA_OPTS=%JAVA_OPTS% -server -Xms5120m -Xmx10240m -XX:PermSize=640M -XX:MaxPermSize=2560m"在linux环境下,tomcat下的~/bin/catalina.sh文件,在文件头部加入:...转载 2019-07-31 17:05:45 · 3345 阅读 · 0 评论