
JVM
Don_mingo
这个作者很懒,什么都没留下…
展开
-
JAVA虚拟机学习笔记
体系结构 内存模型 JVM内存区域模型 1.方法区 方法区包括存储虚拟机加载的类信息的区域和运行时常量池 虚拟机加载的类信息 类型信息:类的完整名称(eg:java.lang.String);类的直接父类的完整名称;类的直接实现接口的有序列表(因为一个类直接实现的接口可能不止一个,因此放到有序列表中);类的修饰符 可以看做对类的一个信息登记:比如这个类的名字叫啥,父类是谁,有没...原创 2019-03-06 15:44:09 · 267 阅读 · 0 评论 -
JAVA中堆(heap)和栈(stack)的区别
在学习JVM的内存模型的时候,堆(heap)和栈(stack)是JVM的内存区域中的重要组成部分 堆(Heap) 所有的应用可以从一个系统共有的空间中申请供自己使用的内存,这个共用的空间就叫做Heap;建立对象时,在Heap中的内存实际建立这个对象,而对象实例在Heap中分配好以后,需要在Stack中保存一个4字节的Heap内存地址,用来定位该对象实例在Heap中的位置,便于找到该对象实例 ...原创 2019-02-25 15:37:14 · 659 阅读 · 0 评论 -
JAVA中静态方法和非静态方法的区别
静态方法(static method) 与静态成员变量一样,属于类本身,在类装载的时候被装载到内存中,不自动进行销毁,会一直存在内存中,直到JVM关闭; 非静态方法(non-static method) 又称实例化方法,属于实例对象,实例化之后才会分配内存,必须通过类的实例来引用,当实例对象被JVM回收之后,也跟着消失 静态方法和实例方法的区别 1.生命周期 静态方法的生命...原创 2019-02-25 16:17:18 · 5054 阅读 · 1 评论 -
Java性能调优
针对Java虚拟机内存的调优,大多数都是针对特定情况。但是在实际应用中,调优很难与Java运行动态特征的实际情况和工作负载保持一致。也就是说,几乎不可能通过单纯的调优来达到消除GC的目的,我们所做的内存调优只是尽可能少的去减少内存消耗,进一步可以减少因为内存不足而引起的GC不断 真正影响Java程序性能的,就是碎片化。碎片是Java堆内存中的空闲空间,可能是TLAB剩余空间,也可能是被释放掉的具...原创 2019-04-15 18:06:02 · 1902 阅读 · 0 评论 -
GC调优是必须的嘛?
:GC调优是必须的嘛? 更准确的说,基于Java的服务是否一定需要进行GC调优? GC调优并非所有Java服务都必须做的事情。特别是你已经使用了下面的选项或者事实: 1. ...原创 2019-05-14 16:50:07 · 223 阅读 · 0 评论 -
GC调优的方法
GC调优的方法: 在我们做GC的调优之前,我们需要知道下面的事情: 多数的Java应用不需要在服务器上进行GC优化; 多数导致GC问题Java应用,都不是因为我们参数设置错误,而是代码问题; 在应用上线之前,先考虑将机器的JVM参数调整至最佳; 减少创建对象的数量; 减少使用全局变量和大对象; GC优化是到最后不得已才采用的手段; 在实际使用中,分析GC情况优化代码比优化GC参数要...原创 2019-05-14 17:21:20 · 3305 阅读 · 0 评论