您的位置:首页 > 娱乐 > 八卦 > seo引擎优化方案_网页设计基础介绍_市场营销公司_网站怎么优化搜索

seo引擎优化方案_网页设计基础介绍_市场营销公司_网站怎么优化搜索

2025/2/24 16:39:45 来源:https://blog.csdn.net/yudilan6/article/details/143157258  浏览:    关键词:seo引擎优化方案_网页设计基础介绍_市场营销公司_网站怎么优化搜索
seo引擎优化方案_网页设计基础介绍_市场营销公司_网站怎么优化搜索

JVM是可以运行java代码的一台虚拟的计算机,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收、堆和存储方法区。JVM运行在操作系统之上,它与硬件设备不直接进行交互。

JVM可分为三部分来说:

一、java代码的执行

        a、通过javac命令将java代码编译为class文件

        b、通过类加载器classLoader将代码装载class文件

        c、执行class文件:包括解释执行与编译执行

                1、解释执行:我们编写的代码,经过javac编译器编译为字节码,经过JVM内嵌的解译         器将字节码转换为机器码,这就是解释执行。这种转换过程效率较低。

                2、编译执行:某些JVM的实现(比如Hotspot)提供了JIT编译器,即我们常说的动态编          译器,JIT能够在运行时将热点代码编译成机器码,这就是编译执行。这种方式效率更高。
 

二、内存管理

        a、内存空间

                1、方法区

                2、堆

                3、方法栈

                4、本地方法栈

                5、程序计数器(内存中唯一不会OOM的区域)

        b、内存分配

                1、堆上分配

                2、TLAB分配

                3、栈上分配

        c、回收回收

                1、回收算法

                 copy、Mark-Sweep、Mark-Compact

                2、Sun-JDK

                       A、 分代回收:

                               a、 新生代可用的GC:

                                        串行copy

                                        并行回收copy

                                        并行copy

                              b、  minor GC触发机制与日志格式

                                虚拟机在进行minorGC之前,首先会判断老年代最大的可用连续空间是否大于新生代所有对象的总空间。如果大于就立即执行minorGC; 如果小于,判断是否开启HandlerPromitionFailure,如果未开启直接FullGC;如果开启了HandlerPromitionFailure,JVM会判断老年代的最大连续空间内存是否大于历次晋升平均值的大小,如果小于直接FullGC,如果大于执行minorGC

                             c、   旧生代可用的GC:

                                        串行Mark-Sweep-Compact

                                        并行Compact

                                        并发Mark-Sweep

                             d、fullGC触发机制与日志格式

                        老年代空间不足:如果创建一个大对象,eden区放不下该对象,会直接保存到老年代,但如果老年代的空间也放不下,就会触发FullGC,因此,我们创建对象时尽量避免创建大对象。                

                        持久代空间不足:如果有持久代空间,系统中需要加载的类,调用的方法很多,同时持久代也没有足够的空间,就触发FullGC

                     B、GC参数

                     C、G1

                3、内存状态分析工具:

                        jconsole、jmap、jstack、jstat、visualvm、MAT

        

三、线程资源同步和交互机制

        a、线程资源同步

                线程资源执行机制

                线程资源同步机制

                        Synchronized的实现机制

                        lock/unlock的实现机制

        b、线程交互机制:

                Object的wait/notify./notifyall

                开发包提供的交互机制:countdownlatch、semaphore

        c、线程状态及分析方法:jstack、TDA

TDA的下载地址在http://java.net/projects/tda/downloads/directory/webstart

        

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com