摘要:
类加载器和双亲委派机制 类加载器 类加载器类型 1.虚拟机自带的加载器 2.启动类加载器(根加载器)BootStrapClassLoader 3.扩展类加载器 ExtClassLoader 4.应用程序加载器 AppClassLoader 双亲委派机制 1.类加载器接收到类加载的请求 2.将这个请求 阅读全文
摘要:
一、Java NIO 简介 原文链接 https://xie.infoq.cn/article/fb524c4992beea6bb4487af87 1、简介 Java NIO(New IO)是从 Java 1.4 版本开始引入的一个新的 IO API,可以替代标准的 Java IO API。NIO 阅读全文
摘要:
异步回调 Future 设计的初衷:对未来的结果建模 package com.example.juc; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; imp 阅读全文
摘要:
ForkJoin详解 ForkJoin fork分支 jion合并 主要思想:把大任务拆分成小任务,最后把小任务的结果合并 工作窃取:ForkJoin维护的都是双端队列,先执行完的线程会去获取未执行完线程的最后的任务来执行,可以提高效率,但是也可能会引入问题 Long 和long性能相差好大,但是L 阅读全文
摘要:
Stream 流式计算 大数据:存储+计算 集合、MYSQL本质就是存储东西的 计算都应该交给流来操作 package com.example.juc; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArg 阅读全文
摘要:
四大函数式接口 新时代程序员必会:lambda表达式,链式编程,函数式接口, Stream流式计算 函数式接口:只有一个函数的接口. Example: Runnable, Callable都是常用的函数式接口 这四大函数式接口可以在javase文档中查看,java.util.function包下 F 阅读全文
摘要:
CPU密集型和IO密集型 CPU密集型,最大化利用CPU资源,将最大线程池数设置为cpu核数 cpu核数:Runtime.getRuntime().availableProcessors() IO密集型:有比较多的IO操作,非常耗费线程 将最大线程数设置为IO线程总数的两倍,或者大于IO线程总数即可 阅读全文
摘要:
池化技术与线程池 池化技术 简介 程序的运行,本质:占用系统的资源!优化资源的使用!=>池化技术 池化技术的应用:线程池、连接池、内存池、对象池... 一句话解释池化技术:事先准备好一些资源,有人要用就来我这里拿,用完之后还给我,下个人再过来用。 线程池的优点: 1.降低资源的消耗 2.提高响应速度 阅读全文
摘要:
同步队列 SynchronousQueue 同步队列即队列容量为1的队列,只能放进一个元素,取出后才能放入另一个 package com.example.juc; import java.util.concurrent.BlockingQueue; import java.util.concurre 阅读全文
摘要:
BlockingQueue 4组API 会抛异常 不抛异常,有返回值 阻塞 超时阻塞 添加 add offer put offer(,,) 删除 remove poll take poll(,) 查询 .element() .peek() -- -- 代码: package com.example. 阅读全文