一、栈和局部变量操作将常量压入栈的指令aconst_null将null对象引用压入栈iconst_m1将int类型常量-1压入栈iconst_0将int类型常量0压入栈iconst_1将int类型常量1压入栈iconst_2将int类型常量2压入栈iconst_3将int类型常量3压入栈iconst_4将int类型常量4压入栈iconst_5将int类型常量5压入栈lconst_0将long类型常量0压入栈lconst_1将long类型常量1压入栈fconst_0将float类型常量0压入栈fconst_1将float类型常量1压入栈dconst_0将double类型常量0压入栈dconst_
一、栈和局部变量操作将常量压入栈的指令aconst_null将null对象引用压入栈iconst_m1将int类型常量-1压入栈iconst_0将int类型常量0压入栈iconst_1将int类型常量1压入栈iconst_2将int类型常量2压入栈iconst_3将int类型常量3压入栈iconst_4将int类型常量4压入栈iconst_5将int类型常量5压入栈lconst_0将long类型常量0压入栈lconst_1将long类型常量1压入栈fconst_0将float类型常量0压入栈fconst_1将float类型常量1压入栈dconst_0将double类型常量0压入栈dconst_
JVM、JDK、JRE你分的清吗前言在我们学习Java的时候,就经常听到"需要安装JDK"、"运行需要JRE"、"JVM调优"等等,这里面的JVM、JDK、JRE你真的分得清吗,今天我们就来讲讲它们之间的关系。JVM学过Java的都知道,JAVA是一次编译,到处运行,这主要是通过JVM,JVM是JAVA跨平台的核心,它主要是指的是JAVA虚拟机,JVM是不能单独安装的。JVM主要功能是屏蔽了不同平台之间的差异性,负责将java字节码文件解释成对应系统可以运行的机器指令,我们在不同操作系统上执行JAVA文件的时候,需要安装对应系统的JDK,编写的JAVA程序首先会被编译成.class文件,再把.
JVM、JDK、JRE你分的清吗前言在我们学习Java的时候,就经常听到"需要安装JDK"、"运行需要JRE"、"JVM调优"等等,这里面的JVM、JDK、JRE你真的分得清吗,今天我们就来讲讲它们之间的关系。JVM学过Java的都知道,JAVA是一次编译,到处运行,这主要是通过JVM,JVM是JAVA跨平台的核心,它主要是指的是JAVA虚拟机,JVM是不能单独安装的。JVM主要功能是屏蔽了不同平台之间的差异性,负责将java字节码文件解释成对应系统可以运行的机器指令,我们在不同操作系统上执行JAVA文件的时候,需要安装对应系统的JDK,编写的JAVA程序首先会被编译成.class文件,再把.
大家好,又见面了。本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面。如果感兴趣,欢迎关注以获取后续更新。在前面的几篇文章中,我们一起聊了下本地缓存的动手实现、本地缓存相关的规范等,也聊了下Google的GuavaCache的相关原理与使用方式。比较心急的小伙伴已经坐不住了,提到本地缓存,怎么能不提一下“地上最强”的CaffeineCache呢?能被小伙伴称之为“地上最强”,可见Caffeine的魅力之大!的确,提到JAVA中的本地缓存框架,Caffeine是怎么也没法轻视的重磅嘉宾。前面几篇文章中,我们一起探索了JVM级别的优秀缓存框架Gu
大家好,又见面了。本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面。如果感兴趣,欢迎关注以获取后续更新。在前面的几篇文章中,我们一起聊了下本地缓存的动手实现、本地缓存相关的规范等,也聊了下Google的GuavaCache的相关原理与使用方式。比较心急的小伙伴已经坐不住了,提到本地缓存,怎么能不提一下“地上最强”的CaffeineCache呢?能被小伙伴称之为“地上最强”,可见Caffeine的魅力之大!的确,提到JAVA中的本地缓存框架,Caffeine是怎么也没法轻视的重磅嘉宾。前面几篇文章中,我们一起探索了JVM级别的优秀缓存框架Gu
大家好,又见面了。本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面。如果感兴趣,欢迎关注以获取后续更新。上一篇文章中,我们继GuavaCache之后,又认识了青出于蓝的Caffeine。作为一种对外提供黑盒缓存能力的专门组件,Caffeine基于穿透型缓存模式进行构建。也即对外提供数据查询接口,会优先在缓存中进行查询,若命中缓存则返回结果,未命中则尝试去真正的源端(如:数据库)去获取数据并回填到缓存中,返回给调用方。与GuavaCache相似,Caffeine的回源填充主要有两种手段:Callable方式CacheLoader方式根据执行调
大家好,又见面了。本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面。如果感兴趣,欢迎关注以获取后续更新。上一篇文章中,我们继GuavaCache之后,又认识了青出于蓝的Caffeine。作为一种对外提供黑盒缓存能力的专门组件,Caffeine基于穿透型缓存模式进行构建。也即对外提供数据查询接口,会优先在缓存中进行查询,若命中缓存则返回结果,未命中则尝试去真正的源端(如:数据库)去获取数据并回填到缓存中,返回给调用方。与GuavaCache相似,Caffeine的回源填充主要有两种手段:Callable方式CacheLoader方式根据执行调
大家好,我是风筝,公众号「古时的风筝」,专注于Java技术及周边生态。文章会收录在JavaNewBee中,更有Java后端知识图谱,从小白到大牛要走的路都在里面。今天说一说GraalVM。GraalVM是Oracle大力发展和想要推广的新一代JVM,目前很多框架都已经渐渐支持GraalVM了,比如我们在用的Spring也已经推出了对GraalVM兼容的工具包了。既然说的这么厉害,那么它到底是何方神圣呢。GraalVM和JVM的关系既然叫做VM,那肯定和JVM有关系的吧。JVM全称Java虚拟机,我们都知道,Java程序是运行在虚拟机上的,虚拟机提供Java运行时,支持解释执行和部分的(JIT)
大家好,我是风筝,公众号「古时的风筝」,专注于Java技术及周边生态。文章会收录在JavaNewBee中,更有Java后端知识图谱,从小白到大牛要走的路都在里面。今天说一说GraalVM。GraalVM是Oracle大力发展和想要推广的新一代JVM,目前很多框架都已经渐渐支持GraalVM了,比如我们在用的Spring也已经推出了对GraalVM兼容的工具包了。既然说的这么厉害,那么它到底是何方神圣呢。GraalVM和JVM的关系既然叫做VM,那肯定和JVM有关系的吧。JVM全称Java虚拟机,我们都知道,Java程序是运行在虚拟机上的,虚拟机提供Java运行时,支持解释执行和部分的(JIT)