- 博客(6)
- 收藏
- 关注
原创 Java中的ThreadLocal简介及应用
Java中的ThreadLocal简介及应用 文章目录Java中的ThreadLocal简介及应用简介实际应用 简介 该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal 实例通常是类中的 private static 字段,它们希望将状态与某一个线程(例如,用户 ID 或事务 ID)相关联。 例如,以下类生成对每个线程唯一的局部标识符。 线程
2021-05-24 07:40:11
683
原创 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
536
原创 Java中的注解一览--Annotation----自定义注解
Java中的注解一览–Annotation----自定义注解 简介 注解是是那些插入到源代码中使用其他工具可以对其处理的标签。注解不会改变程序的编译方式。 在java中可以自定义注解,同时也存在元注解。 注解接口 注解是当做一个修饰符来使用的,每一个注解都必须通过一个注解接口进行定义,如public @interface AnnotationTest,这样就可以定义一个注解,当然仅仅定义了注解还是远远不够的,还需要自定义程序来处理这些注解。 注解是由注解接口来定义的: modifiers @interfac
2021-05-24 07:36:25
192
原创 getClass().getResource()与getClassLoader().getResource()的区别
getClass().getResource()与getClassLoader().getResource()的区别 文章目录getClass().getResource()与getClassLoader().getResource()的区别简介测试结果Resources资源目录最终的问题总结 简介 项目中我们经常要获取资源路径,我们会使用类名.getClass().getResource()和getClassLoader().getResource()。这两个经常乱用,用着用着就迷了, 有些时候路径获取的
2021-05-24 07:33:56
1721
原创 Java源码解读之ArrayList源码解读
Java源码解读之ArrayList源码解读 文章目录Java源码解读之ArrayList源码解读简介实现的接口成员变量构造方法其他方法总结 简介 底层是可变长的数组,随着不断添加元素,其容量也会自动增长,ArrayList实现了List的所有可选操作,允许存放null元素。 但是,ArrayList不是线程安全的,如果想获取线程安全的List,可以通过 List list = Collections.synchronizedList(new ArrayList(...));来获取线程同步的List。 我们
2021-05-01 20:11:07
315
原创 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
909
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人