最新文章
-
4大JVM性能分析工具详解,及内存泄漏分析方案
今天主要分享JVM性能调优工具,文末有详细的JVM调优方法和步骤。 什么场景需要JVM调优 OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 这些问题出现的时候常常通过重启服务器或者调大内存来临时解决,实际情况,还需要尽量还原当时的业务场景,并分析内存、线程等数据,通过分析找到最终的解决方案,这就会涉及到性能分析工…... -
Java线程池的使用方式,及核心运行原理
之前谈过多线程相关的4种常用Java线程锁的特点,性能比较、使用场景,今天主要分享线程池相关的内容,这些都是属于Java面试的必考点。 为什么需要线程池 java中为了提高并发度,可以使用多线程共同执行,但是如果有大量线程短时间之内被创建和销毁,会占用大量的系统时间,影响系统效率。 为了解决上面的问题,java中引入了线程池,可以使创建好的线程在指定的时间内由系统统一管理,而不是在执行时创建,执行…... -
给创业公司CTO的四点建议
第一点:建立与CEO的信任关系 首先,需要学会与CEO如何高效的沟通。 创业型公司的老板,有业务销售出身、产品出身、技术出身,每个人的沟通方式都不太一样,比如销售型老板出身,沟通方式更多是结果型沟通,什么时候产品能上线,对于你需要的资源和帮助这块,也许认为这件事是你的职责范围,所以早期的沟通方式还是需要很多技巧,如果一定要有建议,建议用图说话,直接高效。 其次,换位思考 CEO比较关注行业信息以及…... -
4种常用Java线程锁的特点,性能比较、使用场景
多线程的缘由 在出现了进程之后,操作系统的性能得到了大大的提升。虽然进程的出现解决了操作系统的并发问题,但是人们仍然不满足,人们逐渐对实时性有了要求。 使用多线程的理由之一是和进程相比,它是一种非常花销小,切换快,更"节俭"的多任务操作方式。 在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种"…... -
JVM的内存分配、运行原理、回收算法机制
不管是BAT面试,还是工作实践中的JVM调优以及参数设置,或者内存溢出检测等,都需要涉及到Java虚拟机的内存模型、内存分配,以及回收算法机制等,这些都是必考、必会技能。 JVM内存模型 JVM内存模型可以分为两个部分,如下图所示,堆和方法区是所有线程共有的,而虚拟机栈,本地方法栈和程序计数器则是线程私有的。 1. 堆(Heap) 堆内存是所有线程共有的,可以分为两个部分:年轻代和老年代。下图中的…... -
详解RocketMQ的架构设计、关键特性、与应用场景
内容大纲: RocketMQ的简介与演进 RocketMQ的架构设计 RocketMQ的关键特性 RocketMQ的应用场景 RocketMQ的简介 RocketMQ一个纯java、分布式、队列模型的开源消息中间件,前身是MetaQ,是阿里研发的一个队列模型的消息中间件,后开源给apache基金会成为了apache的顶级开源项目,具有高性能、高可靠、高实时、分布式特点。 RocketMQ的演进 R…...












