java
文章平均质量分 55
_灯塔上的雾
代码的搬运工
展开
-
java将jar包安装到maven本地仓库
发布jar包到本地maven仓库原创 2023-02-01 20:56:46 · 122 阅读 · 0 评论 -
java实现上周各部门员工的登录率高性能实现
java实现查询上周各部门员工的登陆率原创 2022-11-24 16:40:33 · 184 阅读 · 0 评论 -
java并发 - 中断
使用 volatile 类型的域来保存取消状态public class PrimeGenerator implements Runnable { private final List<BigInteger> primes = new ArrayList<BigInteger>(); private volatile boolean cancelled; @Override public void run() { BigInteger p = BigInteger.原创 2021-07-07 14:37:39 · 82 阅读 · 0 评论 -
CompletionServcie的使用
示例:使用 CompletionService 实现页面渲染器可以通过 CompletionServcie 从两个方面来提高页面渲染器的性能:缩短总运行时间以及提高响应性。为每一幅图像的下载都创建一个独立任务,并在线程池中执行它们,从而将串行的下载过程转换为并行的过程:这将减少下载所有图像的总时间。此外,通过从CompletionService 中获取结果以及使每张图片在下载完成后立刻显示出来,能使用户获得一个更加动态和更高响应性的用户界面。程序代码如下:public class Renderer {原创 2021-07-06 11:21:24 · 66 阅读 · 0 评论 -
java并发 - 线程池
线程池,从字面含义来看,是指管理一组同构工作线程的资源池。线程池是与工作队列(work queue)密切相关的,其中在工作队列中保存了所有等待执行的任务。工作者线程(worker thread)的任务很简单:从工作队列中获取一个任务,执行任务,然后返回线程池并等待下一个任务。“在线程池中执行任务” 比 “为每个任务分配一个线程” 优势更多。通过重用现有的线程而不是创建新线程,可以在处理多个请求时分摊在线程创建和销毁过程中产生的巨大开销。另一个额外的好处时,当请求到达时,工作线程通常已经存在,因此不会由于等原创 2021-07-02 14:59:22 · 98 阅读 · 0 评论 -
CAS底层原理
CAS是什么?CAS的全称为Compare-And-Swap,它是一条CPU并发原语。它的功能是判断内存某个位置的值是否为预期值,如果是则更改为新值,这个过程是原子的。CAS并发原语体现在java语言中就是sun.misc.Unsafe类中的各个方法。调用Unsafe类中的CAS方法,JVM会帮我们实现出CAS汇编指令。这是一条完全依赖于硬件的功能,通过它实现了原子操作。再次强调,由于CAS是一种系统原语,原语属于操作系统用于范畴,是由若干条指令组成的,用于完成某个功能。原语的执行必须是连续的,在执行过原创 2021-06-30 20:56:59 · 234 阅读 · 0 评论 -
构建高效且可伸缩的结果缓存
`构建高效且可伸缩的结果缓存`几乎所有的服务器应用程序都会使用某种形式的缓存。重用之前的结果能降低延迟,提高吞吐量,但却需要消耗更多的内存。像许多“重复发明的轮子”一样,缓存看上去都非常简单。然而,简单的缓存可能会将性能瓶颈转变成可伸缩性瓶颈,即使缓存是用于提升单线程的性能。我们将开发一个高效且可伸缩的缓存,用于改进一个高计算开销的函数,我们首先从简单的HashMap开始,然后分析它的并发性缺点,并讨论如何修复他们。## 使用HashMap和同步机制开初始化缓存public interface com原创 2021-06-24 15:10:51 · 811 阅读 · 0 评论