![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
搬砖升级打怪
这个作者很懒,什么都没留下…
展开
-
Java之I/O系统
Java之I/O系统File类处理文件目录问题的工具类,可以代表一个特定文件的名称,也能代表一个目录下一组文件的名称。如果指的是一组文件集,可以对该集合调用list()方法,这个方法会返回一个字符数组。目录列表器list():不带参数的方法,可以获得该目录下所包含的全部列表list(FileNameFilter f):带目录过滤器作为参数,可以筛选获得我们想要的目录列表。需要实现一个实现了FileNameFilter接口的accept(File dir, String name)方法的类对原创 2020-08-10 20:11:00 · 73 阅读 · 0 评论 -
Executor框架
Executor框架Executor框架的两级模型java的线程被一对一映射为本地操作系统的线程。当java线程启动时,会创建一个本地操作系统的线程,当该java线程终止时,本地操作系统的进程也会被回收。操作系统调度所有的线程并将他们分配给可用的CPU。上层:java多线程程序将应用分解成多个任务,然后由用户级的调度器Executor框架将这些任务映射为固定数量的线程下层:由操作系统的内核将这些线程映射到硬件处理器上。Executor框架的结构任务:包括被执行任务需要实现的接口:Run原创 2020-08-07 23:26:13 · 91 阅读 · 0 评论 -
java中的线程池
java中的线程池java并发编程中运用场景最多的框架,主要优点是: 1. 降低资源消耗:通过重复利用已创建的线程来减少线程创建和消耗的开销 2. 提高响应速度:当任务到达时,可以不用等待线程创建就能立即执行 3. 提高线程的可管理性:避免重复创建,可以对线程池内资源进行统一分配,调优和监控。线程池的实现原理ThreadPoolExecutor的execute()方法的工作步骤:当有一个新的任务被提交到线程池时,线程池先判断核心线程池内的线程是否都在执行任务,如果不是,创建一个新的工作原创 2020-08-07 21:15:17 · 93 阅读 · 0 评论 -
java的并发工具类
java的并发工具类CountDownLatch被用来同步一个或者多个任务,强制去等待其他线程完成操作。CountDownLatch c = new CountDownLatch(3);//初始化一个CountDownLatch的对象的计数器的值为3;任何调用c.await()的方法都被阻塞,直至这个计数值为0;其他的任务完成工作的时候可以调用c.countDown()来减小计数器的值。CountDownLatch对象只能被触发一次,它的计数器的值是不能被重置的。CyclicBarrier可原创 2020-08-07 15:15:54 · 140 阅读 · 0 评论 -
java中的阻塞和非阻塞队列
java中的阻塞和非阻塞队列实现一个队列的线程安全,有两种方式: 1)使用阻塞队列,即出队和入队共用一把锁或者各自使用一把锁来实现 2)非阻塞队列:可以利用循环CAS的方式实现java中的阻塞队列阻塞队列是一个支持两个附加操作的队列,即支持阻塞的插入和移除。 1. 阻塞的插入:当前队列已经满了的时候,队列会阻塞插入元素的线程,直到队列不满 2. 阻塞的移除:当前队列为空的时候,获取元素的队列会阻塞直到队列为非空。处理方式:抛出异常,返回特殊值,一直阻塞或者超时退出。经常用于生产者和消费者原创 2020-08-07 11:44:13 · 589 阅读 · 0 评论 -
Java之解语法糖
java的语法糖语法糖不会改变程序的实质性功能,但能提高效率,减少代码出错的机会。泛型与类型擦除泛型:JDK1.5引入的,本质是参数化类型的应用,即所操作的数据类型被指定为一个参数。这种参数被用在类、接口、方法上,又分别称为:泛型类、泛型接口、泛型参数。与c#的泛型不同的是,前者的泛型在程序源码,编译后的中间语言,或者运行期间的CLR中都是存在的,是真泛型;而java的泛型在编译期的语法分析阶段会被擦除为原生类型,并且在相应的地方添加了强制性类型转换,伪泛型。类型擦除只是在字节码的Code属原创 2020-08-05 23:15:12 · 221 阅读 · 0 评论 -
Java容器类
java的容器类java的容器类可以自动调节大小,用来保存对象,主要分为:1. Collection:独立元素的序列,所有的Collection都可以使用for-each语法。2. Map:存储键值对。for-each语法:java SE5引入的更高效的用于数组和容器的for语法,不必创建int变量去对由访问项构成的序列进行计数,for-each将自动产生每一项。任何返回一个数组的方法都可以使用for-each,并且还可以用于任何Iterable对象。Collection1. List原创 2020-08-02 23:15:08 · 86 阅读 · 0 评论