![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 91
我要学爆
这个作者很懒,什么都没留下…
展开
-
ThreadLocal相关
1. 是什么及为什么用 防止任务在共享资源上产生冲突的第二种方式是根除对变量的共享。线程本地存储是一种自动化机制,可以为使用变量的每个不同的线程都创建不同的存储。因此,如果你有5个线程都要使用变量x所表示的对象,那线程本地存储就会生成5个用于x的不同的存储块。主要是,它们使得你可以将状态与线程关联起来。 每个线程维护一个ThreadLocalMap类型的ThreadLocals对象,里面可以存放很多Entry,每个Entry的key是ThreadLocal,value为存放的对象。 2.如何使用 线程原创 2021-03-17 11:08:31 · 92 阅读 · 0 评论 -
集合与并发数据结构
1.常用集合底层实现 1.List 2.Set 3.Map 2.并发数据结构 常用的数据结构,诸如HashMap, ArrayList, HashSet都是非同步的,当多个线程进行读写,可能会抛出异常或数据错误,因此是线程不安全的。但是Java里面陈旧线程安全的数据结构,诸如HashTable, Vector, StringBuffer等,性能过差。因此J.U.C实现了一些新的同步数据结构,它们主要分为两类: 阻塞式集合: 当集合为空或满时,等待 非阻塞式集合: 当集合为空或满时,不等待,直接返回null原创 2021-03-16 10:55:11 · 101 阅读 · 1 评论 -
java内存及相关知识
1. java内存模型 2.垃圾回收算法 3.引用类型 4.静态绑定与动态绑定 5.类加载器与类加载机制原创 2021-03-12 08:52:44 · 112 阅读 · 0 评论 -
java函数传递的参数:基本数据类型和引用数据类型
java函数传递的参数:基本数据类型和引用数据类型 “=”赋值的含义:对于基本类型来说“=”赋值操作是直接改变内存地址上的值,而对引用类型来说“=”赋值其实是改变引用变量所指向的内存地址。 对于基本的数值类型其实传递的是一份数值的拷贝,传入函数之后跟原来的值就没有关系了,在函数中改变这个数的值也不会影响到原来的值。 对于引用数据类型,函数传引用类型的参数,是把实参的地址赋给形参,在方法内进行非赋值的修改是同步的,方法内的形参改变,方法外的实参同样改变。但是如果方法里的形参被重新赋值,就相当于换了一个地址,方原创 2020-06-03 11:46:38 · 433 阅读 · 1 评论 -
java父类子类变量及方法继承问题
java父类子类变量及方法继承问题 1.变量的类型 1.类变量:static variable,每个类共用一个,在类创建时创建,从该类的准备阶段起开始存在,直到系统完全销毁这个类,类变量的作用域与这个类的生存范围相同; 2.实例变量:instance variable,每个对象(实例)都有其各自的。从该类的实例被创建起开始存在,直到系统完全销毁这个实例,实例变量的作用域与对应实例的生存范围相同。 3.局部变量:local vaviable,不存在父子类的继承。 2.变量及方法的继承 public class原创 2020-06-03 18:36:28 · 973 阅读 · 0 评论