资料内容:
java 性能不高的核心原因
java 性能不高的原因很多,非常非常多, 很多人通过博客的形式,从不同的维度进行各种分析
但是尼恩在这里,浓缩再浓缩,归纳再归纳,
本质上java 性能不高的核心原因, 有两个本质的架构缺陷,具体如下
核心原因之一:一对一线程架构缺陷
核心原因之二:二元运行架构缺陷
一个一个来看吧。
核心原因之一:一对一线程架构缺陷
用户线程和内核线程一对一绑定,导致多线程场景 用户态和内核态频繁切换。
和Java相比,GO的线程架构就优越得多, 去掉了 用户线程和内核线程一对一绑定。
GO的业务线程的切换以及线程操作,发生在用户态,所以不需要系统调用,省去了大量的 系统调用开
销和 用户态和内核态频繁切换开销。
核心原因之二:二元运行架构缺陷
为了跨平台,Java的执行架构进行了彻底的解耦,将一元的二进制程序,解耦为二元运行架构,包括一
份 JVM程序 和 一份二进制业务程序。
Java 将执行 字节码程序的程序进行独立,独立为 JVM。
并且,不同的操作系统,Java提供不同的JVM实现版本,通过这种变JVM不变业务字节码的方式,实现
跨平台。