摘要: 参数 说明 -eq 等于则为真,否则为假 -ne 不等于则为真,否则为假 -gt 大于则为真,否则为假 -ge 大于等于为真,否则为假 -lt 小于则为真,否则为假 -le 小于等于则为真,否则为假 1、-eq num1=100 num2=100 if test $[num1] -eq $[num2 阅读全文
posted @ 2020-09-30 16:25 Eleanor123 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 一个JVM实例对应一个进程,一个进程对应多个线程。一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。 堆是JVM管理的最大一块内存空间,Java堆在JVM启动的时间就被创建,它的大小也就确定了。堆的大小是可以调整的。 《Java虚拟机规范》规定堆可以处于物理上不连续的内存空间,但是逻 阅读全文
posted @ 2020-09-29 19:44 Eleanor123 阅读(141) 评论(0) 推荐(0) 编辑
摘要: = 判断是否相等,如果相等为真 != 判断是否不相等,如果不相等为真 -z 判断字符串的长度为0,如果为0则为真 -n 判断字符串长度不为0,如不为0则为真 1、判断字符串是否相等 char1='1ruk' char2='ldjsll' if test $char1 = $char2/; then 阅读全文
posted @ 2020-09-29 19:11 Eleanor123 阅读(547) 评论(0) 推荐(0) 编辑
摘要: 判断给出的条件真假,如果为真,它的执行状态为0,否则为非0。 -e判断文件是否存在 -f 普通文件 -L 链接文件 -d 目录 -x 执行权限 -s 判断文件是否是空文件 1、判断文件是否存在 cd bin if test -e f.txt; then echo '文件已存在!'; else ech 阅读全文
posted @ 2020-09-27 19:06 Eleanor123 阅读(911) 评论(0) 推荐(0) 编辑
摘要: 在面向对象的编程中,会很频繁的使用到动态分派,如果每次动态分派的过程中都要重新在类的方法元数据中搜索合适的目标的话可能影响到执行效率。为了提高性能,JVM采用在类的方法区建立一个虚方法表(virtual method table)(非虚方法不会出现在表中)来实现。使用索引代替查找。 每个类中都有一个 阅读全文
posted @ 2020-09-12 18:28 Eleanor123 阅读(816) 评论(0) 推荐(0) 编辑
摘要: 方法返回地址存放调用该方法的PC寄存器的值。一个方法的结束,有两种方式:正常地执行完成,出现未处理的异常非正常的退出。无论通过哪种方式退出,在方法退出后都返回到该方法被调用的位置。方法正常退出时,调用者的PC计数器的值作为返回地址,即调用该方法的指令的下一条指令的地址。而通过异常退出的,返回地址是要 阅读全文
posted @ 2020-09-12 18:15 Eleanor123 阅读(863) 评论(0) 推荐(0) 编辑
摘要: Java语言中方法重写的本质: 1、找到操作数栈顶的第一个元素所执行的对象的实际类型,记作C。 2、如果在类型C中找到与常量中的描述符号简单名称都相符的方法,则进行访问权限校验,如果通过则返回这个方法的直接引用,查找过程结束;如果不通过,则返回java.lang.IllegalAccessError 阅读全文
posted @ 2020-09-12 17:11 Eleanor123 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 动态链接即指向运行时常量池的方法引用,每一个栈帧内部都包含一个指向运行时常量池中该栈帧所属方法的引用。包含这个引用的目的就是为了支持当前方法的代码能实现动态链接(dynamic linking),比如invokedynamic指令。 动态链接的作用就是为了将这些符号引用转换为调用方法的直接引用。在J 阅读全文
posted @ 2020-09-12 16:28 Eleanor123 阅读(228) 评论(0) 推荐(0) 编辑
摘要: JVM字节码指令集一直比较稳定,到Java7中才增加了一个invokedynamic指令,这是Java为了实现动态类型语言支持做的一种改进。但是Java7中没有提供直接生成invokedynamic指令的方法,需要借助ASM这种底层字节码工具来产生invokedynamic指令。到Java8的Lam 阅读全文
posted @ 2020-09-12 16:05 Eleanor123 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 普通调用指令: invokestatic:调用静态方法,解析阶段确定唯一方法版本。 Invokespecial:调用<init>方法、私有及父类方法,解析阶段确定唯一方法版本。 Invokevirtual:调用所有虚方法。 Invokeinterface:调用接口方法。 动态调用指令: Invoke 阅读全文
posted @ 2020-09-12 15:54 Eleanor123 阅读(215) 评论(0) 推荐(0) 编辑