05 2018 档案
摘要:原子性: 原子性就是指该操作是不可再分的。不论是多核还是单核,具有原子性的量,同一时刻只能有一个线程来对它进行操作。简而言之,在整个操作过程中不会被线程调度器中断的操作,都可认为是原子性。比如 a = 1; 非原子性: 也就是整个过程中会出现线程调度器中断操作的现象 类似"a ++"这样的操作不具有
阅读全文
摘要:volatile保证可见性 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作的可见性,即一个线程修改了某个变量的值,这新值对其它线程来说是立即可见的 2)禁止进行指令重排序 volatile不能确保原子性 在访
阅读全文
摘要:JMM关于synchronized的两条规定: 1)线程解锁前,必须把共享变量的最新值刷新到主内存中 2)线程加锁时,将清空工作内存中共享变量的值,从而使用共享变量时需要从主内存中重新获取最新的值 (注意:加锁与解锁需要是同一把锁) 通过以上两点,可以看到synchronized能够实现可见性。同时
阅读全文
摘要:JavaScript小数在做四则运算时,精度会丢失,这会在项目中引起诸多不便。先看个具体的例子: //较小的数运算 console.log(0.09999999 + 0.00000001); //0.09999999999999999 console.log(-0.09999999 - 0.0000
阅读全文
摘要:前言: Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 i
阅读全文
摘要:elasticsearch环境搭建及单节点搭建可参考我的上一篇:http://www.cnblogs.com/xuwenjin/p/8745624.html 本文以Elaticsearch 6.2.2 版本为基础,讲解Elasticsearch三个节点的分布式部署、核心配置的含义以及分布式部署遇到的
阅读全文
摘要:同步一个表,可以参考我的上一篇 logstash-jdbc-input与mysql数据库同步。 同步多个表的做法,跟一个表类似,唯一不同的是 .conf 文件中的配置。 在这里我加了一个脚本文件jdbc-seckill.sql,是为了查询第二个表的数据(其实也可以不要此文件,而是直接将sql写在 .
阅读全文
摘要:大多数情况下我们的数据都存放在了数据库中,但是elasticsearch它有自己的索引库,那么如果我们在做搜索的是时候就需要将数据库中的数据同步到elasticsearch中,在这里我们使用logstash的logstash-jdbc-input的插件进行与数据库的同步,对于logstash与数据库
阅读全文
摘要:JSONObject,JSONArray是JSON的两个子类。 首先我们来看JSONObject源码: 会发现JSONObject是继承Map<String, Object>,并且都是使用的Map中的方法。可以说JSONObject相当于Map<String, Object> 看个具体的列子: 运行
阅读全文
摘要:在项目中使用到了fastjson,故研究了一下。现将自己的几个测试用例和大家分享一下~ 首先在pom.xml文件中,加入依赖: 创建一个实体类: 接下来看测试用例: 1、对象与json 运行结果: 注意事项: 1、对象转json字符串时,对象中的NodeName首字母是大写,转出来是小写。 2、js
阅读全文
摘要:在项目中使用到了ObjectMapper,故研究了一下。现将自己的几个测试用例和大家分享一下~ 首先在pom.xml文件中,加入依赖: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-dat
阅读全文
摘要:在使用ObjectMapper将json转对象,调用mapper.readValue(jsonStr, XwjUser.class)时,报如下错: 解决办法:在XwjUser实体类中,加入无参构造器,即可解决
阅读全文