taming-build-time-initalization:构建时初始化博客文章的演示

时间:2024-05-06 05:15:31
【文件属性】:

文件名称:taming-build-time-initalization:构建时初始化博客文章的演示

文件大小:3.69MB

文件格式:ZIP

更新时间:2024-05-06 05:15:31

Java

驯服本地映像中的构建时初始化 为什么要进行构建时初始化? 更好的峰值性能 根据Java的语义,对类,方法或字段的访问可能导致类初始化。 在即时编译器(JIT)中,这不会带来性能开销:编译代码中的每个类都将初始化,因为解释器已经执行了它。 在诸如GraalVM Native Image之类的提前编译器中,无法删除类初始化检查,因为这会破坏Java语义。 例如,一个简单的字段访问序列将转换为检查类初始化和字段访问的方法,例如, Math.PI 会变成 if (!Math.class.isInitialized) { // hidden field in Native Image intrinsic initialize(Math.class) // invocation of an intrinsic function } Math.PI 额外检查的性能开销在热代码(例


【文件预览】:
taming-build-time-initalization-main
----debugging-build-time-initialization()
--------object-instantiation-tracing()
--------class-initialization-tracing()
----why-build-time-initialization()
--------config-initialization()
--------hot-path-check()
----build-time-initialization-without-regret()
--------avoiding-library-initialization()
----hidden-build-time-initialization-dangers()
--------security-problems()
----.gitignore(700B)
----README.md(22KB)

网友评论