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

网站统计源码下载网站正在建设中 模板 下载

网站统计源码下载,网站正在建设中 模板 下载,哪个网站可以做兼职,1688创业商机网1#xff1a;transient 当对象被序列化时#xff0c;transient阻止其修饰的对象进行序列化#xff1b;当反序列化时#xff0c;此对象的值不会被恢复。 2#xff1a;instanceof 判断引用指向的对象#xff0c;是不是某个类及其子类的实例对象#xff1b; class Person …1transient 当对象被序列化时transient阻止其修饰的对象进行序列化当反序列化时此对象的值不会被恢复。 2instanceof 判断引用指向的对象是不是某个类及其子类的实例对象 class Person {}public class Man extends Person {public static void main(String[] args) {if(111 instanceof String) {System.out.println(所有字符串都是String类型);}Person man null;//尚未初始化指向的对象为null不是任何类的对象if(man instanceof Man) {System.out.println(man 是Man的对象);}if(man instanceof Person) {System.out.println(man 是Person的对象);}man new Man();//初始化之后if(man instanceof Man) {System.out.println(man 是Man的对象);}if(man instanceof Person) {System.out.println(man 是Person的对象);}}}输出如下 所有字符串都是String类型 man 是Man的对象 man 是Person的对象3volatile volatile是Java提供的轻量级的线程同步机制与之相对synchronized通常被称为重量级锁。 volatile有两个特性 保证共享变量对所有线程的可见性 禁止指令重排序优化 Java多线程内存模型简要描述如下 volatile保证可见性的方式为 当写一个共享变量时JMMJava Memory Model会把该线程对应的本地内存中的变量强制刷新到主内存中 这个写操作会导致其他线程的本地内存中的缓存无效 对于num这类的复合操作只使用volatile无法保证其原子性可以通过synchronized或其他的锁机制、CAS机制来保障参见后续文章 volatile禁止指令重排序 volatile修饰变量在编译时会在指令序列中插入内存屏障来禁止特定类型的处理器重排序 volatile禁止指令重排序的一些规则 当第二个操作是volatile写时无论第一个操作是什么都不能进行重排序当第一个操作是volatile读时无论第二个操作是什么都不能进行重排序当第一个操作是volatile写第二个操作是volatile读时不能进行重排序 3.1volatile拓展Java JMM的happens-before原则规则 《JSR-133:Java Memory Model and Thread Specification》对happens-before关系的定义如下 1.如果一个操作happens-before另一个操作那么第一个操作的执行结果将对第二个操作可见而且第一个操作的执行顺序排在第二个操作之前。 2.两个操作之间存在happens-before关系并不意味着Java平台的具体实现必须要按照happens-before关系指定的顺序来执行。如果重排序之后的执行结果与按happens-before关系来执行的结果一致那么这种重排序并不非法。 上面1是JMM对程序员的承诺。从程序员的角度来说可以这样理解happens-before关系如果A happens-before B那么Java内存模型将向程序员保证——A操作的结果将对B可见且A的执行顺序排在B之前。注意这只是Java内存模型向程序员做出的保证 上面2是JMM对编译器和处理器冲排序的约束。MM其实是在遵循一个基本原则只要不改变程序的执行结果编译器和处理器怎么优化都行。happens-before这么做的目的都是为了在不改变程序执行结果的前提下尽可能地提高程序执行的并行度。 三.happens-before规则 1.程序顺序规则一个线程中的每个操作happens-before于该线程中的任意后续操作 2.监视器锁规则对一个锁的解锁happens-before于随后对这个锁的加锁 3.volatile变量规则对一个volatile域的写happens-before于任意后续对这个volatile域的读 4.传递性如果A happens-before B且B happens-before C那么A happens-before C 5.start规则如果线程A执行操作ThreadB.start()启动线程B那么A线程的ThreadB.start()操作happens-before于线程B中的任意操作 6.join规则如果线程A执行操作ThreadB.join()并成功返回那么线程B中的任意操作happens-before于线程A从ThreadB.join()操作成功返回。 参考链接https://www.cnblogs.com/chenssy/p/6393321.html 4synchronized 偷个懒放个链接PS这个博主写的真好 https://www.cnblogs.com/mingyao123/p/7424911.html 回头再回顾下多线程那本书 5final final总体表达不可变的语义final的四种用法 修饰数据包括成员变量和局部变量。该变量只能被赋值一次且它的值无法被改变。对于成员变量来说只能在声明处或者构造方法中赋值修饰方法参数表示这个参数在方法生命周期中不能被重新赋值修饰方法表示该方法无法被重写修饰类表示该类无法被继承 6static 修饰属性使其成为类属性此类的所有对象共享此属性修饰方法使其成为类方法调用时可直接使用类名.方法名来调用就不用再创建对象修饰代码块一般用于类成员的初始化静态引入(import static)通过静态引入的静态属性或静态方法可以直接用名称引用不用使用类名.的形式 7const const是Java中的预留关键字类似预留关键字还有goto。目前暂时没用。C语言中const类似final。
http://www.pierceye.com/news/678635/

相关文章:

  • 医疗网站建设资讯国内十大游戏公司排名
  • 江苏网站建设网络公司男做基视频网站
  • 网站建设培训公司排名客户管理软件免费版
  • 甘肃省建设工程网上投标网站好玩的网游
  • 大学生网站建设课程总结唐四薪php网站开发答案
  • 郑州的网站建设公司有哪些企业策划案
  • 查询域名网站苏州专业网站seo推广
  • 游戏网站建设计划书梦织做网站
  • 电商运营公司简介seo搜索引擎优化求职简历
  • 烟台门户网站有哪些网站做的比较好的
  • 外贸企业论坛网站建设找建站公司做网站注意事项
  • 莱芜亓家网站网站认证怎么认证
  • 安康做网站的公司wordpress zh_cn.po
  • 温州网页网站制作怎么看一个网站有没有做301
  • 网站主流系统2018年网站建设
  • 好的交互网站sql网站发布流程
  • 河北住房与城乡建设部网站网站管理手册
  • 学网站建设需要用哪几个软件营销型网站建设的指导原则
  • 网站建设产品价格销售型网站如何做推广
  • 免费情感网站哪个好wordpress和微信打通
  • 做网站首页尺寸大小做网站的个人心得
  • 思乐科技 成都网站建设做单页网站价格
  • 网站关键词排名全掉了汽车用品网站
  • 网站未备案可以做经营活动吗做电商运营有前途吗
  • 网站建设优化服务百度指数与百度搜索量
  • 网站添加漂浮二维码怎么做内网 wordpress慢
  • h5创建网站网页设计主题推荐
  • 35开始学网站开发崇信县门户网
  • 一站式企业服务wordpress 网站登录
  • 网站上传工具有什么甘南北京网站建设