最新 最热

一文掌握Java注解和反射-你总该用过@Override吧?

注解(Annotation)是从JDK5.0开始引入的新技术。注解不是程序本身,可以对程序作出解释说明(这一点和注释(comment)没什么区别)。但注解可以被其他程序(比如:编译器等)读取。所以如果说注释是给人看的话,注解还是可以给机器...

2022-05-08
0

并发编程系列之Synchronized实现原理

下面给出一个简单例子,synchronized关键字加在两个方法上,另外一个加在方法里

2022-05-07
0

Java基础之NoClassDefFoundError原因

java开发中经常遇到java.lang.ClassNotfoundException异常,ClassNotfoundException异常一般就是编译时找不到类,Console台就会输出异常信息。一般情况下,我们都会rebuild或者clean一下工程,让项目重新编译一遍。...

2022-05-07
0

java(JVM)结束时释放JNI资源(Runtime.addShutdownHook)

如下代码中cmjnidrv是一个动态库,CodeCacheManager在类加载时就自动将cmjnidrv加载进来。cmjnidrv中有多个独立的线程在运行并申请了大量的内存. release()是个native方法,用于释放cmjnidrv中的申请资源并中止cmjnidr...

2022-05-07
0

JUnit4:在测试用例中用FixMethodOrder指定测试方法的执行顺序

2018/09/30补记:感谢评论的指正,@FixMethodOrder的顺序也并不一定是方法在代码中定义的顺序,这与JVM的实现有关,我猜在class中方法名是保存在一个map中,不同JVM对map的实现不同,导致并不一定是按代码定义顺序的。...

2022-05-07
0

Java Lock机制解读

synchronized是Java语言内置的特性,用来实现对资源的同步访问以及用wait和notify来实现线程间通信。如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的...

2022-05-06
0

Java内存问题分析与定位

一般建议 parallel scavenge (JDK8默认GC),适用大部分场景。

2022-05-06
0

Java调试与定位

JPDA  全称 Java Platform Debugger Architecture. 是Java定义的标准调试框架。

2022-05-06
0

初识JAVA:一个HelloWorld 的程序行这个应用,Java 至少会创建几个线程呢?

main:主线程 Reference Handler:处理引用对象本身的垃圾回收 Finalizer:处理用户的Finalizer方法 Signal Dispatcher:外部jvm命令的转发器 Attach Listener: jvm提供一种jvm进程间通信的能力,能让一个进程传命令给另外一...

jvm
2022-05-06
0

自旋锁是什么?

自旋锁:竞争锁的失败的线程,并不会真实的在操作系统层面挂起等待,而是JVM会让线程做几个空循环(基于预测在不久的将来就能获得),在经过若干次循环后,如果可以获得锁,那么进入临界区,如果还不能获得锁,才会真实的将线程在操作...

2022-05-06
1