微分享
文章平均质量分 70
HelloGeekCsdn
攻城攻城还需要一个师。
混迹互联网多年,有一点心得,有一点体会。
展开
-
FullGC了怎么办?
即会每5秒一次显示进程号为56的java进成的GC情况,FGC、FGCT分别代表FullGC次数和时间,来初步判断是否为FullGC。如果手头没有这样的工具,可以试试通过下面指令简单看看。查找进程号为56的java程序的jvm堆中对象详细占用情况。查看进程号为56的Java程序的整个jvm内存状态。然后就可以在浏览器中输入主机地址:9998查看了。导出56进程的java程序的整个JVM信息。一个解决房方案是,在其中一台机子上开启。另一个就是dump出来文件。原创 2023-09-20 16:12:00 · 206 阅读 · 0 评论 -
几分钟搞定Java程序CPU飙升场景
一直向这个Java环境测试一下CPU或内存飙升时,实操一下问题定位。自己部署一个虚拟机+安装Linux环境+配置java环境,太费劲了。不如装一个docker desktop,直接下载所需镜像,及省劲有快捷。原创 2023-09-19 16:58:55 · 266 阅读 · 0 评论 -
微分享-kubectl get常用命令
node代表节点pods代表pod-n命名空间-owide更详细信息具体pod名称 -oyaml查看对应pod的yaml文件信息显示标签-l+具体标签信息举个例子:查询一个label为k8s-app=kube-dns的pod,并显示出标签和其详细信息参考Kubernetes K8S之kubectl命令详解及常用示例。原创 2023-08-17 17:15:22 · 235 阅读 · 0 评论 -
LRU缓存介绍与实现
如何实现一个LRU呢?如果使用双向链表+Hash实现。 首先需求清楚: 什么是LRU; 需要哪些支持知识; 怎么使用这些基础知识实现; 如果高并发下怎么办; 反思一些基础知识。 什么是LRU: 就是最近最少访问。 需要哪些支持知识: 想想一个场景,LRU是不是就想电话记录或者微信记录,新的自动到上面,老的就慢慢下去了。 那是不是就想起了Linked。为什么没有使用linkedList呢?而是使用linkedMapHash。 ...原创 2020-07-27 09:22:34 · 265 阅读 · 0 评论 -
微分享-spring线程池实战
一般在使用多线程的时候都会使用到线程池,好处网上有很多,最主要的好处是线程池中的线程可以重复利用,减少线程创建销毁带来的资源浪费。java实现线程池一般有三种: java自带的线程池Executor; Spring封装的线程池; Guava提供的线程池。 如果使用java自带的线程池编写起来比较麻烦,找了个网络的例子:import java.util.concurrent.ArrayBlocking原创 2017-08-19 17:52:32 · 693 阅读 · 0 评论 -
微分享-快速高效的从一个list转化到另一个list
Lists.transform是Guava collect的里面的方法,提供将当前list中的对象转换为另外一个需要的list对象。原创 2017-08-20 18:58:51 · 7396 阅读 · 0 评论 -
微分享-高并发下的缓存实战
场景统计一个批量接口会有多少数据,这个接口的QPS在100万级别。有几种方案: 每次调用都串行计算一次; 每次调用使用线程池并行计算。 由于并发量特别的大,第1种场景肯定不适合,这会把相应时间拉长。第二种方法每次请求过来都放到一个线程池里面请求,比第一种强很多,用这种方式基本上可以解决80%左右的需求了。那么还有能优化的地方么?答案是有的。Cache + 线程池一般在大的公司都有一些监控系统,可以将原创 2017-08-27 19:33:43 · 559 阅读 · 0 评论