成功的路上总是离不开贵人的帮助,名师的指点和小人的刺激。

莫怕,过了桥,就翻篇了

上一页 1 2 3 4 5 6 7 ··· 12 下一页

2018年1月17日 #

关于浏览器的后退键的数据回显问题

摘要: 开发中遇到这样的一个场景,从商品详情页点击立即购买跳转到提交订单页,这时点击浏览器的返回按钮,这时 发现之前商品详情页中的隐藏域input type="hidden"的值会发现数据错误,url地址是正确的,想过解决方案,返回 的时候刷新页面,但是用户体验不佳,最终解决方案:input type="h 阅读全文

posted @ 2018-01-17 10:50 痞子陈2016 阅读(581) 评论(0) 推荐(0) 编辑

2017年12月9日 #

2.3.7synchronized代码块有volatile同步的功能

摘要: 关键字synchronized可以使多个线程访问同一个资源具有同步性,而且他还具有将线程工作内存中的私有变量与公共内存中的变量同步的功能。 以-server服务器模式运行得到死循环 得到上面结果的原因是各个线程间的数据值没有可视性造成的。而关键字synchronized具有可视性。 更改Servic 阅读全文

posted @ 2017-12-09 21:12 痞子陈2016 阅读(475) 评论(0) 推荐(0) 编辑

2.3.6原子类也并不完全安全

摘要: 原子类在具有逻辑的情况下输出结果也具有随机性 结果分析: 打印顺序出错了,应该每次加100在加一次1,出现这样的情况原因是addAndGet()方法是原子的,但方法和方法直接的调用却不是原子的 解决方案同步 阅读全文

posted @ 2017-12-09 20:58 痞子陈2016 阅读(266) 评论(0) 推荐(0) 编辑

2.3.5使用原子类进行i++操作

摘要: 除了在i++操作时使用synchronized关键字实现同步外,还可以使用AtomicInteger原子类进行实现 原子操作时不可分割的整体,没有其他线程能够中断或检查正在原子操作的变量,一个原子类型就是一个原子操作的可用类型,他可以在没有锁的情况下,做到线程安全 程序运行结果累加到了50000 阅读全文

posted @ 2017-12-09 20:46 痞子陈2016 阅读(308) 评论(0) 推荐(0) 编辑

2.3.4volatile的原子性

摘要: 关键字volatile虽然增加了实例变量在多个线程之间的可见性,但它却不具备同步性,那么也不具备原子性。 测试 结果:线程异步 更改加上关键字synchronized 在本例中,如果在方法private static void addCount()前加入synchronized同步关键字,也就没有必 阅读全文

posted @ 2017-12-09 20:40 痞子陈2016 阅读(239) 评论(0) 推荐(0) 编辑

2.3.3解决异步死循环

摘要: 测试 程序处于死循环,为何呢?代码线程被停止了从未被执行。 原因: 在启动RunThread.java线程时,变量private boolean isRunning=true;存在于公共堆栈及线程的私有堆栈中,在JVM被设置为-server模式时为了线程 运行的效率,线程一直在私有堆栈中取得isRu 阅读全文

posted @ 2017-12-09 18:10 痞子陈2016 阅读(485) 评论(0) 推荐(0) 编辑

2.3.2解决同步死循环

摘要: 测试如下 但当上面的例子代码的格式运行在-server服务器的模式中64bit的JVM上时,会出现死循环 解决的方案时使用volatile关键字 关键字volatile的作用是强制从公共堆栈中取得变量的值,而不是从线程私有数据栈中取得变量的值 阅读全文

posted @ 2017-12-09 17:05 痞子陈2016 阅读(241) 评论(0) 推荐(0) 编辑

2.3.1关键字volatile与死循环

摘要: 关键字volatile的主要作用是使变量在多个线程间可见。 测试如下 程序开始运行后 根本没停下来。原因是main线程一直处理while()循环,导致程序不能执行下面的代码。解决办法肯定是用多线程技术 阅读全文

posted @ 2017-12-09 16:55 痞子陈2016 阅读(508) 评论(0) 推荐(0) 编辑

2.2.16锁对象的改变

摘要: 在将任何数据类型作为同步锁时,需要注意的是,是否有多个线程同时持有锁对象,如果同时持有相同的锁对象,则这些线程之间就是同步的,如果分别获得锁对象,这些线程之间是异步的。 结果分析: 因为50毫秒过后线程B 获得的锁是456 继续测试: 去掉代码Thread.sleep(50) 线程A和B持有的锁都是 阅读全文

posted @ 2017-12-09 15:34 痞子陈2016 阅读(196) 评论(0) 推荐(0) 编辑

2.2.15内置类与同步:测试2

摘要: 本实验测试同步代码块synchronized(class2)对class2上锁后,其他线程只能以同步的方式调用class2中的静态同步方法 结果分析 InnerClass1中method1和InnerClass2method1的锁对象是同一个,而InnerClass1中的method2的锁对象是In 阅读全文

posted @ 2017-12-09 15:08 痞子陈2016 阅读(185) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 12 下一页

导航