排序
zookeeper源码(04)leader选举流程
在'zookeeper源码(03)集群启动流程'中介绍了leader选举的入口,本文将详细分析leader选举组件和流程。 leader选举流程(重要) quorumPeer的start阶段使用startLeaderElection()方法启动选举 LOOK...
一个java文件的JVM之旅
准备 我是小C同学编写得一个java文件,如何实现我的功能呢?需要去JVM(Java Virtual Machine)这个地方旅行。 变身 我高高兴兴的来到JVM,想要开始JVM之旅,它确说:“现在的我还不能进去,需要...
SpringBoot获取配置:@Value、@ConfigurationProperties方式
配置文件yml # phantomjs的位置地址 phantomjs: binPath: windows: binPath-win linux: binPath-linux jsPath: windows: jsPath-win linux: jsPath-linux imagePath: windows: imagePath-win li...
完蛋!我被 Out of Memory 包围了!
是极致魅惑、洒脱自由的Java heap space? 是知性柔情、温婉大气的GC overhead limit exceeded? 是纯真无邪、活泼可爱的Metaspace? 如果以上不是你的菜,那还有…… ***蛮任性,无迹可寻的Cod...
JUC并发编程学习笔记(十五)JMM
JMM 请你谈谈对Volatile的理解 Volatile是java虚拟机提供的轻量级的同步机制 1、保证可见性 2、不保证原子性 3、禁止指令重排 什么是JMM JVM->java虚拟机 JMM->java内存模型,不存在的东...
JUC并发编程学习笔记(十四)异步回调
异步回调 Future设计的初衷:对将来的某个事件的结果进行建模 在Future类的子类中可以找到CompletableFuture,在介绍中可以看到这是为非异步的请求使用一些异步的方法来处理 点进具体实现类中,...
Java根据URL截图的4种方式
方案选择 XHTMLRenderer(不要用) PhantomJs(三方库,已停更) Puppeteer(Chrome团队开发和维护) Selenium(支持多浏览器、多语言,服务器需要安谷歌浏览器) 一、XHTMLRenderer(不要用) ...
Java IO教程- Java文件
创建文件 我们可以从中创建一个 File 对象 路径名 父路径名和子路径名 URI(统一资源标识符) 我们可以使用File类的以下构造函数之一创建一个文件: File(String pathname) File(File...
线上JAVA应用平稳运行一段时间后出现JVM崩溃问题
一、问题是怎么发现的 系统是一个定时任务系统,需要定时执行业务代码,业务代码主要是访问MYSQL数据库和缓存进行操作,该开始启动,系统日志一切正常,但是运行一段时间到凌晨后,系统就自动崩...
JUC并发编程学习(十三)ForkJoin
ForkJoin 什么是ForkJoin ForkJoin在JDK1.7,并发执行任务!大数据量时提高效率。 大数据:Map Reduce(把大任务拆分成小任务) ForkJoin特点:工作窃取 为什么可以取窃取其他线程的任务呢?因...
程序员为啥要做副业(05)-业务解决方案缔造
除了技术,副业也可以帮助我们在业务上获得新认知,保持敏感性。 之前我们在做程序员职业成长服务的时候,发现了一个问题。很多初阶的程序员没法升到中高阶,有两个很大的非技术影响因素: 1 管...
Java21对虚拟线程进行http压测使用不同的GC
JDK21默认GC是G1. JDK21除了G1外,还可以使用ZGC(Java11预览、Java15正式版),Java21在ZGC基础上继续推出了分代ZGC,目前还是试行阶段。 开启ZGC: java -XX:+UseZGC -jar myapp.jar 开启ZGC...