当Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步提高性能,称为GC优化。但GC算法复杂,影响GC性能的参数众多,且参数调整又依赖于应用各自的特点,这些因素很大程度上增加了GC优化的难度。即便如此,GC调优也不是无章可循,仍然有一些通用的思考方法。本篇会介绍这些通用的GC优化策略和相关实践案例,主要包括如下内容:…
摘要 HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。 简介…
建议 : 不管哪种方式升级,都应该先做了冷备。方便失败回退 ,完全克隆整个复制;dd命令吗? 很少有降级的操作,一般都是升级,到了8.0以后无法降级,只能通过逻辑备份恢复到低版本; mysql没有补丁一说,只能通过升级来修复bug ;只有Oracle才有补丁;升级过程很快的;…
给脚本加锁 通过创建文件,来给脚本加锁,脚本执行完成只有一定记得要删除文件! 写一个rsync的启动和停止脚本flock这个命令,-x 排它锁n :指定锁文件位置flock -xn "/tmp/f.lock" -c 'a.sh' 运行结束后自动退出这就就能避免多实例重复运行在脚本里面,可以通过创建文件和删除文件来保证只有个一个脚本实例运行[ ! -f…
shell是linux提供的基础可程序化语言,shell内核处理起来更加高效;高级语言python等是用来处理复杂的业务逻辑;对于服务器管理,进程以及硬件的管理shell更加适合,因为shell就是帮助我们翻译命令行的; 什么是shell 命令解释器,用于解释用户对操作系统的操作,shell有很多(cat /etc/shells); shell能做什么…
数组 定义数组IPS=(192.168.2.1 192.168.2.2 192.168.2.3) #空格隔开,不能用逗号隔开[root@lianxi ~]# echo $IPS #默认为数组第一个192.168.2.11.显示数组所有元素 [root@lianxi ~]# echo ${IPS[@]} 192.168.2.1 192.168.2.2…
当前公司使用consul来实现服务发现,如Prometheue配置中的target和alertmanager注册都采用了consul服务发现的方式,以此来灵活应对服务的变更。但对于其他服务,是否也有一个通用的方式来使用consul管理配置文件?本文中描述如何使用 consul-template 来渲染配置文件。 使用方式 consul-template…
灵魂拷问1:还在为新项目工具类搬迁而烦恼? 灵魂拷问2:还在为项目中工具类维护而烦恼? 📘简述 Hutool 它是一个Java工具集类库,包含了很多静态方法的封装:流处理、时间日期处理、正则处理、加解密处理、文件处理、集合处理等,可以说是项目中几乎所有XxxxUtil的替代品,它可以使你更多的关注代码逻辑,优雅的写出高效代码,避免“复制粘贴,改改再战”。…
之前,在 Java新特性专栏 open in new window 中,我们简单介绍了Java 21正式发布的 虚拟线程 open in new window 。 昨天,正好看到一个讲解此内容的视频,非常不错,所以DD这里给大家翻译好了,感兴趣的可以看看。可以进一步了解虚拟线程。 A BiliBili video 该视频采用Chrome插件…