首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
jsam
掘友等级
Engineer
|
http://chatgpt-image-generator.com/
公众号:AI技术前沿
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
123
文章 55
沸点 68
赞
123
返回
|
搜索文章
赞
文章( 55 )
沸点( 68 )
JVM指令分析实例四(数组、switch)
本篇为《JVM指令分析实例》的第四篇,相关实例均使用Oracle JDK 1.8编译,并使用javap生成字节码指令清单。 创建一个指定原始类型(如int、float、char等)的数组,并将其引用值压入栈顶。 执行该指令后,将从操作数栈出栈1个参数count,类型为int,表…
JVM指令分析实例三(方法调用、类实例)
本篇为《JVM指令分析实例》的第三篇,相关实例均使用Oracle JDK 1.8编译,并使用javap生成字节码指令清单。 方法的局部变量表,索引值从0开始,且小于局部变量表的长度。 对于实例方法,JVM会隐式传递一个指向当前实例的引用(this),作为方法的第0个局部变量。因…
JVM指令分析实例二(算术运算、常量池、控制结构)
相关实例均使用Oracle JDK 1.8编译,并使用javap生成字节码指令清单。 Java虚拟机通常基于操作数栈进行算术运算。只有iinc指令例外,它直接对局部变量进行自增操作。 以上指令,并没有出现取反的指令操作。因为JVM并没有提供取反指令,而是使用异或指令来实现取反。…
JVM指令分析实例一(常量、局部变量、for循环)
Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的操作码以及跟随其后的零至多个代表此操作所需参数的操作数所构成。虚拟机中许多指令并不包含操作数,只有一个操作码。 Java虚拟机限制操作码的长度为1个字节,因此最多只能有256个指令。 以下指令格式,是基于Oracle…
为什么Java String哈希乘数为31?
前面简单介绍了[ 经典的Times 33 哈希算法 ],这篇我们通过分析Java 1.8 String类的哈希算法,继续聊聊对乘数的选择。 可以看到,String的哈希算法也是采用了Times 33的思路,只不过乘数选择了31。 hash默认值为0. 判断h == 0是为了缓存…
个人成就
文章被点赞
432
文章被阅读
177,434
掘力值
3,904
关注了
29
关注者
152
收藏集
13
关注标签
21
加入于
2018-09-19