>>>>
JVM资源
在JVM运行数据区中,方法区和堆内存均是属于共享资源数据,存在线程安全问题
>>>>
临界区与竞态条件
临界区: 在并发多线程中执行一系列对共享资源的修改操作的代码区域...4) Java加锁方式
不可变的变量数据,即使用final修饰的变量数据
可见性问题
>>>>
产生可见性的原因
在java应用程序中存在主内存与工作内存之分,因此数据变量在程序中存在读取缓存问题
java...,可以查看final关键字的原理实现
伪共享问题
线程死锁
产生原因
多线程相互争抢对方相互持有的资源,由于获取不到资源一直处于挂起状态而无法继续往下执行
死锁示例伪代码
// threadA.java...3) 其他方案: 在业务代码中如果能够使用单锁解决问题则使用单锁的方式
服务机器资源
机器资源的限制
1) 硬件方面有CPU核数以及CPU的处理读写能力, 网络带宽问题, 磁盘读写速度, 磁盘空间,...内存空间等因素;
2) 软件资源一般是并发线程池的数量,比如tomcat服务的并发线程数, 数据库连接池大小, 网络socket连接数等
资源导致的问题
1) 如果机器的CPU核数较少,比如只有一个的话