最新文章
-
史上最全Java多线程面试60题,含答案大赠送!
【BAT必考系列!多线程60题】 多线程有什么用? 线程和进程的区别是什么? ava实现线程有哪几种方式? 启动线程方法start()和run()有什么区别? 怎么终止一个线程?如何优雅地终止线程? 一个线程的生命周期有哪几种状态?它们之间如何流转的? 线程中的wait()和sleep()方法有什么区别? 多线程同步有哪几种方法? 什么是死锁?如何避免死锁? 多线程之间如何进行通信? 线程怎样拿到…... -
详解Memcached、Redis等缓存的特征、原理、应用
随着互联网的普及,内容信息越来越复杂,用户数和访问量越来越大,我们的应用需要支撑更多的并发量,同时我们的应用服务器和数据库服务器所做的计算也越来越多。但是往往我们的应用服务器资源是有限的,且技术变革是缓慢的,数据库每秒能接受的请求次数也是有限的(或者文件的读写也是有限的),如何能够有效利用有限的资源来提供尽可能大的吞吐量?一个有效的办法就是引入缓存,打破标准流程,每个环节中请求可以从缓存中直接获取…... -
4大JVM性能分析工具详解,及内存泄漏分析方案
今天主要分享JVM性能调优工具,文末有详细的JVM调优方法和步骤。 什么场景需要JVM调优 OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 这些问题出现的时候常常通过重启服务器或者调大内存来临时解决,实际情况,还需要尽量还原当时的业务场景,并分析内存、线程等数据,通过分析找到最终的解决方案,这就会涉及到性能分析工…... -
淘宝发展历程最具决定性的一次技术架构演变
今天我们重点说淘宝最重要的一次架构演变,这次演变在整个淘宝发展历程中算是最具决定性的一次,没有之一! 这套架构体系,如果你能用心掌握,足可以帮助你在任何一家互联网大公司站稳脚跟! 淘宝技术发展历史 前一篇文章“一位亲历者眼中的淘宝技术架构发展之路”,已经写过淘宝技术架构前两个阶段的发展历程。 今天我们重点说淘宝最重要的一次架构演变,也就是第三到第四阶段。 淘宝第三阶段面…... -
线程池的实现原理、优点与风险、以及四种线程池实现
为什么需要线程池 我们有两种常见的创建线程的方法,一种是继承Thread类,一种是实现Runnable的接口,Thread类其实也是实现了Runnable接口。但是我们创建这两种线程在运行结束后都会被虚拟机销毁,如果线程数量多的话,频繁的创建和销毁线程会大大浪费时间和效率,更重要的是浪费内存。那么有没有一种方法能让线程运行完后不立即销毁,而是让线程重复使用,继续执行其他的任务哪? 这就是线程池的由…...









