当前位置: 首页 > news >正文

初学者学做网站怎么学wordpress不显示其它主题

初学者学做网站怎么学,wordpress不显示其它主题,网页界面设计的功能性主要体现在信息的哪两个方面,通用网址通用网站查询概览原子操作是指不会被线程调度机制打断的操作#xff0c;这种操作一旦开始#xff0c;就一直运行到结束#xff0c;中间不会有任何线程上下文切换。原子操作可以是一个步骤#xff0c;也可以是多个操作步骤#xff0c;但是其顺序不可以被打乱#xff0c;也不可以被切割…概览原子操作是指不会被线程调度机制打断的操作这种操作一旦开始就一直运行到结束中间不会有任何线程上下文切换。原子操作可以是一个步骤也可以是多个操作步骤但是其顺序不可以被打乱也不可以被切割而只执行其中的一部分将整个操作视作一个整体是原子性的核心特征。在java中提供了很多原子类笔者在此主要把这些原子类分成四大类。原子更新基本类型或引用类型如果是基本类型则替换其值如果是引用则替换其引用地址这些类主要有(1)AtomicBoolean原子更新布尔类型内部使用int类型的value存储1和0表示true和false底层也是对int类型的原子操作。(2)AtomicInteger原子更新int类型。(3)AtomicLong原子更新long类型。(4)AtomicReference原子更新引用类型通过泛型指定要操作的类。(5)AtomicMarkableReference原子更新引用类型内部使用Pair承载引用对象及是否被更新过的标记避免了ABA问题。(6)AtomicStampedReference原子更新引用类型内部使用Pair承载引用对象及更新的邮戳避免了ABA问题。这几个类的操作基本类似底层都是调用Unsafe的compareAndSwapXxx()来实现基本用法如下private static void testAtomicReference() {AtomicInteger atomicInteger new AtomicInteger(1);atomicInteger.incrementAndGet();atomicInteger.getAndIncrement();atomicInteger.compareAndSet(3, 666);System.out.println(atomicInteger.get());AtomicStampedReference atomicStampedReference new AtomicStampedReference(1, 1);atomicStampedReference.compareAndSet(1, 2, 1, 3);atomicStampedReference.compareAndSet(2, 666, 3, 5);System.out.println(atomicStampedReference.getReference());System.out.println(atomicStampedReference.getStamp());}原子更新数组中的元素原子更新数组中的元素可以更新数组中指定索引位置的元素这些类主要有(1)AtomicIntegerArray原子更新int数组中的元素。(2)AtomicLongArray原子更新long数组中的元素。(3)AtomicReferenceArray原子更新Object数组中的元素。这几个类的操作基本类似更新元素时都要指定在数组中的索引位置基本用法如下private static void testAtomicReferenceArray() {AtomicIntegerArray atomicIntegerArray new AtomicIntegerArray(10);atomicIntegerArray.getAndIncrement(0);atomicIntegerArray.getAndAdd(1, 666);atomicIntegerArray.incrementAndGet(2);atomicIntegerArray.addAndGet(3, 666);atomicIntegerArray.compareAndSet(4, 0, 666);System.out.println(atomicIntegerArray.get(0));System.out.println(atomicIntegerArray.get(1));System.out.println(atomicIntegerArray.get(2));System.out.println(atomicIntegerArray.get(3));System.out.println(atomicIntegerArray.get(4));System.out.println(atomicIntegerArray.get(5));}原子更新对象中的字段原子更新对象中的字段可以更新对象中指定字段名称的字段这些类主要有(1)AtomicIntegerFieldUpdater原子更新对象中的int类型字段。(2)AtomicLongFieldUpdater原子更新对象中的long类型字段。(3)AtomicReferenceFieldUpdater原子更新对象中的引用类型字段。这几个类的操作基本类似都需要传入要更新的字段名称基本用法如下private static void testAtomicReferenceField() {AtomicReferenceFieldUpdater updateName AtomicReferenceFieldUpdater.newUpdater(User.class, String.class,name);AtomicIntegerFieldUpdater updateAge AtomicIntegerFieldUpdater.newUpdater(User.class, age);User user new User(tong ge, 21);updateName.compareAndSet(user, tong ge, read source code);updateAge.compareAndSet(user, 21, 25);updateAge.incrementAndGet(user);System.out.println(user);}private static class User {volatile String name;volatile int age;public User(String name, int age) {this.name name;this.age age;}Overridepublic String toString() {return name: name , age: age;}}高性能原子类高性能原子类是java8中增加的原子类它们使用分段的思想把不同的线程hash到不同的段上去更新最后再把这些段的值相加得到最终的值这些类主要有(1)Striped64下面四个类的父类。(2)LongAccumulatorlong类型的聚合器需要传入一个long类型的二元操作可以用来计算各种聚合操作包括加乘等。(3)LongAdderlong类型的累加器LongAccumulator的特例只能用来计算加法且从0开始计算。(4)DoubleAccumulatordouble类型的聚合器需要传入一个double类型的二元操作可以用来计算各种聚合操作包括加乘等。(5)DoubleAdderdouble类型的累加器DoubleAccumulator的特例只能用来计算加法且从0开始计算。这几个类的操作基本类似其中DoubleAccumulator和DoubleAdder底层其实也是用long来实现的基本用法如下private static void testNewAtomic() {LongAdder longAdder new LongAdder();longAdder.increment();longAdder.add(666);System.out.println(longAdder.sum());LongAccumulator longAccumulator new LongAccumulator((left, right)-left right * 2, 666);longAccumulator.accumulate(1);longAccumulator.accumulate(3);longAccumulator.accumulate(-4);System.out.println(longAccumulator.get());}问题关于原子类的问题笔者整理了大概有以下这些(1)Unsafe是什么(3)Unsafe为什么是不安全的(4)Unsafe的实例怎么获取(5)Unsafe的CAS操作(6)Unsafe的阻塞/唤醒操作(7)Unsafe实例化一个类(8)实例化类的六种方式(9)原子操作是什么(10)原子操作与数据库ACID中A的关系(11)AtomicInteger怎么实现原子操作的(12)AtomicInteger主要解决了什么问题(13)AtomicInteger有哪些缺点(14)ABA是什么(15)ABA的危害(16)ABA的解决方法(17)AtomicStampedReference是怎么解决ABA的(18)实际工作中遇到过ABA问题吗(19)CPU的缓存架构是怎样的(20)CPU的缓存行是什么(21)内存屏障又是什么(22)伪共享是什么原因导致的(23)怎么避免伪共享(24)消除伪共享在java中的应用(25)LongAdder的实现方式(26)LongAdder是怎么消除伪共享的(27)LongAdder与AtomicLong的性能对比(28)LongAdder中的cells数组是无限扩容的吗关于原子类的问题差不多就这么多都能回答上来吗点击下面的链接可以直接到相应的章节查看彩蛋原子类系列源码分析到此就结束了虽然分析的类比较少但是牵涉的内容非常多特别是操作系统底层的知识比如CPU指令、CPU缓存架构、内存屏障等。下一章我们将进入“同步系列”同步最常见的就是各种锁了这里会着重分析java中的各种锁、各种同步器以及分布式锁相关的内容。欢迎关注我的公众号“彤哥读源码”查看更多源码系列文章, 与彤哥一起畅游源码的海洋。
http://www.zqtcl.cn/news/903176/

