随笔分类 -  java

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