- 博客(4)
- 资源 (2)
- 收藏
- 关注
原创 java 注解的实例化
这里介绍诸如@Override、@Test的注解是如何实现(实例化)的?其实注解是一个被final修饰、继承Annotation的interface。不过既然是interface,那么就不能直接实例化,但是却可以通过getAnnotation(Class)方法取得注解对象,这说明开发人员或内置注解一定在某个地方有个实现类。而这个实现类,其实就是JVM在运行时生成的,名称一般遵循$Proxy
2017-01-28 22:17:03 8744 1
原创 mvn 阶段被执行几次
对于命令:mvn -e -U clean compile package install deploy其中,compile截断究竟被执行几次呢?实际上是compile被执行4次,package被执行3次,install被执行2次,deploy被执行一次。之所以这样,是跟maven的生命周期有关,具体可参见:http://juvenshun.iteye.com/blog/213959
2017-01-28 21:51:00 514
原创 maven 父子模块
父子模块的pom文件里会涉及dependencies、dependecyManagement、packaging元素。packaging元素父模块里的packaging必须是pom。子模块一般是jar,但也可以是pom,此时子模块仅包含一些依赖,没有代码,或者也是父模块。dependencies元素一般出现在父模块的pom文件里。被dependencies包含的依赖会被子项
2017-01-28 21:24:42 3161
原创 JAVA-AbstractQueuedSynchronizer
Java的AbstractQueuedSynchronizer的lock动作,其实是通过CAS操作去修改一个int型整数,该整数表示一个状态,不同的子类对状态的含义可以有不同的解释。而挂起自己则是通过Unsafe类的park()方法(不是Object的wait()哦)来实现,该方法是一个native方法,具体实现在JDK中。唤醒是通过Unsafe类的unpark()方法(也不是Obje
2017-01-01 16:47:01 310
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人