java基础
文章平均质量分 71
专业遛狗师
这个作者很懒,什么都没留下…
展开
-
Java Agent 概念及实操
java agent原创 2022-07-18 16:54:20 · 574 阅读 · 0 评论 -
java线程池ThreadPoolExecutor源码分析
public void execute(Runnable command) { if (command == null) throw new NullPointerException(); int c = ctl.get(); //获取workerCount+runState if (workerCountOf(c) < corePoolSize) { //当前线程小于核心线程数 if (addWorker(command, true)) //.原创 2021-04-28 10:39:08 · 155 阅读 · 0 评论 -
JAVA自带的各种Queue
1、LinkedList有人可能会问,这货怎么还是个Queue?实际上LinkedList不仅实现了List,还实现了Deque,而Deque继承自Queue。public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable我们知道队列的特性,先进先原创 2021-02-26 15:22:10 · 528 阅读 · 0 评论 -
JAVA自带的各种List(基于JDK11)
1、ArrayList平常一直使用的List内部为数组结构,我们来看看里面有什么://默认构造扩容大小private static final int DEFAULT_CAPACITY = 10;//空实例private static final Object[] EMPTY_ELEMENTDATA = {};//区分上面那个(扩容大小和上面不同)private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};/原创 2021-02-25 11:40:54 · 1039 阅读 · 2 评论 -
JAVA中自带的各种Set(基于JDK11)
1、HashSetHashSet底层为HashMap实现,里面的方法也基本是调用HashMap的方法。内部用了一个固定的Object对象作为每个Key对应的Value:// Dummy value to associate with an Object in the backing Mapprivate static final Object PRESENT = new Object();public HashSet() { map = new HashMap<>();原创 2021-02-24 14:24:08 · 366 阅读 · 2 评论 -
JAVA自带的各种HashMap(基于JDK11)
1、HashMapHashMap的数据结构在JDK1.8以下是:(数组+链表)在JDK1.8时更新为(数组+链表+红黑树)为什么要做这种转变呢?原因是当链表长度过长时会查询的时间复杂度时O(n),而转换成红黑树后查询的时间复杂度为O(logn),提高了查询效率,那么什么时候由链表转化为红黑树呢?//树化阈值static final int TREEIFY_THRESHOLD = 8;//树化数组容量阈值static final int MIN_TREEIFY_CAPACI.原创 2021-02-23 15:49:26 · 696 阅读 · 0 评论 -
关于Java中==和equals的区别
基础信息1.Integer a = 1; 该方法调用public static Integer valueOf(int i) { if (i >= IntegerCache.low && i <= IntegerCache.high) return IntegerCache.cache[i + (-IntegerCache...原创 2019-04-25 17:52:41 · 103 阅读 · 0 评论 -
java类初始化顺序及<init>()与<clinit>()的区别猜想
1.<init>()与<clinit>()的区别猜想根据《深入理解java虚拟机》对<clinit>()的定义为:在类加载的初始化阶段是执行类构造器<clinit>()方法的过程。<clinit>()方法是由编译器自动收集类中的所有类变量的赋值动作和静态语句块(static{})中的语句合并产生的,编译器收集语句的顺序是由语句...原创 2019-05-14 18:00:45 · 538 阅读 · 0 评论 -
Java核心技术第10版卷一重点内容
一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值。public class Test { public static void main(String[] args) { int a = 10; doSome(a); Syst...转载 2019-06-18 11:09:19 · 262 阅读 · 0 评论 -
java 线程 interrupt 相关
1.实例方法isInterrupted()该方法会调用isInterrupted(false)private native boolean isInterrupted(boolean ClearInterrupted);返回调用的线程是否被中断,不会改变线程的中断状态注意:如果线程被阻塞, 就无法检测中断状态。这是产生 InterruptedExceptioii 异常的地方...原创 2019-06-14 09:25:11 · 112 阅读 · 0 评论 -
effective java
1.创建和销毁对象第1条 : 用静态工厂方法代替构造器静态工厂方法的一个优点是,不像构造方法,它们是有名字的。一个类只能有一个给定签名的构造方法。 程序员知道通过提供两个构造方法来解决这个限制,这两个构造方法的参数列表只有它们的参数类型的顺序不同。 这是一个非常糟糕的主意。 这样的 API 用户将永远不会记得哪个构造方法是哪个,最终会错误地调用。 阅读使用这些构造方法的代码的人只有在参...原创 2019-07-15 15:22:49 · 172 阅读 · 0 评论