http://www.yesky.com/9/1899009.shtml

http://zhidao.baidu.com/link?url=-xZ9JLo5x4bvCSVyXb2XhO6TODnBcURKYgIomitoFYTTaishy0Ni1ZgjxjdVIprMFWJkDplVHCbiMxugiSAmA3g-OW_UP5JL3Fj0VHWq3em

1. 
    只要你的静态方法不访问全局变量的话,就不会有并发问题
    访问全局变量肯定会出现并发问题,这是毫无疑问的

静态方法内部的变量,都是局部变量,每次调用静态方法时都会重新分配内存空间,所以是安全的。 也就是是说只要你的静态方法不访问全局变量的话,就不会有并发问题

JAVA代码验证实验我一直想做,但是没有时间,如果哪位有兴趣,可以提供一下。

2.

并发是指可以同时进行多个任务。
他跟static没有关系,是跟线程有关,java里并发安全我个人认为主要是两点:
1、数据资源竞争,也就是多个线程访问同一个资源,会造成安全问题;
2、原子性操作,也就是说我有一系列操作需要完成,但中间不得有其它线程影响到我的操作。

数据资源竞争:java里有2种变量,成员变量,局部变量
局部变量不会发生安全问题,因为局部变量是在方法里,每次这个方法执行都是一个独立的数据,不会被其他线程访问
成员变量则可能会影响并发安全,比如:非静态成员变量是每个对象自身所有,如果这个对象的某个方法访问了自身的成员变量,当这个对象被不同的线程多次调用这个方法时,你说是不是会有问题?静态成员变量则更加如此了,任何该类的对象都可以调用。

原子性操作:原子性说简单点就是一系列操作或过程必须是一个整体,否则就会造成意外。比如说:多个人在商店买同一个东西,从付钱、拿货、结算必须是一个整体,如果某个人已经把这个东西买走了,另一个人却处于付账阶段,那么最终肯定会出问题,但如果这三个操作是一个整体就不会有问题,只有一个人完全执行完了这3个,另一个人才能执行,二不允许同时进行。

当然我说的不一定准确,这个并发是很复杂的,你可以先了解个大概
java里解决并发安全是会牺牲性能的,但你要知道,1、并不是所有的并发安全都需要解决,有些在实际需求下是允许的,2、并发安全问题,不一定要靠并发安全去解决,也有可能是设计的缺陷。3、并发访问同一个资源不一定会出问题,比如:只有一个线程在写操作或者全部是读操作。

Java 线程并发的更多相关文章

  1. Java线程并发:知识点

    Java线程并发:知识点   发布:一个对象是使它能够被当前范围之外的代码所引用: 常见形式:将对象的的引用存储到公共静态域:非私有方法中返回引用:发布内部类实例,包含引用.   逃逸:在对象尚未准备 ...

  2. 使用Java线程并发库实现两个线程交替打印的线程题

    背景:是这样的今天在地铁上浏览了以下网页,看到网上一朋友问了一个多线程的问题.晚上闲着没事就决定把它实现出来. 题目: 1.开启两个线程,一个线程打印A-Z,两一个线程打印1-52的数据. 2.实现交 ...

  3. java线程并发工具类CyclicBarrier、CountDownLatch及Semaphore

    一.CyclicBarrier   (原文链接:http://www.studyshare.cn/blog-front/blog/index ) 1.定义 CyclicBarrier是线程并发工具类之 ...

  4. java 线程并发(生产者、消费者模式)

    线程并发协作(生产者/消费者模式) 多线程环境下,我们经常需要多个线程的并发和协作.这个时候,就需要了解一个重要的多线程并发协作模型“生产者/消费者模式”. Ø 什么是生产者? 生产者指的是负责生产数 ...

  5. Java线程并发中常见的锁

    随着互联网的蓬勃发展,越来越多的互联网企业面临着用户量膨胀而带来的并发安全问题.本文着重介绍了在java并发中常见的几种锁机制. 1.偏向锁 偏向锁是JDK1.6提出来的一种锁优化的机制.其核心的思想 ...

  6. Java 线程并发策略

    1 什么是并发问题. 多个进程或线程同时(或着说在同一段时间内)访问同一资源会产生并发问题. 2 java中synchronized的用法 用法1 public class Test{ public ...

  7. Java线程并发中常见的锁--自旋锁 偏向锁

    随着互联网的蓬勃发展,越来越多的互联网企业面临着用户量膨胀而带来的并发安全问题.本文着重介绍了在java并发中常见的几种锁机制. 1.偏向锁 偏向锁是JDK1.6提出来的一种锁优化的机制.其核心的思想 ...

  8. java线程并发工具类

    本次内容主要讲Fork-Join.CountDownLatch.CyclicBarrier以及Callable.Future和FutureTask,最后再手写一个自己的FutureTask,绝对干货满 ...

  9. 高级java高并发,高性能,分布式,高可用,负载均衡,系统架构实战

    java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战 视频课程包含: ...

随机推荐

  1. SNS团队Beta阶段第六次站立会议(2017.5.27)

    1.立会照片 2.每个人的工作 成员 今天已完成的工作 明天计划完成的工作 罗于婕 发音图标的改进 对界面各部分的图标进行完善.美化 龚晓婷 对于历史记录功能的测试 对于历史记录功能进一步完善 林仕庄 ...

  2. 201521123082 《Java程序设计》第8周学习总结

    201521123082 <Java程序设计>第8周学习总结 标签(空格分隔):Java 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 ...

  3. 201521123057 《Java程序设计》 第6周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 2. 书面作业 1.clone方法 1.1 Object对 ...

  4. sublime text 按下Ctrl + B 显示空白的解决办法

    环境:windows xp , sublime text 2 条件:环境变量也已经设置好,可是无论怎么编译都是空白,如图: 于是鄙人百度之,发现不少网友都有这样的问题,但是网上给出的的解决方案千篇一律 ...

  5. 201521123116 《java程序设计》第十四周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. ①关系型数据库的定义:使用表(table)来存储数据:使用行(row)区分不同- 记录,每行代表一条记录:每一行 ...

  6. 201521123092《java程序设计》第十三周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 2.1. 网络基础 1.1 比较ping www.baidu.com与ping cec.j ...

  7. Hibernate第六篇【多对多映射、一对一映射】

    前言 前面已经讲解了一对多和多对一的映射是怎么配置了,也讲解了inverse和cascade属性对关联关系的影响,本博文讲解多对多的映射和一对一的映射! 多对多映射 需求:一个项目由多个员工开发,一个 ...

  8. 【设计模式】module(模块)模式

    写在前面 最近刚接触到设计模式, <head first设计模式>里有一篇文章,是说使用模式的心智, 1.初学者"心智" :"我要为HELLO WORLD找个 ...

  9. 【京东账户】——Mysql/PHP/Ajax爬坑之添加购物车

    一.引言 做京东账户项目中的购物车模块,功能之一就是添加购物车.要用到的是Apach环境,Mysql.PHP以及Ajax. 预计效果:用户点击->"加入购物车"  添加成功 ...

  10. 实例讲解js正则表达式的使用

    前言:正则表达式(regular expression)反反复复学了多次,学了又忘,忘了又学,这次打算把基本的东西都整理出来,加强记忆,也方便下次查询. 学习正则表达式之前首先需要掌握记忆这些基本概念 ...