Home
Blue Code Craft
Cancel

JIT C2 Compiler

C2 Compiler 的优化点 内联 方法的调用会引起一定的开销,包括方法调用的跳转和参数传递等。为了减少这些开销,C2 Compiler 会尝试对这些方法进行内联优化 内联优化的基本思想是将方法调用处的代码直接替换为被调用方法的代码,避免了实际的方法调用操作。通过内联,编译器可以在编译时将方法调用的结果直接插入到调用处,减少了方法调用的开销,同时也有利于其他优化技术的应用,如更好的...

Merge Sort

算法原理 通常,归并排序按照如下步骤工作: 将需要排序的集合,拆分成 n 个子集合,直到每个子集合包含一个元素(一个元素的集合默认有序) 重复合并子集合,直到只剩一个集合(即排序后的集合) 时间复杂度 O(nlogn) Top-down 实现 private static Comparable[] aux; public <T extend...

Java Lock

Lock 和 Synchronized 的区别 灵活性: 通过 Locck, 可以更细粒度地控制锁的获得和释放,可以在不同的方法调用 lock() 和 unlock() 方法。但是,Synchronized 必须完全包含在单个方法内部。 公平性: Lock 允许你在获取锁的过程中选择公平性或者非公平性。公平性确保锁按照请求的顺序授予等待的线程,而非公平性可能允许某些线程在其他线程...

Thread Signaling

Java Thread Signaling 能让一个线程给其他线程发送信号,并让这些线程等待这个信号。 这个功能是通过 wait()、notify()、notifyAll() 方法实现的,这些方法是属于 Object 类。 wait(), notify(), notifyAll() Java 有个内部机制,可以让线程等代其他线程的信号时处于非活动状态。 一个线程在任何对象上调用cal...

Java ThreadLocal

Java ThreadLocal 能够让你创建只能由同一线程读取和写入变量,因此,即使两个线程执行相同的代码,并且改代码引用了相同的 ThreadLocal ,这两个线程也看不到彼此的 ThreadLocal 变量。 创建一个 ThreadLocal private ThreadLocal threadLocal = new ThreadLocal(); 设置 ThreadLocal...