信息介绍
Java学习一直是很多人坚持的事情,作为时代编程语言的代表,Java开发似乎是每一个互联网公司必备的技术,而高端技术人才更是被社会求贤如渴。对于Java并发编程有以下几个技巧:
1、单一职责原则
分离并发相关代码和其他代码(并发相关代码有自己的开发、修改和调优生命周期)。
2、限制数据作用域
两个线程修改共享对象的同一字段时可能会相互干扰,导致不可预期的行为,解决方案之一是构造临界区,但是必须限制临界区的数量。
3、使用数据副本
数据副本是避免共享数据的好方法,复制出来的对象只是以只读的方式对待。Java 5的java.util.concurrent包中增加一个名为CopyOnWriteArrayList的类,它是List接口的子类型,所以你可以认为它是ArrayList的线程安全的版本,它使用了写时复制的方式创建数据副本进行操作来避免对共享数据并发访问而引发的问题。
4、线程应尽可能独立
让线程存在于自己的世界中,不与其他线程共享数据。有过Java Web开发经验的人都知道,Servlet就是以单实例多线程的方式工作,和每个请求相关的数据都是通过Servlet子类的service方法(或者是doGet或doPost方法)的参数传入的。只要Servlet中的代码只使用局部变量,Servlet就不会导致同步问题。Spring MVC的控制器也是这么做的,从请求中获得的对象都是以方法的参数传入而不是作为类的成员,很明显Struts 2的做法就正好相反,因此Struts 2中作为控制器的Action类都是每个请求对应一个实例。
欢迎具体了解:郑州Java培训机构http://zz.mobiletrain.org/java/
1、单一职责原则
分离并发相关代码和其他代码(并发相关代码有自己的开发、修改和调优生命周期)。
2、限制数据作用域
两个线程修改共享对象的同一字段时可能会相互干扰,导致不可预期的行为,解决方案之一是构造临界区,但是必须限制临界区的数量。
3、使用数据副本
数据副本是避免共享数据的好方法,复制出来的对象只是以只读的方式对待。Java 5的java.util.concurrent包中增加一个名为CopyOnWriteArrayList的类,它是List接口的子类型,所以你可以认为它是ArrayList的线程安全的版本,它使用了写时复制的方式创建数据副本进行操作来避免对共享数据并发访问而引发的问题。
4、线程应尽可能独立
让线程存在于自己的世界中,不与其他线程共享数据。有过Java Web开发经验的人都知道,Servlet就是以单实例多线程的方式工作,和每个请求相关的数据都是通过Servlet子类的service方法(或者是doGet或doPost方法)的参数传入的。只要Servlet中的代码只使用局部变量,Servlet就不会导致同步问题。Spring MVC的控制器也是这么做的,从请求中获得的对象都是以方法的参数传入而不是作为类的成员,很明显Struts 2的做法就正好相反,因此Struts 2中作为控制器的Action类都是每个请求对应一个实例。
欢迎具体了解:郑州Java培训机构http://zz.mobiletrain.org/java/
联系方式
0371-55191750
上一条:企业为什么选择使用工业扫地车
发布供求信息
最新供求
推荐供求
热门供求
热
应急移动雷达塔 5米玻璃钢接闪杆 CMCE电场补偿器避雷针
热
通信站玻璃纤维避雷针 12米透波玻璃钢监控立杆 各天气条件下可用
热
风景区15米玻璃钢避雷针 防侧击玻璃纤维监控杆 绝缘天线杆
热
微波通讯站高透波避雷针 机场易折型接闪杆 古树轻质避雷针
热
110kv风电场LMD-L2000导体多短针雷电放散装置
热
什么是SA8000认证?企业如何通过社会责任提升品牌影响力
热
北京高等教育传媒大学助学自考专科本科招生含金量高
热
能源管理体系:企业绿色发展的金钥匙
热
信息安全:ISO20000:信息管理体系为您的关键信息资产保驾护航
热
九江市经开区九瑞大道安装空调 维修 空调移机服务