![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 71
1Stack1
在校大学生
展开
-
多线程七线程池
AbortPolicy直接丢弃任务,并抛出RejectedExecutionException异常。池化技术:事先准备好一些资源,有人要用就来这里来取,用完之后返还。阿里开发手册上强制要求使用ThreadPoolExecutor。程序的运行会占用系统的资源,为了优化资源的使用=>池化技术。DiscardOldestPolicy尝试和最早的竞争。DiscardPolicy直接丢弃任务,不抛出异常。CallerRunsPolicy哪来到哪去。比如:线程池,连接池,内存池…原创 2022-11-05 16:56:22 · 64 阅读 · 1 评论 -
多线程六阻塞队列
写入队列时:如果队列满了,就必须阻塞等待从队列取时:如果队列是空的,就必须阻塞。原创 2022-11-05 15:10:20 · 56 阅读 · 0 评论 -
多线程五lock的使用
Lock锁,可以得到和 synchronized一样的效果,即实现原子性、有序性和可见性。相较于synchronized,Lock锁可手动获取锁和释放锁、可中断的获取锁、超时获取锁。Lock 是一。原创 2022-11-04 21:38:37 · 86 阅读 · 0 评论 -
多线程四immutable模式
immutable就是不变的,不发生改变的意思。我们之前之所以存在多线程安全问题是因为多个线程共用一个共享数据,并且某些线程会对该数据进行修改操作。immutable模式中存在着确保实例状态不发生改变的类。在访问这些实例时并不需要执行耗时的同步代码,因此如能使用该模式,定能提高程序的性能。原创 2022-11-03 19:17:44 · 150 阅读 · 0 评论 -
多线程三辅助工具类
允许一个或多个线程等待直到在其他线程中执行的一组操作完成的同步辅助类。当计数器无法达到要求的数量,程序一直等待,当不会影响下面的程序运行。当线程数大于计数器的计数。原创 2022-11-03 15:02:32 · 119 阅读 · 1 评论 -
多线程二常用方法
void setPriority(int new Priority) 设置线程的优先级。作用:让当前线程进入休眠,进入阻塞状态,放弃占有CPU时间片,让给其他线程使用。这行代码出现在A线程中,A线程就会进入休眠,出现在B线程,B线程就会进入休眠。sleep睡眠太久,如果希望半道上醒来,也就是怎么叫醒一个正在睡眠的线程。生产满了就不能消费就必须消费线程消费,消费完了就必须让生产线程进行生产。不是阻塞方法,让当前线程让位,让当前线程从运行状态进入就绪状态。暂停当前正在执行的线程对象,并执行其他线程。原创 2022-11-01 22:05:59 · 47 阅读 · 0 评论 -
BigDecimal的使用
为什么会有误差呢,因为计算机底层存储数据都是用二进制存储的当存储整数的时候不会造成精度损失,但是当存储小数的时候他会一直乘二直到最后结果为0,当我们用double来存储上面两个数的时候就会截取一部分因为double存储的小数位数有限,如果直接输出,展示之类的操作的时候是没有太大问题但是一旦进行运算就会让误差变大.向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向上舍入。向零方向舍入的舍入模式。原创 2022-11-01 17:07:05 · 699 阅读 · 1 评论 -
泛型机制初探
sout(o);//创建对象的时候指定了泛型是String类型 GenericTest < String > gt = new GenericTest < >();//类型不匹配 //gt.doSome(100);//返回值类型不匹配 //int i=mi.get();} }原创 2022-10-31 12:53:18 · 49 阅读 · 0 评论 -
注解初步理解
用来标注注解类型的注解称为元注解。原创 2022-10-30 14:28:29 · 110 阅读 · 0 评论 -
Java反射初步理解
反射可以操作已经编译的java文件(即class文件),它赋予了我们在运行时分析类以及执行类中方法的能力。通过反射你可以获取任意一个类的所有属性和方法,你还可以调用这些方法和属性。优点:使代码更灵活,比如可以在运行时分析类以及执行类中方法缺点:使程序不安全,比如无视编译阶段的泛型参数检测 ,且性能更低。原创 2022-10-29 20:09:43 · 125 阅读 · 1 评论 -
Java多线程一
会形成这样结果的原因是:假如t1先执行这个方法,t1就会得到然后占有这把锁,执行同步代码块中的程序,并且是一直占有这把锁,直到同步代码块结束,才释放这把锁.当t1占有这把锁的时候t2来执行这个方法,也会遇到synchronized,就去占有这把锁,但是现在锁被t1占有,t2只能等t1执行完释放锁的时候得到这把锁。线程就是一个进程中的执行单元,一个进程中能产生多个线程.但是同一个进程中的这些线程共享进程中的堆和方法区资源,但每个线程自己的栈和程序计数器不共享,所以进程之间切换工作负担要比进程小。原创 2022-10-28 20:57:42 · 284 阅读 · 1 评论 -
JavaIO知识简述
IO即input(输入)/output(输出),input就是将数据加载到计算机内存,output就是将数据加载到文件,数据库等设备中.IO流主要包含-字节流字符流输入流Reader输出流Writer。原创 2022-10-28 15:02:55 · 260 阅读 · 0 评论 -
Java集合简单概述
Map:使用键值对存储,Key是无序的,不可重复的,Value是无序的,可重复的,如同数学上的函数y=f(x),x是相当于key不可重复的,y相当于value可重复的。ArrayList:底层使用Object[]存储,适合用于频繁的查找,线程不安全。HashMap,线程不安全,基于HashTable实现。存储的数据是有序的,可重复的(先进先出)treeMap,基于红黑树实现,线程不安全。List:存储的元素是有序的,可重复的。Set:存储的元素是无序的,不可重复的。TreeSet底层是红黑树,元素有序。原创 2022-10-27 15:28:45 · 331 阅读 · 0 评论 -
Java中copy一维数组以及其他数据结构转换为数组
Java中copy一维数组以及其他数据结构转换为数组原创 2022-10-26 16:26:36 · 221 阅读 · 0 评论 -
枚举的使用
我看过几个关于枚举博客和视频,他们说枚举比静态常量的可扩展行更强,但是我认为静态常量的类型又不是只是固定的int,double....也可以使用自定义类型来扩展, 所以我虽然认同枚举安全性更高但是扩展行是否强,我不敢苟同,如果有不同的看法欢迎在评论区讨论。我学了javase之后,感觉学的最没用的就是枚举,这玩意感觉就用不上,但是最近使用springsecurity做项目的时候使用官方给的枚举第一次感受到这玩意用起来多舒畅,这与枚举的调用的时候相似(你最多传递个null)这是官方提供的状态码的枚举。原创 2022-10-24 15:31:10 · 396 阅读 · 0 评论