天天看点

阿里云开发者学堂配套教材《JVM实战》开放下载

在学习Java 虚拟机的时候你可能有以下疑问:

Java虚拟机的原理是什么?

JNI、类加载器的原理又是什么?

Safepoint机制又是怎样的?

阿里云开发者学堂配套教材《JVM实战》来啦!6章内容,帮你轻松解决以上难题。配合9000+人学习的

Java 虚拟机原理视频课程 ,技术进阶不是梦! 点击免费下载 《JVM实战》 配套视频课程地址: https://developer.aliyun.com/graph/java
阿里云开发者学堂配套教材《JVM实战》开放下载
阿里云开发者学堂配套教材《JVM实战》开放下载

复制该链接到浏览器完成下载i https://developer.aliyun.com/topic/download?id=7851

 ——学习更多看这里——

本电子书配套视频课程地址:

阿里云开发者学堂配套教材《JVM实战》开放下载

—精彩内容抢先看—

JNI in Java

掌握Java和Native之间的互相调用,大大丰富java的使用场景。了解原理,对于学习JVM/故障定位更加得心应手。

点击查看更多>>

Safepoint机制

safepoint会把整个jvm的那些应用线程给暂停掉这里主要是关心的当vm thread发出请求的时候,Java的实验者能够及时的响应safepoint的请求,能够马上的自己给停下来,如果有一些线程它停下来了,另一些线程还在运行,这样的话其他的线程就会等于是浪费时间在等待,所以说及时响应是它一个很重要的指标。

类加载器原理

关于类加载部分,首先用户有Java文件,然后Java文件用Java c去编译就可以得到.class文件,接着虚拟机会加载.class文件变成虚拟机的元数据。比如在c++里边会变成Klass *,Method *,ConstantPool * 等,这些都是Java虚拟机里元数据的描述。

Dragonwell特性: 多租户

以前阻塞的API是支持的完全不需要改代码,可以把以前的用协程写代码直接切换到协程模型,进行一个模型转换,这样从java thread和Pthread就操作系统1:1的模型变到调用大量wisp变成少量操作统线程,性能大大提高。

Dragonwell特性: JWarmup

Java的方法要被执行时,首先这个方法所在的类需要被JVM加载,这个过程包括各类文件的验证、解析、链接以及类的初始化。当这个类被加载进来了以后,JVM就可以去执行这个方法。

Dragonwell特性: Wisp

上下文切换会吃掉宝贵的CPU资源,大家很多情况下对上下文有误区,进出内核和调度之间其实很大差异的。假如像刚才这种场景,我们看到多个线程来回调用,那一个线程当它资源耗尽或者比较阻塞的时候,下个线程选谁?其实操作系统需要进行调度,真正的损耗远大于想象。

阿里云开发者藏经阁

阿里云开发者社区——藏经阁系列电子书,汇聚了一线大厂的技术沉淀精华,爆款不断。点击链接获取海量免费电子书:

https://developer.aliyun.com/ebook
阿里云开发者学堂配套教材《JVM实战》开放下载