- 博客(196)
- 资源 (37)
- 收藏
- 关注
原创 Jackson介绍
原文链接:http://www.dubby.cn/detail.html?id=9068Jackson作为一个知名,并且经典的Java平台的JSON库,有人说它是最好的JSON解析工具,或者只是一个简单的还行的JSON解析库,不管如何Jackson都是一个值得一学,值得一用的JSON处理库。Jackson不仅支持流式处理json,还支持数据绑定(POJO和JSON之间的相互转化),甚至还拓展了很多其
2017-12-09 17:18:17 1575
原创 使用Redis实现分布式锁
原文链接:http://www.dubby.cn/detail.html?id=9067加锁 网上大部分建议都是使用SETNX,这个本身没有什么问题,因为低版本的Redis中,只有这个命令可以互斥的Set一个Key。但是随着Redis版本的升高,提供了更多的命令来更好的满足我们的需求。SETSET key value [EX seconds] [PX milliseconds] [NX|XX]
2017-12-03 15:56:01 547 2
原创 Unsupported major.minor version 52.0
编译的时候用的Java版本较高,而运行时用的Java版本较低版本对照关系如下:J2SE 9 = 53J2SE 8 = 52J2SE 7 = 51J2SE 6.0 = 50J2SE 5.0 = 49JDK 1.4 = 48JDK 1.3 = 47JDK 1.2 = 46JDK 1.1 = 45
2017-12-02 22:41:38 186
原创 CORS(跨域资源共享)理论篇
原文链接:http://www.dubby.cn/detail.html?id=9065 CORS:Cross-Origin Resource Sharing (跨域资源共享)HTTP 响应首部字段Access-Control-Allow-Origin响应首部中可以携带一个 Access-Control-Allow-Origin 字段,其语法如下:Access-Control-Allow-Or
2017-12-01 18:07:20 331
转载 【转载】Intellij IDEA win下快捷键
原文链接:http://blog.csdn.net/rainytooo/article/details/51469362Ctrl 快捷键 介绍 Ctrl + F 在当前文件进行文本查找 (必备) Ctrl + R 在当前文件进行文本替换 (必备) Ctrl + Z 撤销 (必备) Ctrl + Y 删除光标所在行 或 删除选中的行 (必备) Ctrl + X
2017-11-26 14:24:15 224
翻译 【浅度渣文】JVM——简述垃圾回收
原文链接:http://www.dubby.cn/detail.html?id=9062垃圾回收的简单描述什么是自动垃圾收集?自动垃圾收集是查看堆内存的过程,可以识别哪些对象正在使用,哪些不是,以及删除未使用的对象。一个正在使用的对象或一个被引用的对象,意味着你的程序的某个部分仍然保持着一个指向这个对象的指针。未使用的对象或未引用的对象不再被程序的任何部分引用。所以未被引用的对象所使用的内存可以被回
2017-11-20 10:20:17 336
原创 jvisualvm插件安装的正确姿势(解决网络问题)
原文链接:http://www.dubby.cn/detail.html?id=9061jvisualvm是学习JVM的必备神器,其本身的功能已经非常强大了,但是还有更加丰富的插件,可以让我们用的更得心应手。安装插件的步骤如下:但是安装的过程中,是不是遇到了网络错误:没错,我也遇到了,很头疼,咋办呢?没想到这个站点都关了,看来这个方法是没办法了,所以,只有自己下载插件,然后本地安装了。https:/
2017-11-17 20:38:42 5403 2
翻译 【浅度渣文】BTrace简介
原文链接:http://www.dubby.cn/detail.html?id=9060 别着急着上手,请按捺住你的迫切的心情,稍微花点时间看看BTrace的介绍,然后开始动手操作。注意,这里给出最简单,最基本,也是最常用的使用方法。BTrace是一个安全的,动态的Java跟踪工具。BTrace通过运行Java程序的动态(字节码)工具类来工作。BTrace将追踪操作插入到正在运行的Java程序
2017-11-17 19:08:49 276
翻译 【浅度渣文】JVM——G1收集器
原文链接:http://www.dubby.cn/detail.html?id=90591. 概述介绍本文涵盖Java中Java虚拟机(JVM)G1垃圾收集(GC)的基础知识。 在文的第一部分中,提供了对JVM的概述以及对垃圾收集和性能的介绍。 接下来的学生将看到CMS收集器如何与热点JVM一起工作。 接下来,一步一步的指导垃圾收集如何使用G1垃圾收集与热点JVM的工作。 接下来,提供了一个覆盖G1
2017-11-17 16:06:12 675
原创 根据前序遍历和中序遍历的结果确定后序遍历
原文链接:http://www.dubby.cn/detail.html?id=9058 已知前序遍历和中序遍历: 前序遍历: GDAFEMHZ 中序遍历: ADEFGHMZ 求:后序遍历我们根据前序遍历可以找到第一个root节点;然后这个根据中序遍历可以知道这个root节点在哪里;如果root两边都有元素,说明这个root有左子树和右子树;如果root只有左边有
2017-11-14 19:41:24 1685
原创 二叉树遍历(前序遍历,中序遍历,后序遍历)
原文链接:http://www.dubby.cn/detail.html?id=9056定义树的节点类型(为节省篇幅省略了getter/setter):public class TreeNode<T> { private T value; private TreeNode<T> left; private TreeNode<T> right;}前序遍历前序遍历Preorde
2017-11-10 12:41:19 737
原创 从“熔断”和“降级”说起
随着微服务的兴起,很多名词都不断的提出,我想大家都听过一些,但是很多其实并不了解,今天起来看到了DD分享的《白话:服务降级与熔断的区别》,觉得分享的非常好,通俗易懂,可是我心中想要的东西不止这些,所以这里献丑,分享一下我的想法。就从“熔断”和“降级”说起吧。什么是熔断?其实很多时候,看到他真正的原词,你就会明白他是个什么东西了,因为作者总是希望你们能理解他的意图,所以命名时总会挑选一个最接近的词。
2017-11-06 14:32:23 3586
原创 使用Disruptor的几个代码演示
原文链接:http://www.dubby.cn/detail.html?id=9052代码地址:https://github.com/dubby1994/disruptor-demo 关于Disruptor的原理,实在是太过复杂,限于我水平有限,这里就不一一展开。如果读者有兴趣,可以去看他们的官方文档,代码库已迁移到GitHub,https://github.com/LMAX-Exchange
2017-10-29 12:04:28 3533
转载 伪共享(False Sharing)
原文地址:http://ifeve.com/false-sharing/ 原译文地址:http://ifeve.com/falsesharing/ 作者:Martin Thompson 译者:丁一缓存系统中是以缓存行(cache line)为单位存储的。缓存行是2的整数幂个连续字节,一般为32-256个字节。最常见的缓存行大小是64个字节。当多线程修改互相独立的变量时,如果这些变量共
2017-10-28 21:56:32 431
原创 Disruptor入门
转载自并发编程网 – ifeve.com 本文链接地址: Disruptor入门 本文作者翻译的已经非常好了,这里就不献丑,再次翻译了,直接转载,更正其中一些问题(小瑕疵,而且,其实是官方文档的错误,作者只是翻译时没有注意罢了),补全官方文档后没有翻译完的部分内容,并附上demo代码。获得Disruptor可以通过Maven或者下载jar来安装Disruptor。只要把对应的jar
2017-10-28 00:23:08 241
原创 Spring系列——MyBatis(XML版)
原文链接:http://www.dubby.cn/detail.html?id=9049 我相信读者如果看了《Spring系列——MyBatis》,肯定会不爽,因为习惯了用XML来写SQL,用什么注解?害得我又要重新学习,而且某些特性注解确实没有XML方便。所以,我来了,带来这篇XML版的MyBatis。 访问www.dubby.cn获取更多精彩内容。1. 你需要准备 如果你看过
2017-10-26 19:28:24 541
原创 MyBatis插入记录获取自增的ID(MySQL)
如果想只用简单的查询语句查出刚刚插入的记录的自增ID,我们可能会想到select max(id) from table_name,但是,很明显这是不可取的,只要稍微有点并发,这就是个错误的结果。没错,使用LAST_INSERT_ID()就可以了。SELECT LAST_INSERT_ID()为什么可以,因为这个是基于connection的,每个数据库连接是相互独立的,在使用各种ORM框架操作数据库时
2017-10-25 19:47:38 1729
原创 Spring系列——MyBatis
原文链接:http://www.dubby.cn/detail.html?id=9047 本来是打算今天写使用JdbcTemplate来操作数据库的,可是转念一想,这根本不会有人用,最多也就是让读者了解其原理,所以就直接跳到了MyBatis这一节吧。毕竟,这是很实用的。1. 你需要做的准备JDK 8 +Maven 3.0 +MySQL在MySQL中间一个测试库,并创建测试表CREAT
2017-10-25 18:57:31 309
原创 Spring系列——定时任务
原文链接:http://www.dubby.cn/detail.html?id=9046 本文简单介绍在Spring项目中怎么使用定时任务.1. 你需要准备的JDK 1.8 +Maven 3.0+2. 动手写代码2.1 项目依赖pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache
2017-10-25 14:22:29 259
原创 Spring系列——@RequestMapping
原文链接:http://www.dubby.cn/detail.html?id=90441. 基本用法可以修饰类,也可以修饰方法。修饰类是代表URI由此类(controlller)里的方法处理,修饰方法是详细指定哪个方法处理哪个URI请求。2. HTTP方法method可以指定特定的HTTP方法才可以映射:@RequestMapping(path = "/hello", method = Reque
2017-10-22 21:42:37 615
原创 Spring系列——上传文件
原文链接:http://www.dubby.cn/detail.html?id=90431. 我们要做什么使用Spring实现一个最基本的文件上传,文件下载的web应用。2.你需要什么MySQL 5.6或者更高版本大约15分钟一个最爱的编辑器或者IDEJDK 1.8 +Maven 3.0+3. 创建项目3.1 项目依赖pom.xml<?xml version="1.0" encoding
2017-10-21 21:22:11 696
原创 Spring系列——使用JPA来操作数据
原文链接:http://www.dubby.cn/detail.html?id=9042代码地址:https://github.com/dubby1994/spring-demo JPA全称Java Persistence API,Java持久性API(简称JAP)是类和方法的集合,以数据关系映射持久并存储到数据库,这是由Oracle公司提供方案技术。可以减少开发者自己操作数据库时需要很多臃肿的
2017-10-21 19:15:46 342
原创 Spring系列——访问MySQL
原文链接:http://www.dubby.cn/detail.html?id=90411.我们要做什么本文介绍如果使用Spring + JPA来实现最简单的MySQL访问的web应用。2.你需要什么MySQL 5.6或者更高版本大约15分钟一个最爱的编辑器或者IDEJDK 1.8 +Maven 3.0+3.创建项目3.1 项目结构maven项目,结构如下:└── src └──
2017-10-20 16:09:09 1014
原创 Spring系列——RESTful的web项目
原文链接:http://www.dubby.cn/detail.html?id=90401.目标是什么构建一个web应用,我们可以请求:http://localhost:8080/greeting返回一个JSON:{"id":1,"content":"Hello, World!"}还可以发起一个带参数的请求:http://localhost:8080/greeting?name=User返回一个JS
2017-10-20 12:51:45 5162 1
原创 雪花算法(snowflake)
雪花算法简单描述: + 最高位是符号位,始终为0,不可用。 + 41位的时间序列,精确到毫秒级,41位的长度可以使用69年。时间位还有一个很重要的作用是可以根据时间进行排序。 + 10位的机器标识,10位的长度最多支持部署1024个节点。 + 12位的计数序列号,序列号即一系列的自增id,可以支持同一节点同一毫秒生成多个ID序号,12位的计数序列号支持每个节点每毫秒产生4096个ID序号。看
2017-10-16 21:59:08 67653 13
原创 什么时候使用Unchecked Exception / Checked Exception?
Java为我们提供了异常,通常是通过throws来申明方法可能会抛出的异常,用throw来抛出异常,用try-catch来捕获异常并处理,但是,我们知道除了强制申明或捕获的异常(Checked Exception)之外,Java还为我们提供了Unchecked Exception。 强制申明或捕获Checked Exception是通过编译器保证的。对习用过C的人来说,可能觉得Exceptio
2017-10-09 23:53:28 882
原创 时时勤拂拭,勿使有尘埃
身是菩提树,心如明镜台, 时时勤拂拭,勿使有尘埃。 ——神秀一次小事故这是我第一次写非技术类文章,为什么要写呢?因为前几天上海雨很大,本人骑电动车上班(因为穷,所以是电动车),在经过一个十字路口的时候,因为闯黄灯加上雨大路滑,视线不好,直接被一辆出租车撞飞了,180°旋转落地!说实话,当时我的脑袋是蒙的,我想到我可能会死,可能会残疾,也可能会受伤,但是也许是天佑英才(命贱),竟然一点事
2017-09-27 22:35:25 306
原创 Tomcat漏洞之——通过PUT远程代码执行
原文链接:http://www.dubby.cn/detail.html?id=9034 本文仅为技术分享,任何利用里技术的行为都和本文无关。这是Tomcat在2017.9.19日公布的一个漏洞:根据邮件描述,我们下了windows版tomcat 7.0.79,安装成功后,需要首先允许tomcat进行PUT操作,也就是修改/conf/web.xml:<servlet> <ser
2017-09-26 23:26:27 17327 1
原创 Java Exception最佳实践
原文链接:http://www.dubby.cn/detail.html?id=9033 本篇文章主要给大家介绍一些众所周知的异常处理原则,但是也有部分鲜为人知,但也很有用的原则,希望能引发各位对异常处理的思考,以及在开发过程中,写出更优美的代码。1.异常介绍大致可以把异常分成三种情况下的异常(不正常情况):代码错误引发的异常:比如数组越界,空指针等。客户端错误调用引发的异常:比如用户名最
2017-09-26 23:23:55 505
翻译 Spring Boot 2.0 - WebFlux framework
本文翻译自:Spring Boot官方文档——WebFlux framework,Part V. The Web 本文并非转载,本人也看了http://www.jianshu.com/p/f4ff6d74ad4a,发现很多翻译都过于机械,疑似机器直接翻译,而且丢失了不少段落信息,所以我放弃了转载,而是自己重新翻译,限于本人水平,翻译过程如果有不足的地方,还请见谅。“两者都通过在反应堆顶部建
2017-09-23 16:06:42 1365
原创 尝试Spring Boot2 WebFlux(启动失败了?不要怕)
原文链接:http://www.dubby.cn/detail.html?id=9030代码地址:https://github.com/dubby1994/web-flux-demo 已经迫不及待的要试试刚刚出炉的WebFlux了?哈哈,那你就来对了pom.xml:<parent> <groupId>org.springframework.boot</groupId>
2017-09-22 17:47:45 6711
原创 ZooKeeper之观察者(watch)
原文链接:http://www.dubby.cn/detail.html?id=9028了解观察者zk中所有的读操作,getData(),getChildren()和exists(),都可以设置一个观察者。在zk中观察者(watch)的定义是:观察事件是一个一次性的触发器,会发送给设置了这个观察者的客户端,这个触发器只有在关注的数据改变时才会触发。对watch来说,有三个主要特性:一次性触发:观察
2017-09-19 23:14:56 1675 1
原创 ZooKeeper之会话(session)
原文链接:http://www.dubby.cn/detail.html?id=9027使用客户端来创建一个和zk服务端连接的句柄,这就是一个会话(session)。Session一旦建立,状态就是连接中(CONNECTING)状态,然后客户端会尝试去连接zk服务端,连接成功之后状态变成已连接(CONNECTED)。一般正常情况下只会有这两个状态。不过,还是会发生一些无法恢复的错误/故障,比如:se
2017-09-18 22:01:32 8530
原创 ZooKeeper中的数据模型
本文主要介绍zk中的各个概念,详细介绍请继续关注后续的文章0 简述 目录等价于路径,本人常用路径这个词,但是为了让读者更好的对比文件系统,所以尽量使用目录这个词,如果全文有我不经意间使用的路径,那么请见谅,这就是目录的意思zk中是一个有层次的命名,这一点很类似传统的文件管理系统。但是有一点不一样的,那就是每个目录既可以有内容,也可以有子目录。换句话说,那就是zk这个文件系统中,文件也可以是目
2017-09-17 21:52:07 617
原创 ZooKeeper快速上手(复制集群)
原文链接:http://www.dubby.cn/detail.html?id=9025 如果你还没有看到ZooKeeper快速上手,那么建议你先速快浏览一遍。复制集群的zk和单机的zk配置需要有一些新的,举个例子:tickTime=2000dataDir=/var/lib/zookeeperclientPort=2181initLimit=5syncLimit=2server.1=
2017-09-17 02:04:10 1203
原创 ZooKeeper快速上手
原文链接:http://www.dubby.cn/detail.html?id=9024本篇简介这篇文章主要面向ZooKeeper的初学者,介绍了简单的安装,配置,和命令,来尝试运行ZooKeeper。也提到了一些稍微负责的安装——互相复制的部署,日志的优化。当然,这也只是入门文档,如果还希望对ZooKeeper有更多的了解,可以继续关注dubby.cn。 注:ZooKeeper常被缩写成zk,
2017-09-16 19:19:41 381
原创 Spring Cloud入门之Spring Cloud Config(高可用,刷新配置)
原文链接:http://www.dubby.cn/detail.html?id=90221.高可用为了高可用一般最传统的做法就是:这个就是使用一个负载均衡设备来隐藏后面的配置服务器集群,这是很容易想到的,不过Spring Cloud给我另一种实现,那就是服务化配置中心。也就是把配置中心也注册到Eureka-Server上称为一个服务,这样,就和其他普通的服务一样做到了多实例,负载均衡,当然也做到了高
2017-09-12 23:24:40 24047 9
原创 Spring Cloud入门之Spring Cloud Config
Config Server创建配置中心:编辑demo.properties:from=default-1.0编辑demo-dev.properties:from=dev-1.0上传到远程仓库(https://gitee.com/yangzheng1994/config):git add .git commit -m "add config"git push origin master添加依赖:<
2017-09-12 22:58:32 507
原创 问题是从哪儿来的?
原文链接:http://www.dubby.cn/detail.html?id=9018珍妮特·乔瓦斯基的麻烦在冷战开始解冻的时候,珍妮特·乔瓦斯基(Janet Jaworski)打算用她毕生的积蓄去波兰拜访她的祖母。在获得签证之前她有一大堆的琐事要处理――填写5 份不同的表格;拜访一个公证人3 次,这个公证人总是到处跑,要见到他少则等3 天,多则得等6 个星期;4次昂贵的长途电话;9 封信;还要付
2017-09-07 00:38:36 462
原创 隧道尽头的灯
原文链接:http://www.dubby.cn/detail.html?id=9016最近,在日内瓦湖上的山脉中,建成了一条很长的汽车隧道。在投入使用之前,总工程师想起来,她忘了警告汽车司机在进入隧道之前把车灯打开。尽管隧道的照明设施很好,仍然需要预防停电的情况下发生灾难(在深山中这种意外是很可能发生的)。于是人们做了一个标牌,上面写着:警告:前有隧道请打开车头灯他们把标牌挂在隧道入口处,然后隧道
2017-09-06 23:46:33 391
Redis管理端
2018-12-30
machinelearninginaction
2017-12-21
btrace-bin-1.3.9.tgz
2017-11-17
深入理解java虚拟机
2017-11-15
tomcat 7.0.79
2017-09-26
rabbitmq(windows版)
2017-09-13
机器学习实战
2016-11-30
redis-3.2.1.tar.gz
2016-09-08
[云计算实践指南].(威尔特等).周庆辉等.扫描版.pdf
2014-06-06
[深入浅出数据分析(中文版)].(Michael.Milton).李芳.扫描版.pdf
2014-06-06
QML与C++混合编程.pdf
2014-06-05
IBM大型机汇编语言.pdf
2014-06-05
C语言与算法分析.pdf
2014-06-05
unix环境高级编程.rar
2014-06-05
深入理解linux内核.pdf
2014-06-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人