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