相关文章:

  • 桔子建站是什么平台郑州公司注册网上核名
  • 网站开发技能有哪些网站建设艾金手指科杰
  • 网站建设挂什么费用网站建设学那些课
  • 网站定位与功能分析在互联网公司做网站
  • 安阳网站建设兼职做网站推广有哪些公司
  • 网站制作的一般过程怎么用手机搭建网站
  • 备案 网站名称 怎么改深圳建网站公司
  • html 企业网站模板网站策划书免费
  • 网站建设销售ppt拖拽建站系统源码
  • 网站托管费用多少网站的开发流程
  • 周到的商城网站建设北京品牌网站
  • 网站开发费用属于什么科目网站建设考试多选题
  • c asp做网站wordpress4.5.2文章采集
  • 百度网站建设电话建立网站站建设可以吗
  • 网站后台代码在哪修改网站如何做下一页
  • 网站开发职业要求百度推广代理商与总公司的区别
  • 西安网站建设中心网页 网 址网站区别
  • 技术支持东莞网站建设机械seo岗位是什么意思
  • 做商城网站需要备案什么域名硬件开发工具有哪些
  • 网络网站制作技巧wordpress全文
  • 韩国原生ip站群服务器左右悬停代码网站
  • 专门做广东11选5的网站网站 备案 营业执照
  • 免费扑克网站wordpress弹出服务协议窗口
  • 网站的反爬一般怎样做网站右键屏蔽
  • 茂名做网站dyiee青岛宣传片制作公司
  • 凡科网可以自己做网站吗编程常用网站
  • 做网站练手项目公司营业执照可以做几个网站
  • 聚通达网站建设网站并发要求
  • 网站建设预算申请如何写服装店网页设计素材
  • 做网站设计的公司柳州芜湖又出现一例