2018-05-22 00:00:00 javascript原生代码取单选框的值 网上搜索到的,项目中正好用到,先记下来,以后直接从自己的博客上复制粘贴!!! //取单选框选择中的值,传入单选框的name function getRadioBoxValue( radioName) { var obj = document.getElementsByName( radioName); //这个是以标签的name来取控件 for( i = 0; i < obj.length; i ++) { if( obj[ i].checked) { return obj[ i].value; } } return "undefined"; }
2018-05-22 00:00:00 JUC中的原子变量内部解析 前言 工作中用到的一些原子操作类,查看一下它们的源码,顺便复习学习和梳理一下之前遗忘的知识点。 在Java中的java.util.concurrent.atomic包下面的原子操作类截图: 主要知识点 1.原子变量 在Java代码中保证线程安全一般分成两种方式:锁和原子变量,这次的主题是原子变量。 原子变量能够保证原子性的操作,意思是某个任务在执行过程中,要么全部成功,要么全部失败回滚,恢复到执行之前的初态,不存在初态和成功之间的中间状态。例如CAS(Compare and Swap)操作,要么比较并交换成功,要么比较并交换失败。由CPU保证原子性。 通过原子变量可以实现线程安全。执行某个任务的时候,先假定不会有冲突,若不发生冲突,则直接执行成功;当发生冲突的时候,则执行失败,回滚再重新操作,直到不发生冲突。 2.CAS CAS(Compare and Swap),一种无锁(lock-free)的非阻塞算法,翻译为:比较和交换。并且是CPU指令,在大多数处理器架构,包括IA32、Space中采用的都是CAS指令。 CAS是项乐观锁技术,当多个线程尝试使用CAS同时更新同一个变量时,只有...