240 发简信
IP属地:加州
  • singlon = new SingleInstance() 这个动作不是原子的,正常来说按顺序可以分为三步:1.申请一段内存空间来保存新对象;2.调用构造方法初始化这个新对象;3.将singlon变量引用指向这段将内存地址。

    使用volatile的原因是禁止指令重排。如果不用volatile,可能执行顺序是1-->3-->2。当前一个线程执行完3之后,singlon变量的指向已经不为null(但其内存空间还没经过2的初始化,该对象还是个半成品不应该被使用),可能被后来的线程在最外层的if判断中判断成立并被返回使用。其他线程一旦使用了这个半成品对象的内部字段,就会出现空指针。

    由Synchronized的内存可见性说起

    在Java中,我们都知道关键字synchronized可以用于实现线程间的互斥,但我们却常常忘记了它还有另外一个作用,那就是确保变量在内存的可见性 - 即当读写两个线程同时访...

  • 执行这四个就够了

    在Mac OS X上怎么彻底卸载mysql

    在Mac OS X上怎么彻底卸载mysql 最近在 Mac下安装了mysql,好不容易装环境调试了一下午弄好了!在eclipse上连接tomcat和mysql都好了,结果第二...

  • 停止数据库服务器
    sudo rm /usr/local/mysql
    sudo rm -rf /usr/local/mysql*
    sudo rm -rf /Library/StartupItems/MySQLCOM
    sudo rm -rf /private/var/db/receipts/mysql

    在Mac OS X上怎么彻底卸载mysql

    在Mac OS X上怎么彻底卸载mysql 最近在 Mac下安装了mysql,好不容易装环境调试了一下午弄好了!在eclipse上连接tomcat和mysql都好了,结果第二...

  • 直接缓冲区的代码样例错误,根本跟直接缓冲区没关系吧

    ByteBuf:Netty的数据容器

    1. ByteBuf API的优点 可以被扩展 通过内置的复合缓冲区类型实现了透明的零拷贝 容量可以按需增长 读写模式切换不需要调用flip方法 读写使用不用的索引 方法支持...

  • 120
    2018-01-18

    白皮书解读 目标 比特币:一种点对点的现金系统 解决双重支付问题 点对点支付,不依赖第三方信用机构 去中心化 鲁棒性、抗攻击 交易 Alice和她的朋友Joe会面时,用现金换...

  • 120
  • Type org.apache.maven.plugin.surefire.SurefirePlugin not present

    引入spring-boot-maven-plugin 的时候报错 java.lang.TypeNotPresentException: Type org.apache.mav...

  • 半途而废?

    Solidity中文文档

    今天正式开始翻译Solidity的英文文档,为的是给后来人提供一个方便的学习资料。 Solidity Solidity是一个高级语言,其语法类似于JavaScript,编译后...

  • 120
    Drools Workbench 7.4.1 部署

    折腾了下Drools Workbench 7.4.1的部署,网上并没有相关资料,记录之。 环境准备 apache-tomcat-8.5.23 (用tomcat7启动会有奇怪问...

  • 120
    深入了解Drools

    深入了解Drools 简单介绍 笔者正在做风控系统,风控系统里边存在非常多的规则(比如:age < 16 || age > 50 -> REJECT )。最便捷的实现就是用...

  • gradle 自定义打包项目tar包

    title: gradle自定义打包项目tar包date: 2017-09-18 16:41:52tags: [Gradle]categories: "Gradle" gra...

  • Java 线程池详解

    Java 线程池 Java 线程池模型的关键几个类和接口包括:Executor,Executors,ExecutorService,ThreadPoolExecutor,Fu...

  • Win10 安装 mysql-python

    一开始只是简单的 然而一直报这个错误 然后就开始病急乱投医了,按照各种路人的说法去尝试。其实根本原因就是 驱动没装好。最后去下载驱动: https://pypi.python...

  • 常用Shell 语句记录

    最近写了几个shell脚本,发现有些功能是非常常用的,记录一下,备忘。 1.获取linux用户的Home目录 2.获取时间戳 3.判断字符串A是不是字符串B的子字符串 4.输...

  • @duval 是移植

    使用LineageInfo分析Hive表关系

    最近要做数据血缘,发现了Hive源码的一个类可以用来分析Hive表的关系:org.apache.hadoop.hive.ql.tools.LineageInfo 这个的源代码...

  • @默凡尘 这就是前端的活儿了,我不了解前端用的什么库。但是画图的算法是直接从atlas一直过来的,atlas自带了界面。

    使用LineageInfo分析Hive表关系

    最近要做数据血缘,发现了Hive源码的一个类可以用来分析Hive表的关系:org.apache.hadoop.hive.ql.tools.LineageInfo 这个的源代码...