关闭

分片(Sharding)的全局ID生成

数据在分片时,典型的是分库分表,就有一个全局ID生成的问题。单纯的生成全局ID并不是什么难题,但是生成的ID通常要满足分片的一些要求: 不能有单点故障。 以时间为序,或者ID里包含时间。这样一是可以少一个索引,二是冷热数据容易分离。 可以控制ShardingId。比如某一个用户的文章要放在同一个分片内,这样查询效率高,修改也容易。 不要太长,最好64bit。使用long比较好操作,如果是96bit,那就要各种移位相当的不方便,还有可能有些组件不能支持这么大的ID。...
阅读(14364) 评论(2)

zookeeper运维

尽管zookeeper在编程上有很多的阱陷,API也非常的难用,但zookeeper服务本身可以说是很牢靠的了,所以在网上貌似关于运维的文章比较少。 但省心并不代表不会出麻烦,下面总结下zookeeper运维相关的东东。 重要的参考资料 这里有一个很好的Pdf,介绍了很多zookeeper的东东,作者是zookeeper的committer之一: http://www.infoq.com/...
阅读(57108) 评论(3)

Linux配置启动项,自启动服务

Linux下有两种机制,一个是旧式的System V initialization,它来源于Unix并且至今仍被各种Linux distros所采用;另一种是近几年提出的Upstart机制。 参考:http://www.cnblogs.com/cassvin/archive/2011/12/25/ubuntu_init_analysis.html 这个也可以说是Linux的蛋疼的地方了,启动的...
阅读(13907) 评论(0)

适应各种开发,测试,线上,线下环境的Spring配置方式

比如开发了一个中间件,比如是一个缓存系统,这个中间件要配置一个IP地址,还要配置一个Factory,从这个Factory里得到一个client,如: 然后这个中间件有三个集群(clusterA, clusterB, clusterC),分别给不同的业务使用,那就这时会有很多的配置的麻烦。 首先,从使用者的角度出发,应用不喜欢引入一堆的配置,它们只希望import一个配...
阅读(7172) 评论(0)

hazelcast的坑爹事

简介 开源中国的简介: Hazelcast是一个高度可扩展的数据分发和集群平台。特性包括: 提供java.util.{Queue, Set, List, Map}分布式实现。提供java.util.concurrency.locks.Lock分布式实现。提供java.util.concurrent.ExecutorService分布式实现。提供用于一对多关系的分布式MultiMa...
阅读(21801) 评论(4)

Java7里try-with-resources分析

这个所谓的try-with-resources,是个语法糖。实际上就是自动调用资源的close()函数。和Python里的with语句差不多。 例如: static String readFirstLineFromFile(String path) throws IOException { try (BufferedReader br = new BufferedReader(new ...
阅读(27628) 评论(9)

编绎调试HotSpot JVM及在Eclipse里调试

编绎整个OpenJDK要很久,而且有很多东西是不需要的。研究HotSpot的话,其实只要下HotSpot部分的代码就可以了。 下面简单记录下编绎调试HotSpot一些步骤。 一、编绎 进入hotsopt的make目录下: cd code/cpp/openjdk/hotspot/make/ 用make help可以看到有很多有用的信息。当然查看Makefile文件,里面也有很多有用的注...
阅读(6703) 评论(2)

http response乱码的真相

这个是很久以前的笔记,最近遇到一个编码问题,重新把它翻出来了。 这个只和java servlet有关,现在通常都用各种框架,很少会直接用到Servlet了。 查看servlet源代码的方法 查看servlet源代码的方法。因为servlet只是一些接口,并不是真正的实现,所以,如果想看真正的代码。 要去下对应的服务器的实现的源代码。比如Tomcat的代码在这里: http://a...
阅读(15236) 评论(0)

http request乱码的真相

当然,终极原因http协议里没有规定request一定要指定编码,导致浏览器,web服务器都各搞一套…… 下面一一理清。 首先,从浏览器端看下有多少种情况: 1.在浏览器的地址栏,或者搜索框里输入地址:http://www.test.com/衣服/search?keyword=T恤  2.在一个指定了编码的网页中,提交一个form,如: 你好 搜索 当然还有...
阅读(21040) 评论(1)

不用重新配置,用jconsole连接远程机器进程及获得本地进程的JMX Url的终极办法

估计有很多人都在想用jconsole连接远程机器上的进程时,发现没有配置jmx端口,或者其它的东东。 下面介始一种很简单的办法,可以不用重启远程机器的进程: ssh -X  192.168.66.66  -l username 连接上去之后,可以直接运行jconsole进程,然后在本机就会弹出一个jconsole的窗口了。 实际上这个不是用jconsole连接远程机器的进程,而是把...
阅读(3811) 评论(0)

Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom

Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom...
阅读(18670) 评论(1)

编绎OpenJDK

因为对于Java里的vtable,itable,有个地方还没搞明白,不得已去下个OpenJDK来研究下。 本来很不愿意去编绎OpenJDK,因为很有可能做的只是无用功,还有可能要去解决各种找不到链接库的问题。 不过,没想到虽然有些麻烦,但是出人意料的顺利。 环境:ubuntu 13.10,已经安装了oracle jdk7。 首先下载: wget http://down...
阅读(2572) 评论(0)

Spring Mobile是如何判断访问设备的类型的

Spring最近换域名了,去转转,发现了一个有意思的项目:spring mobile。 http://projects.spring.io/spring-mobile/ 这个项目有很多实用的功能,如识别访问我们网站的设备是什么类型的(手机,平板,PC),据域名或者url来切换不同访问内容,据不同的访问设备转到不同的view中。 识别访问设备类型的核心代码在org.springfr...
阅读(5658) 评论(0)

Java泛型原理笔记

T 到底是什么东东 Java泛型的语法相当的别扭,看到一个这样的写法,感觉到很神奇,正好研究下Java泛型是怎么实现的。 public class A{ public static void main(String[] args) { A a = new A(); a.test(); String r = a.test(); } public T test() {...
阅读(4022) 评论(0)

JSP 笔记

很久以前的笔记了,翻出来整理下。 有用的资源 在Tomcat的webapps/examples/ 目录下有很多实用详细的jsp代码例子。 JSP的本质 首先,JSP本质上是一个Servlet,jsp编绎器会把jsp文件编绎成一个对应的java类,而这个java类是实际上是一个servlet,从继承层次就可以看出来。 比如home.jsp,在tomcat下会生成一个home_jsp的类: ...
阅读(1300) 评论(0)
160条 共11页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1697138次
    • 积分:11689
    • 等级:
    • 排名:第1444名
    • 原创:129篇
    • 转载:29篇
    • 译文:2篇
    • 评论:349条
    博客专栏
    文章分类
    最新评论