捉虫大师 捉虫大师
3年前
实现一个比LongAdder更高性能的计数器有多难
本文已收录https://github.com/lkxiaolou/lkxiaolou欢迎star。强悍的LongAdderLongAdder是jdk8引入的适用于统计场景的线程安全的计数器。在此之前,实现一款线程安全的计数器要么加锁,要么使用AtomicLong,加锁性能必然很差,AtomicLong性能要好很多,但是在高并发、多线程下,也显得吃力。
Wesley13 Wesley13
3年前
java的特性
java的特性1、Java语言是简单的2、Java语言是面向对象的3、Java语言是分布式的4、Java语言是健壮的5、Java语言是安全的6、Java语言是可移植性的7、Java语言是解释型的8、Java语言是多线程的9、Java语言是动态的语言  Java语言是简单的: 
Wesley13 Wesley13
3年前
java各种面试问题
二、Java多线程相关线程池的原理,为什么要创建线程池?创建线程池的方式;线程的生命周期,什么时候会出现僵死进程;说说线程安全问题,什么实现线程安全,如何实现线程安全;创建线程池有哪几个核心参数?如何合理配置线程池的大小?volatile、ThreadLocal的使用场景和原理;
Wesley13 Wesley13
3年前
java 多线程同步锁的使用 三个售票窗口同时出售20张票
packageThread;/三个售票窗口同时出售20张票程序分析:1.票数要使用同一个静态值2.为保证不会出现卖出同一个票数,要java多线程同步锁。设计思路:1.创建一个站台类Station,继承Thread,重写run方法,在run方法里面执行售票操作
Java CompletableFuture 异步超时实现探索
JDK8是一次重大的版本升级,新增了非常多的特性,其中之一便是CompletableFuture。自此从JDK层面真正意义上的支持了基于事件的异步编程范式,弥补了Future的缺陷。在我们的日常优化中,最常用手段便是多线程并行执行。这时候就会涉及到CompletableFuture的使用。
线上FullGC问题排查实践——手把手教你排查线上问题 | 京东云技术团队
作者:京东科技韩国凯一、问题发现与排查1.1找到问题原因问题起因是我们收到了jdos的容器CPU告警,CPU使用率已经达到104%观察该机器日志发现,此时有很多线程在执行跑批任务。正常来说,跑批任务是低CPU高内存型,所以此时考虑是FullGC引起的大量C
Wesley13 Wesley13
3年前
Java 深入理解volatile关键字
我们知道Java中volatile实现了修饰变量的原子性以及可见性,并且为了实现多线程环境下的线程安全,禁止了指令重排。首先我们先来了解一下happensbefore原则、asifserial语义以及数据依赖性,引用自《Java并发编程的艺术》happensbefore简介从JDK5开始,Java使用新的JSR133内存模型
Wesley13 Wesley13
3年前
Java并发编程与高并发解决方案视频教程
下载地址:百度网盘下载(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.itfxz.vip%2Fthread391411.html)课程简介:【并发编程与高并发难题我们一起攻克】本课程将结合大量图示及代码演示,让你更容易,更系统的掌握多线程并发编程(线程安
性能测试监控指标及分析调优 | 京东云技术团队
一、哪些因素会成为系统的瓶颈?1、CPU,如果存在大量的计算,他们会长时间不间断的占用CPU资源,导致其他资源无法争夺到CPU而响应缓慢,从而带来系统性能问题,例如频繁的FullGC,以及多线程造成的上下文频繁的切换,都会导致CPU繁忙,一般情况下CPU使
绣鸾 绣鸾
1年前
整站下载工具 SiteSucker 「Mac」
SiteSucker是一款非常实用的网站下载工具,具有多种下载方式、支持下载整个网站或特定页面、支持多种文件格式、简单易用和支持多线程下载等特点。用户可以根据自己的需要选择要下载的网站或特定页面,然后选择下载文件的格式和数量,SiteSucker会自动将所