java基础
文章平均质量分 86
SC_IT
这个作者很懒,什么都没留下…
展开
-
Java当中聊一聊String吧
聊聊String吧原创 2022-07-20 18:03:07 · 139 阅读 · 0 评论 -
集合类线程安全问题
ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常并发修改异常1、为何arraylist 线程不安全//ArrayList底层源码 没有synchronized 线程不安全public boolean add(E e) { ensureCapacityInternal(size + 1); // Increments modCount!! elementData[size++] = e;.原创 2020-09-29 21:52:41 · 156 阅读 · 0 评论 -
ThreadPool线程池
ThreadPool线程池为什么 使用线程池降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的销耗。提高响应速度。当任务到达时,任务可以不需要等待线程创建就能立即执行。提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会销耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控线程池的特点线程复用控制最大并发数管理线程1、线程池如何使用Java中的线程池是通过Executor框架实现的,该框架中用到了Executor,Execut原创 2020-09-20 22:02:57 · 314 阅读 · 0 评论 -
线程池的拒绝策略
线程池的拒绝策略1、是什么?等待队列已经排满了,再也塞不下新任务了同时,线程池中的max线程也达到了,无法继续为新任务服务。这个是时候我们就需要拒绝策略机制合理的处理这个问题。2、JDK内置的拒绝策略AbortPolicy(默认):直接抛出RejectedExecutionException异常阻止系统正常运行CallerRunsPolicy:“调用者运行”一种调节机制,该策略既不会抛弃任务,也不会抛出异常,而是将某些任务回退到调用者,从而降低新任务的流量。DiscardOldestP原创 2020-09-20 21:58:42 · 1124 阅读 · 0 评论 -
如何自定义线程池
如何自定义线程池//自定义线程池public class ThreadPoolExecutorDemo { public static void main(String[] args) { //得到自己电脑cpu是几核的 一般maximumPoolSize默认 为自己电脑cpu为几核 +1 或者 +2 System.out.println(Runtime.getRuntime().availableProcessors()); ExecutorSe原创 2020-09-20 21:51:08 · 3437 阅读 · 0 评论 -
Java基础之IO流基本操作
1、Java IO流概念I/O是Input/Output的缩写, I/O技术是非常实用的技术,用于 处理设备之间的数据传输。如读/写文件,网络通讯等。Java程序中,对于数据的输入/输出操作以“流(stream)” 的 方式进行。java.io包下提供了各种“流”类和接口,用以获取不同种类的 数据,并通过标准的方法输入或输出数据。输入input:读取外部数据(磁 盘、光盘等存储设备的数据)到 程序(内存)中。输出output:将程序(内存) 数据输出到磁盘、光盘等存储设 备中。2、IO流的基原创 2020-08-16 13:54:41 · 176 阅读 · 0 评论