- 博客(3)
- 收藏
- 关注
原创 struts2与springmvc线程安全问题
struts2的入口是类struts 是单例非安全的struts2 是多例安全的,但是当struts2整合spring由其统一管理bean创建的时候,由于spring默认单例,所以struts2也变成单例了。一般struts2接收前端的信息都set到成员变量中(因此只能通过多例或加锁来优化安全问题)所以高并发情况下,这些成员变量是线程非安全的。一般不会发生这样的问题是因为这...
2019-03-16 10:27:46 233
原创 jvm模型与多线程关系以及三种内存溢出解决
JVM模型局部变量:在方法内创建的变量成员变量:类中创建的变量方法区(线程不安全):①类(class)②静态变量(static变量)③静态方法④常量和⑤成员方法。堆(线程不安全):对象(包括局部变量中的对象变量),对象的成员变量(包括基本类型变量)栈(生命周期同它的线程周期,线程独有,线程安全):局部变量中的基本类型变量,对象引用方法区只是一个概念,每一个不同的jvm提供商实现的方式...
2019-03-16 09:43:00 245
原创 ThreadPool线程池使用及解决主线程和子线程执行顺序问题
线程池创建五个线程,每个线程往list中添加100个元素。synchronized只锁线程共享变量list对象,代码段内仅添加元素及打印信息。设置10ms睡眠时间给其余线程机会。ExecutorService fixedThreadPool = Executors.newFixedThreadPool(5);//list是所有线程共享变量需要加锁避免冲突final List list ...
2018-11-03 12:54:43 4328
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人