java基础
文章平均质量分 73
java基础
我是四月君
大龄程序猿
展开
-
Java中的ThreadLocal简介及应用
Java中的ThreadLocal简介及应用文章目录Java中的ThreadLocal简介及应用简介实际应用简介该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal 实例通常是类中的 private static 字段,它们希望将状态与某一个线程(例如,用户 ID 或事务 ID)相关联。例如,以下类生成对每个线程唯一的局部标识符。 线程原创 2021-05-24 07:40:11 · 511 阅读 · 0 评论 -
Java中的反射--java.lang.reflect
Java中的反射–java.lang.reflect简介复习一下反射机制,能够分析类能力的程序称为反射。反射机制可以用来:在运行时分析类的能力在运行时查看对象实现通用的数组操作代码利用Method对象我们先来了解一下基础知识:类是一种模板,我们通过类可以实例出很多对象。我们写的Java源文件,会编译成class文件,JVM加载运行,而且class类在内存中只有一份。在Java中,万物皆对象。class文件也被视为对象,在Java中就是java.lang.Class。在源文件中字段原创 2021-05-24 07:38:01 · 501 阅读 · 0 评论 -
Java中的注解一览--Annotation----自定义注解
Java中的注解一览–Annotation----自定义注解简介注解是是那些插入到源代码中使用其他工具可以对其处理的标签。注解不会改变程序的编译方式。在java中可以自定义注解,同时也存在元注解。注解接口注解是当做一个修饰符来使用的,每一个注解都必须通过一个注解接口进行定义,如public @interface AnnotationTest,这样就可以定义一个注解,当然仅仅定义了注解还是远远不够的,还需要自定义程序来处理这些注解。注解是由注解接口来定义的:modifiers @interfac原创 2021-05-24 07:36:25 · 171 阅读 · 0 评论 -
getClass().getResource()与getClassLoader().getResource()的区别
getClass().getResource()与getClassLoader().getResource()的区别文章目录getClass().getResource()与getClassLoader().getResource()的区别简介测试结果Resources资源目录最终的问题总结简介项目中我们经常要获取资源路径,我们会使用类名.getClass().getResource()和getClassLoader().getResource()。这两个经常乱用,用着用着就迷了,有些时候路径获取的原创 2021-05-24 07:33:56 · 1623 阅读 · 0 评论 -
Java源码解读之ArrayList源码解读
Java源码解读之ArrayList源码解读文章目录Java源码解读之ArrayList源码解读简介实现的接口成员变量构造方法其他方法总结简介底层是可变长的数组,随着不断添加元素,其容量也会自动增长,ArrayList实现了List的所有可选操作,允许存放null元素。但是,ArrayList不是线程安全的,如果想获取线程安全的List,可以通过List list = Collections.synchronizedList(new ArrayList(...));来获取线程同步的List。我们原创 2021-05-01 20:11:07 · 282 阅读 · 0 评论 -
ArrayList扩容的一点疑惑--什么情况下newCapacity - minCapacity < 0
ArrayList扩容的一点疑惑–什么情况下newCapacity - minCapacity < 0我们先来看一段ArrayList源码private void grow(int minCapacity) { // overflow-conscious code int oldCapacity = elementData.length; int newCapacity = oldCapacity + (oldCapacity >> 1)原创 2021-05-01 19:59:44 · 849 阅读 · 6 评论