2024年 5月 21日
2024年 5月 20日
OpenJDK Java类库一定有JNI实现吗?
不是! Java本身是一门语言,本身可以实现一些不依赖操作系统的功能,比如计算是否是闰年、加减乘除等等。例如LocalDate类不需要JNI调用C/C++接口或依赖操作系统系统调用,java代码即可搞...
2024年 5月 20日
volatile不止是C/C++才有?
Java一样有volatile关键字,和C/C++ volatile作用类似,可以保证其修饰的变量一定从内存读写,而不会从缓存读取,对于某些易变变量而言很有用。注意,它不保证原子性,原子操作需要用sy...
2024年 5月 19日
macOS系统的Java支持?
最早苹果平台的JVM是由苹果公司基于Oracle公司某版JVM并加入适合macOS的功能修改而成。不过,苹果后来发现,Java并不是一个特别适合macOS开发,反而更注重ObjC和Swift的开发。
2024年 5月 19日
如何反编译java字节码?
javap提供此功能,-c参数可查看字节码。例如:t.class为已编译的字节码,javap -c t可得到如下: public static void main(java.lang.String[]...
2024年 5月 19日
Java为什么不能用全数字的文件名?
有时,我们想用一个简单的文件名以方便做测试,比如1.c或者1.swift等等。但到Java语言就发现不奏效了。Java语言要求文件名(不包括扩展名)和类名保持一致,数字虽然可以当文件名,但不能当类名(...
2024年 5月 18日
2024年 5月 18日
定义比较关系为什么不需要"< == > >= <="都定义?
基于简单的数学公式: 只需要实现<和== 或者 >和==即可定义所有关系运算符。C++/C#/Swift默认用前者,定义小于<和等于==运算符可以实现所有关系运算符操作。