在看java虚拟机字节码执行引擎的时候,里面提到了java虚拟机里调用方法的字节码指令有5种: invokestatic //调用静态方法 invokespecial //调用私有方法、实例构造器方法、父类方法 invokevirtual //调用 ...
When 什么时候需要了解String的intern方法: 面试的时候 蜜汁尴尬 虽然不想承认,不过面试的时候经常碰到这种高逼格的问题来考察我们是否真正理解了String的不可变性 String常量池的设计以及String.intern方法所做的事情。但其实,我们在实际的编程中也可能碰到可以利用String.intern方法来提高程序效率或者减少内存占用的情况,这个我们等下会细说。 What St ...
2017-12-30 09:58 22 32555 推荐指数:
在看java虚拟机字节码执行引擎的时候,里面提到了java虚拟机里调用方法的字节码指令有5种: invokestatic //调用静态方法 invokespecial //调用私有方法、实例构造器方法、父类方法 invokevirtual //调用 ...
Java中的泛型与数组平时开发用的很多,除了偶尔遇到"NullPointerException"和"IndexOutOfBoundsException"一般也不会遇到太大问题。可是如果深入研究,可能会发现这两种类型有很多奇怪的特点。我查了一些资料,发现包括《Java编程思想》在内对这些问题的解释 ...
在写代码的时候,发现Method可以调用子类的对象,但子类即使是改写了的Method,方法名一样,去调用父类的对象也会报错,虽然这是很符合多态的现象,也符合java的动态绑定规范,但还是想弄懂java是如何实现的,就学习了下Method的源代码。 Method的invoke方法 ...
RandomAccessFile RandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了。这些记录的大小不必相同;但是其大小和位置必 ...
Java的泛型在代码中引用时,形式上很类似于普通的类,可以用来声明对象、方法的参数与返回值类型,甚至还可以作强制类型转换。因此,容易误认为泛型是一个“类名的变量”,当泛型类被参数化引用的时候,这个“变量”就被“赋值”为实际类。事实上这种认识是一个误区。 理论上说,Java中的类是由对应 ...
在写代码的时候,发现从父类class通过getDeclaredMethod获取的Method可以调用子类的对象,而子类改写了这个方法,从子类class通过getDeclaredMethod也能获取到Method,这时去调用父类的对象也会报错。虽然这是很符合多态的现象,也符合java ...
GDB的深入研究 一、GDB代码调试 (一)GDB调试实例 在终端中编译一个示例C语言小程序,保存为文件 gdblianxi.c 中,用GCC编译。 在上面的命令行中,使用-o参数指定了编译生成的可执行文件名为 gdblianxi,使用参数-g表示将源代码信息编译 ...
一、简介 大家都知道,HashMap中定位到桶的位置 是根据Key的hash值与数组的长度取模来计算的。 JDK8中的hash 算法: 取模算法: 二、深入分析 1、取模算法为什么用的是位与运算? 由于位运算直接对内存数据进行操作,不需要转成十进制,因此处 ...