- 博客(147)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
原创 解决 sharp: Installation error: unable to verify the first certificate
重点是这行:sharp: Installation error: unable to verify the first certificate。可知是安装sharp 有问题。设置中国镜像,问题解决。
2023-10-20 13:01:27 1739
原创 Codis命令快速查询
// 启动dashboardnohup ./bin/codis-dashboard –ncpu=1 –config=./config/dashboard.toml –log=dashboard.log –log-level=WARN &// 关闭dashboard./bin/codis-admin –dashboard=127.0.0.1:18080 –shutdown//...
2019-09-17 23:54:22 1594
原创 Codis 快速启动注意事项
按照 codis 的 tutorial 文档快速启动单机版测试 codis 集群,跟着文档走还是会遇到一些坑。下载安装各种组件的过程就不说了,就记录一下在虚拟机中快速启动codis集群遇到的问题。首先,单机版是“无任何外部组件依赖”的,这句轻描淡写的话需要你格外注意,如果你和我一样在启动codis-dashboard后,没有正常关闭它。要知道我是学习的时候在虚拟机中安装的,随意关闭虚拟机是常有...
2019-09-08 23:04:14 671
原创 Fork/Join的使用
一、概述Fork/Join框架是Java7提供的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。(http://www.infoq.com/cn/articles/fork-join-introduction)二、使用举例计算从1加到1亿的总和。当然这里只是用来说明Fork/Join框架的使用方法,从
2017-09-03 20:29:16 795
原创 Java8新特性的总结
一、Lambda表达式二、stream apipackage com.my.test9;import java.util.ArrayList;import java.util.Comparator;import java.util.List;import java.util.stream.Collectors;/** * Title: * Intenti
2017-09-02 17:01:18 476
原创 Zookeeper学习笔记(六)分布式Barrier
当我们需要多个线程同时启动时,我们可以使用jdk自带的CycliBarrier。先来看看它的常用用法:package com.my.CuratorTest;import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;/** * Title: * Inte
2017-08-26 16:49:24 691
原创 Zookeeper学习笔记(五)分布式计数器
分布式计数器的思路是:指定一个Zookeeper数据节点作为计数器,多个应用实例在分布式锁的控制下,通过更新该数据节点的内容来实现计数功能。Curator中封装了实现,例如 DistributedAtomicInteger 和 DistributedAtomicLong。我写的一个测试用例却并没有达到我认为的结果,不知是哪里理解有误,望有缘人指出:package com
2017-08-23 00:13:29 3152
原创 Zookeeper学习笔记(四)分布式锁
一、排他锁与共享锁分布式锁是控制分布式系统之间同步访问共享资源的一种方式。分为排他锁和共享锁。排他锁排他锁(Exclusive Locks, 简称 X 锁),又称为写锁或独占锁,是一种基本的锁类型。如果事务T1对数据对象O1加上了排他锁,那么在整个加锁期间,只允许事务T1对O1进行读取和更新操作,其他任何事务都不能再对这个数据对象进行任何类型的操作——直到T1释放了排他锁。共享锁
2017-08-20 17:24:56 3215
原创 Zookeeper学习笔记(三)Master选举
Curator是一个非常流行的Zookeeper开源客户端,是Netflix公司开源的一套ZooKeeper客户端框架,作者是Jordan Zimmerman。它解决了很多ZooKeeper客户端非常底层的细节开发工作,包括连接重连、反复注册Watcher和NodeExistsException异常等,目前已经成为Apache的顶级项目,是全世界范围内使用最广泛的ZooKeeper客户端之一。
2017-08-20 11:08:04 578
原创 Zookeeper学习笔记(一)简介
参考自官方文档 http://zookeeper.apache.org/doc/trunk/zookeeperStarted.htmlZookeeper的介绍可以参考这篇博客系列:http://www.cnblogs.com/leocook/p/zk_0.html 此外官网上的说明也可以看一下,这里就不再赘述。一、下载安装首先去官网上下载当前稳定版本:3.4.10
2017-07-16 11:42:50 486
原创 堆的应用
一、堆排序堆排序见之前的一篇博客 http://blog.csdn.NET/zhutulang/article/details/7746033这里用上一篇文章 http://blog.csdn.net/zhutulang/article/details/74139914 中实现的堆来写一个堆排序二、top k 问题三、优先队列
2017-07-07 22:48:56 1219
原创 一个堆的java实现
写了一个堆的java实现,既然可用数组来表示堆,为了方便,那么就用ArrayList吧。抽象类Heap:package com.my.test6;import java.util.ArrayList;/** * Title: 堆的抽象实现 * Intention: 参考:https://my.oschina.net/BreathL/blog/71602 * * Class
2017-07-02 17:45:06 714
原创 关于堆的一点总结
一、什么是堆堆是一颗被完全填满的二叉树,可能的例外是在底层,底层上的元素从左到右填入,这样的树被称为完全二叉树。二、堆的特性1、如果一个堆有N个节点,那么堆的高度为 h = [lgN] 。即N 在 2h 到 2h+1-1 之间。2、父节点的值大于(大顶堆)或小于(小顶堆)子节点的值。三、堆支持的操作1、上浮 shiftup2、下沉 shiftd
2017-07-01 23:22:02 558
原创 Netty使用websocket协议实现汽车行驶轨迹追踪demo
一、demo说明本demo使用netty实现了在网页上实时查看汽车行驶当前位置的功能。当然这里只是一个演示的demo,所有的位置数据都是预先在百度地图上采集好保存在服务端的。代码参考了《Netty权威指南》。效果如下:二、流程说明当打开网页时,创建一个websocket连接到服务端。服务端用一个map来保存ChannelHandlerContext,key是Channe
2017-03-26 21:42:18 2429 1
原创 NIO中ByteBuffer图解
ByteBuffer是java NIO中的缓冲区类。它有三个重要的索引,position:当前读写的位置,limit:最大能读写的位置,capacity:字节缓冲区的容量。三个重要的方法图示如下:
2017-02-15 21:56:36 603
原创 ANSI Common Lisp 笔记六(控制流)
一、区块有3个构造区块的基本操作符:progn , block 以及 tagbody 。1、在progn 主体中的表达式会依序求值,并返回最后一个表达式的值。2、一个 block像是带有名字及紧急出口的progn。第一个参数应为符号。这变成了区块的名字。在主体中的任何地方,你可以停止求值,并透过使用return-from指定区块的名字,来立即返回一个数值:CL-USER
2016-10-05 11:43:30 688
原创 ANSI Common Lisp 笔记五(哈希表)
摘自 《ANSI Common Lisp》一、make-hash-table 来构造一个哈希表,它不需要传入参数:CL-USER> (setf ht (make-hash-table))#一个哈希表,像是一个关联列表,是一种表达相关对象的方式。要取出与一给定键值有关的数值,我们调用 gethash 并传入一个键值与哈希表。预设情况下,如果没有与这个键
2016-09-26 21:39:45 576
原创 ANSI Common Lisp 笔记四(结构)
摘自 《ANSI Common Lisp》一、结构要定义一个结构,我们使用defstruct。在最简单的情况下,我们只要给出结构及字段的名字就可以了:CL-USER> (defstruct point x y )POINT这定义了一个 point 具有两个字段 x 与 y。它也隐性地定义了 make-point , point-p, copy-point,
2016-09-17 22:46:17 687
原创 ANSI Common Lisp 笔记三(字符与字串)
摘自 《ANSI Common Lisp》一、字符与字串字串是字符向量。我们用一系列由双引号包住的字符来表示一个字串常量,一个字符 c 用# \ c 表示。函数 char-code 返回与字符相关的数字,而 code-char 返回与数字相关的字符。如:CL-USER> (char-code #\a)97CL-USER> (code-char 97)#\
2016-09-17 11:31:18 919
原创 ANSI Common Lisp 笔记三(数组)
一、数组可以调用 make-array 构造一个数组。第一个参数为一个列表,为数组的维度(如果只想要一个一维数组,可以给make-array第一个参数一个整数,而不是一个列表)。数组在 Common Lisp里至少可以有七个维度,每个维度至少可以有1023个元素。:initial-element参数是选择性的。如果提供了这个参数,整个数组会用指定的值作初始化。CL-USER> (s
2016-09-17 11:30:38 694
原创 ANSI Common Lisp 笔记二(列表)
摘自 《ANSI Common Lisp》一、构建cons函数可以用于构建列表,如:CL-USER> (cons 'a 'b)(A . B)CL-USER> (cons 'a '(1 2 3))(A 1 2 3)CL-USER> cons真正所做的事情是,把两个对象结合成一个有两部分的对象,称之为 Cons 对象。概念上来说,一个 Cons是一对指针;第
2016-09-16 21:43:19 692
原创 ANSI Common Lisp 笔记一
一、数据类型Lisp中有其它语言所没有的两种类型:符号(symbol)和表(lists)。符号是单词 (words)。无论你怎么输入,通常它们被转换成大写:CL-USER> 'mikeMIKECL-USER>注:输入 :abort 跳出错误 列表 是由被括号包住的零个或多个元素来表示。元素可以是任何类型,包括列表。你必须引用列表,不然 Li sp 会以为这是一
2016-09-13 23:02:08 968
原创 RocketMQ 入门部署
通过RocketMQ 项目主页的Quick start了解RocketMQ的安装部署(Linux下)。一、必备条件64bit OS, best to have Linux/Unix/Mac;64bit JDK 1.6+;Maven 3.xGitScreen二、基本安装步骤1、进入你的安装目录:我这里是/usr/local/development/rock
2016-09-04 23:24:00 2522
原创 关于用JAX-WS调用webservice异常:Server did not recognize the value of HTTP Header SOAPAction: .
在调用一个webservice接口的时候发现用wsimport 生成客户端代码调用正常,但是通过soap消息直接调用则抛异常:Server did not recognize the value of HTTP Header SOAPAction: .经过长时间搜索找到这篇文章:http://www.tuicool.com/articles/RBVrUv文章指出“在
2016-08-31 17:23:29 13589 2
原创 rest风格api实践初探
经常听到rest风格api这个词,那么到底什么是rest api呢?(Representational State Transfer)?表述性状态转移?《Spring实战》上说:REST就是将资源的状态已最合适的形式从服务器端转移到客户端。我在看了很多博客和资料后仍然感觉到头大,我个人感觉关于这方面的资料很混乱,当然我确实也没有那个心思去看REST提出者Roy Fielding的那篇博士论文Arc
2016-07-26 23:02:18 3163
原创 spring data redis 配置
参考:http://www.linuxidc.com/Linux/2015-04/116798.htm纠结了半天,最终还是放弃使用spring data redis。因为它好像是不支持读写分离的。我想要一主多从,写在master上,读在slave上(我还配置了sentinel,用作主备切换),但是就我从spring官网上看的例子以及网络上找到的资料来看,spring data redi
2016-07-23 14:13:38 3724
原创 redis.conf文件详解
redis.conf文件可以在github上查看,下面是我整理的其中的配置项(版本是3.2)的解析,尽量全面一些吧。1、include功能:引入其它配置文件。比如说当你有多个server,而有一些配置项是它们公用的,那么你可以将这些公用的配置项写进一个配置文件common.conf里,然后这些server再include这个配置文件,这些server自己的配置项则分别写在自己的配置文件里。
2016-07-21 17:13:29 16942 1
原创 Quartz基本概念
参考:http://geniuszhe.blog.163.com/blog/static/119346820141142437889/Quartz是一个超级强大的任务调度框架,基本上每一个java开发者都会用到它。首先来看一下Quartz中的一些基本概念,其中三个核心的概念是调度器(Scheduler)、任务(Job)、触发器(Trigger)。一、核心概念(1)任务 Jo
2016-07-21 17:11:45 2526
原创 Google Maps JavaScript API 使用
这两天用了Google Maps JavaScript API 中的一个自动填充地址表单的api,api地址是:https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform使用的时候,填入详细地址,google map api就会去获取这个地址的详细信息,
2016-06-16 17:51:46 5452
原创 通过spring JaxWsPortProxyFactoryBean调用webservice接口
以下是一个通过spring JaxWsPortProxyFactoryBean调用wenservice接口的实例。这个到目前还可用的、免费的webservice接口地址是:http://www.webservicex.net/globalweather.asmx?wsdl首先,我们需要用wsimport 生成客户端需要的java类:wsimport -d G:\tmp -keep -v
2016-06-16 16:42:10 8547 3
原创 Common Lisp入门笔记(五)书后习题
摘自 《Lisp语言- 陈光喜》P28 1.10 习题1、写出下列数学式子中的中缀表达式(+ (+ (* 3 3) (* (- (/ (* 17 5) 6) 4) 8)) 49)(+ (* 2 (sin (- (+ (/ x y) e) (* 3 y)))) (* 45 (* x x)))(+ (+ (+ (+ (+ (* (* a
2016-05-16 09:43:54 1121
原创 Common Lisp入门笔记(四)函数
一、函数1、defunCommon Lisp中定义函数使用defun来完成。通常需要3个以上的参数:函数名、参数表、函数体。例如:>(defun area(r) (* PI r r))>AREA在Common Lisp中,每个函数的地位都是一样的,没有所谓的main函数。函数调用的求值规则就是表达式求值规则:首先对每个参数从左到右求值
2016-05-15 21:40:36 1158
原创 Common Lisp入门笔记(三)条件和循环
一、条件在Lisp中用原子t 表示真,nil表示假。 一般说来,函数名以字母 p 的 lisp 函数用于检验对象具有某种属性。例如,symbolp,listp,keywordp,boundp,fboundp,numberp,typep,oddp,evenp,zerop。像这一类返回值为真或假的函数称为微词 predicate 。1、typep 用于测试某个对象是否具有指定的类型。如
2016-05-15 15:48:25 2633
原创 Common Lisp入门笔记(二)赋值与输入输出
摘自 《Lisp语言- 陈光喜》一、赋值(1)letLisp中使用let来完成局部变量的定义。其形式为:(let ((var1 exp1)(var2 exp2)…(varn expn))
2016-05-08 21:39:12 6069
原创 Common Lisp入门笔记(一)7个基本运算符
表达式实例:>(+ 1 2)>3Common Lisp表达式求值规则是:首先对每个参数从左到右进行求值;其次将这些已经求值的参数作为运算符函数的参数进行函数调用求值;所求得的值作为表达式的值返回。一、Lisp的数据类型Lisp有其它语言的一切类型,还提供另外其它语言没有两种类型: symbol(符号)和 list(表)。(1)符号显示时总是被转换为大写。一般
2016-05-08 18:13:36 6026
转载 TCP连接的11种状态变迁
转自:http://blog.csdn.net/engrossment/article/details/8104482 http://blog.csdn.net/xiaofei0859/article/details/6044694TCP连接的11种状态变迁 1、先上图:2、全部11种状态
2016-04-14 16:01:37 5027
转载 What is CyclicBarrier in Java
转自:http://javarevisited.blogspot.hk/2012/07/cyclicbarrier-example-java-5-concurrency-tutorial.htmlWhat is CyclicBarrier in Java CyclicBarrier in Java is a synchronizer introduced in JDK
2016-04-13 11:31:51 680
转载 What is CountDownLatch in Java
转自:http://javarevisited.blogspot.hk/2012/07/countdownlatch-example-in-java.htmlWhat is CountDownLatch in Java CountDownLatch in Java is a kind of synchronizer which allows one Thread to wait fo
2016-04-13 11:30:17 774
原创 webservice 入门笔记五handler处理信息
Handler非常像Servlet技术中的Filter。我们知道,在Servlet中,当一个HTTP到达服务端时,往往要经过多个Filter对请求进行过滤,然后才到达提供服务的Servlet,这些Filter的功能往往是对请求进行统一编码,对用户进行认证,把用户的访问写入系统日志等。相应的,Web服务中的Handler通常也提供以下的功能:对客户端进行认证、授权; 把用户的访问写入系统日志
2016-04-11 21:40:42 1406
rest api java demo(一个记账工程)
2016-07-26
windows版的redis(3.0.501版)master-slave
2016-07-24
webservice入门学习代码笔记
2016-04-11
“简易版飞鸽传书”源码
2015-10-23
java仿windows计算器
2012-11-12
oracle 中建触发器问题
2014-05-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人