随笔分类 - java
摘要: 在java代码中,代码为了保证逻辑的原子性,往往会给代码加锁,防止多线程并发下对非原子性操作的执行,造成逻辑紊乱。 aqs是由Doug Lee写的对于synchronized的优化,aql是clh锁,即Craig, Landin, and Hagersten (CLH),CLH锁也是一种基于链表
阅读全文
摘要: class文件分析 以最简单的helloworld入手进行分析: java代码: public class ClassTest{ public static void main(String args[]){ System.out.println("Hello World."); } } jav
阅读全文
摘要: MacOS 编写HelloWorld.java public class HelloWorld { public native void hello(); static { //设置查找路径为当前项目路径 System.setProperty("java.library.path", ".");
阅读全文
摘要: CountDownLatch public class CountDownLatchTest { private CountDownLatch countDownLatch = new CountDownLatch(THREAD_COUNT); private static int THREAD
阅读全文
摘要: 锁升级: 在java当中,因为并发的情况,同一段代码会被多个线程同时执行,造成其中的变量没有达到想要的效果,即非原子性。 为了解决这一个问题,java中提供了有synchronized关键字。 synchronized是依赖jvm内部对象Monitor实现的,通过进入与退出Monitor对象实现
阅读全文
摘要: hashmap是java里面的一种集合,是用来存放多个key-value形式的对象。 继承图: 其中具有的成员变量为: DEFAULT_INITIAL_CAPACITY = 1 << 4 默认容量值 MAXIMUM_CAPACITY = 1 << 30 最大容量值,限制数组的最大容量 DEF
阅读全文
摘要:Java中的位运算 原码:用第一位表示符号,其余位表示值。 反码:正数的补码反码是其本身,负数的反码是符号位保持不变,其余位取反。 补码:正数的补码是其本身,负数的补码是在其反码的基础上+1。 正数: 原码=反码=补码 负数:反码=原码除符号位每位取反; 补码 = 反码+1 1、基本位运算 priv
阅读全文

浙公网安备 33010602011771号