转载精品文章
文章平均质量分 89
转载精品文章
会飞的架狗师
do more know more be more
展开
-
SpringBoot-Undertow应用waitting状态线程异常增加的问题探究
这里就可以看到我们配置中的io线程和worker线程数量都配置到了哪里,可以通过名字很清楚的看到,workerthreads是核心线程和最大线程的值,那就是说worker-threads (新API中脚thread.worker)设置的数量是核心线程数量,核心线程数有一个规则就是一旦创建了,并且为空闲了,则是一直存在于线程池中,不会被回收的,也是还可以被复用的。最后一张图,还可以看一下,我等待了一天了,这个线程也是不会自动停掉的,因为就是限制状态了,所以怀疑是不是核心线程数量,然后继续排查。转载 2022-11-01 12:20:41 · 1656 阅读 · 0 评论 -
让多线程按我的想法执行
在工作中编写多线程程序的时候,可能会有这样的需求:主线程创建了好几个子线程来执行并发任务,而主线程要等待所有的子线程执行完成之后才继续执行其他逻辑。默认情况下主线程退出时其它子线程不会停,如果想让主线程退出的同时终止其他子线程,可以用 setDaemon(true) 设置子线程为守护线程。thread.join()方法如果你想在主线程等待所有子线程完成之后,还要继续执行其它逻辑处理操作【例如:合并子线程的执行结果】,那么可以用 join() 方法来等待所有子线程完成之后才继续执行。如下:packag原创 2021-06-18 11:27:10 · 48 阅读 · 1 评论 -
ELK+Filebeat+Kafka+Zk日志收集分析统计系统
通过日志分析解决系统故障,是发现问题的主要手段。日志包含多种类型,包括程序日志,系统日志以及安全日志等等。通过对日志进行分析,可以预防故障的发生,又可以在故障发生时,寻找到蛛丝马迹,快速定位故障点,及时解决问题。在分布式系统下,假如一个后端服务部署了几十个节点,这时候你想要查看日志、分析日志就会异常麻烦,所以非常需要这样一个专门收集各个系统日志的平台,对于这个场景,业界最受欢迎的应该就是这个elk的解决方案了。隶属于Beats,轻量级数据收集引擎。原创 2022-10-26 17:57:03 · 716 阅读 · 0 评论 -
说说类的生命周期
一个类的生命周期,有如下七个阶段:其中加载、验证、准备、初始化和卸载这五个阶段发生的顺序是确定的,但是对于解析阶段来说则不一定,因为它可以发生在初始化阶段之后,这样做是为了支持 Java 语言的运行时绑定特征(也称为动态绑定,大白话就是程序会在运行的时候去选择调用哪个方法)。原创 2022-10-26 17:52:37 · 508 阅读 · 0 评论 -
【面试题】说说过滤器和拦截器
拦截器和过滤器其实都是AOP编程思想的实现都可以体现例如权限的检查 日志的记录等功能Servlet规范中三个技术(顺序为L F S)Filter是sun公司中servlet2.3后增加的一个新功能,在javaEE中定义了一个接口来描述过滤器Filter是包下的一个接口主要有以下三个方法多个Filter对同一个资源进行了拦截,那么当我们在开始的Filter中执行时,是访问下一下Filter,直到最后一个Filter执行时,它后面没有了Filter,才会访问web资源。转载 2022-10-17 10:03:29 · 463 阅读 · 0 评论 -
如何对服务器性能进行优化
我们开发的软件服务需要在服务器上运行,所以服务器性能代表了软件的性能上限,因此服务器性能调优是个十分重要的环节,然而大部分同学对服务器性能调优关注的较少,今天从3个部分对服务器性能调优进行介绍,分别是:服务器配置选择,服务器负载分析,服务器内核参数调优。转载 2022-10-12 10:35:43 · 288 阅读 · 0 评论 -
记一次 JVM CPU 使用率飙高问题的排查过程
首先,我们一起看看通过 VisualVM 监控到的机器 CPU 使用率图:如上图所示,在分之前,CPU 的使用率明显飙高,最高飙到近 100%,为什么会出现这样的现象呢?转载 2022-10-11 12:05:03 · 163 阅读 · 0 评论 -
缓存热点和缓存穿透的终极解决方案
很多公司的缓存都是基于redis来做的,redis的性能其实已经足以能应付大部分的场景,但是对于大促期间或者活动抢购期间的某个爆品,可能会出现在几秒时间内流入大量的流量,由于某个爆品的数据在redis cluster场景下会按照hash规则被存放在某个redis分片上,那么这几秒的流量都会压到这个redis分片,从而在瞬间会导致这个redis分片的瘫痪,也会影响后续的redis请求的阻塞。如果该接口的某个参数为热点的话,就自动进行代理,走jvm的热点数据,等热点消除后,依旧走原来的调用。转载 2022-10-11 11:38:52 · 105 阅读 · 0 评论 -
为什么要实现Serializable
网上找了很多资料,但是感觉大都没有说的很清楚,所以结合自己的理解做一下总结。第二个问题,是不是每个实体bean都要实现序列化?第三个问题,有的时候并没有实现序列化,依然可以持久化到数据库。另外需要注意的是,在NoSql数据库中,并没有与我们java基本类型对应的数据结构,所以在往NoSql数据库中存储时,我们就必须将对象进行序列化,同时在网络传输中我们要注意到两个应用中javabean的serialVersionUID要保持一致,不然就不能正常的进行反序列化。转载 2022-10-11 11:28:09 · 295 阅读 · 0 评论 -
聊聊Spring中最常用的11个扩展点
我们一说到spring,可能第一个想到的是IOC(控制反转) 和AOP(面向切面编程)。没错,它们是spring的基石,得益于它们的优秀设计,使得spring能够从众多优秀框架中脱颖而出。除此之外,我们在使用spring的过程中,有没有发现它的扩展能力非常强。由于这个优势的存在,让spring拥有强大的包容能力,让很多第三方应用能够轻松投入spring的怀抱。比如:rocketmq、mybatis、redis等。今天跟大家一起聊聊,在Spring中最常用的11个扩展点。转载 2022-10-10 10:56:29 · 207 阅读 · 0 评论 -
接口性能优化的 15 个实用技巧
大家好,我是Tom哥。作为后端研发同学为了几两碎银,没日没夜周旋于各种人、各种事上。如果你要想成长的更快,就要学会归纳总结,找到规律,并且善用这些规律。就比如工作,虽然事情很多、也很繁琐,但如果按照性质归下类,我觉得可以分为两大类:1、业务类,如:产品要做一个红包活动,下周一就要上线,于是研发同学就吭哧吭哧,周末加班不睡觉也要赶出来2、技术类,如:架构升级、系统优化等,这类事情对技术能力有一定要求,通常要求有一定的项目经验的同学来 owner。转载 2022-10-09 13:33:46 · 612 阅读 · 0 评论 -
【JAVA】线上问题排查利器-Arthas
Arthas 是Alibaba开源的Java诊断工具,动态跟踪Java代码;实时监控JVM状态,可以在不中断程序执行的情况下轻松完成JVM相关问题排查工作。支持JDK 6+,支持Linux/Mac/Windows。这个工具真的很好用,而且入门超简单,十分推荐。...转载 2022-08-03 09:34:13 · 434 阅读 · 0 评论