自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(5)
  • 资源 (8)
  • 问答 (1)
  • 收藏
  • 关注

原创 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 673

原创 Zookeeper学习笔记(五)分布式计数器

分布式计数器的思路是:指定一个Zookeeper数据节点作为计数器,多个应用实例在分布式锁的控制下,通过更新该数据节点的内容来实现计数功能。Curator中封装了实现,例如 DistributedAtomicInteger 和 DistributedAtomicLong。我写的一个测试用例却并没有达到我认为的结果,不知是哪里理解有误,望有缘人指出:package com

2017-08-23 00:13:29 3135

原创 Zookeeper学习笔记(四)分布式锁

一、排他锁与共享锁分布式锁是控制分布式系统之间同步访问共享资源的一种方式。分为排他锁和共享锁。排他锁排他锁(Exclusive Locks, 简称 X 锁),又称为写锁或独占锁,是一种基本的锁类型。如果事务T1对数据对象O1加上了排他锁,那么在整个加锁期间,只允许事务T1对O1进行读取和更新操作,其他任何事务都不能再对这个数据对象进行任何类型的操作——直到T1释放了排他锁。共享锁

2017-08-20 17:24:56 3193

原创 Zookeeper学习笔记(三)Master选举

Curator是一个非常流行的Zookeeper开源客户端,是Netflix公司开源的一套ZooKeeper客户端框架,作者是Jordan Zimmerman。它解决了很多ZooKeeper客户端非常底层的细节开发工作,包括连接重连、反复注册Watcher和NodeExistsException异常等,目前已经成为Apache的顶级项目,是全世界范围内使用最广泛的ZooKeeper客户端之一。

2017-08-20 11:08:04 558

原创 Zookeeper学习笔记(二)通过Java API调用Zookeeper

sss

2017-08-06 00:20:23 1249

rest api java demo(一个记账工程)

(1)项目简介 这个demo很简单,是一个记账小工程。用户可以注册、修改密码,可以记账、查找记账记录等。 (2)接口介绍 用户操作相关: post /users 用户注册 post /users/login 用户登录(这里我把login当成一个名词) put /users/pwd?userId=xxx&sign=xxx 用户修改密码 delete /users?uerId=xxx&sign=xxx 删除用户 记账记录操作相关: post /records?userId=xxx&sign=xxx 增加一条记账记录 get /records/:id?userId=xxx&sign=xxx 查询一条记账记录详情 put /records/:id?userId=xxx&sign=xxx 修改一条记账记录详情 get /records?查询参数&userId=xxx&sign=xxx 分页查询记账记录 delete /records/:id?userId=xxx&sign=xxx 删除一条记账记录 其中url中带sign参数的表示该接口需要鉴权,sign必须是url中最后一个参数。具体的鉴权方法是:用户登录后,服务器生成返回一个token,然后客户端要注意保存这个token,需要鉴权的接口加上sign签名,sign=MD5(url+token),这样可以避免直接传token从而泄露了token。这里我觉得接口最好还带一个时间戳参数timestamp,然后可以在服务端比较时间差,从而避免重放攻击。而且这样还有一个好处,就是如果有人截获了我们的请求,他想伪造我们的请求则不得不改时间戳参数(因为我们在服务器端会比较时间),这样一来sign势必会改变,他是无法得知这个sign的。如果我们没有加时间戳参数的话,那么,他截获了请求url,再重发这个请求势必又是一次合法的请求。我在这里为了简单一些,就不加时间戳了,因为这在开发测试阶段实在是太麻烦了。 (3)关于redis和数据库的说明 服务端在用户登录后,生成token,并将token保存到redis中。后面在接口鉴权的时候会取出token计算签名MD5(除sign外的url+token),进行比对。 这个demo搭建了一个redis主从复制,具体可以参考:http://download.csdn.net/detail/zhutulang/9585010 数据库使用mysql,脚本在 src/main/resources/accounting.sql

2016-07-26

windows版的redis(3.0.501版)master-slave

1、windows下redis,版本是3.0.501。特意弄了三份,用于搭建一个master和2个slave的主从复制。 2、压缩包下共三个文件,一个master,端口号是9379,一个slave1,端口号是9380,一个slave2,端口号是9381。另外,每个文件夹下各有一个sentinel.conf,用于启动sentinel。启动命令是redis-server sentinel.conf --sentinel 3、redis.conf配置项可参考:http://blog.csdn.net/zhutulang/article/details/51969760 搭建主从复制可参考:http://www.linuxidc.com/Linux/2015-04/116798.htm

2016-07-24

webservice入门学习代码笔记

本人自己的webservice入门学习的笔记。非常粗糙和浅显,主要是自己看的。博客地址:http://blog.csdn.net/zhutulang/article/details/51125459

2016-04-11

微信订阅号开发java_demo

微信订阅号开发java demo,只是接收、发送消息的接口。

2016-01-31

“简易版飞鸽传书”源码

该程序可实现在局域网内收发文字信息和文件的功能。希望可以通过这个样例让读者对java网络编程和IO编程有所了解。其中,主要参考了李刚的《疯狂java讲义》,有一些代码直接拷贝自该书第17章,头像图片来源于网络,特此说明。另外需要说明的是:本程序在jdk1.8下开发,在笔者的局域网环境下测试通过,能实现发送文字消息和传输小文件的功能,但笔者并不能保证能在你的环境下也一定可以测试通过~ O__O “…

2015-10-23

java仿windows计算器

java写的仿windows风格计算器 注: 1、没有监听键盘事件 2、按一次“=”,只执行一次计算。而windows计算器不同,例如,按下“2+3”,每按一次“=”,会在结果上再加一次3。 3、“%”运算逻辑与windows的不同,这里认为是 当前数/100。

2012-11-12

字符验证码识别的算是比较新的论文吧

一篇字符验证码识别的论文,或许对你有启发

2012-06-08

Java高精度计算文件

Java高精度计算文件,很好用!!!非原创,特此向代码原作者致敬

2011-10-05

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除