- 博客(47)
- 资源 (2)
- 收藏
- 关注
转载 RabbitMQ客户端参数性能测试(1)
RabbitMQ性能调优测试(1)作者: Coffee 时间: October 28, 2015 分类: java,分布式最近我在公司上线了rabbitmq,替换了原来阿里出的rocketmq(别说我黑阿里的东西,这玩意真的都是坑),我并不想告诉你rabbitmq安装过程是怎么样的,去看官网就知道,戳这里看看网上说rabbitmq效率多高多高,但是怎么测试也只有15
2015-10-28 20:54:52 4351 2
原创 基于snowflake算法实现了一个Sequence的Rest服务
首先简单讲讲Snowflake,snowflake是来自于Twitter的一个开源算法,github上有,但是找不到源代码,现在好像是一个公有的服务,然并卵,别人在墙外,我们还是来讲讲其算法,snowflake是用int64来表示一个序列号的,看上去和我们的时间戳很像,但是它的起始元年不是1970年,而是自定义的,你没看错,就是自定义的,然后时间戳里面只是记录下了当前毫秒与自定义的元年时间差,这样起
2015-10-12 12:02:27 4081
原创 golang控制channel的出入口
golang控制channel的出入口我们常常使用channel来在多个goroutine之间做数据通讯,但是chan作为函数的入参我们应该怎么写呢?也许有人觉得这个问题比较傻,不过这个还真的是我今天才知道的.首先我们看看下面的代码:func main() { c := make(chan int) go in(c) go out(c) time.Sleep(time
2015-05-01 23:05:17 1158
原创 如何加载指定路径的Logback.xml
如何加载指定路径的Logback.xml今天想外置logback.xml,谢了如下代码 File logbackFile = new File("./conf/logback.xml"); if (logbackFile.exists()) { LoggerContext lc = (LoggerContext) LoggerFactory.getIL
2015-03-18 21:53:25 17531 1
原创 关于tomcat下spring无法加载依赖jar中properties文件的原因分析
我们经常把spring需要加载的properties文件放在java/resources下面,这样存放的问题导致properties在打包后就在jar的根目录下,所以我们的spring的配置路径就是classpath*:xxx.properties,但是这样的jar我们在被其他项目引用的时候会发现properties文件老是无法加载,就这个问题从spring的源码来找找为什么会这样.
2015-01-07 15:12:06 6618 1
原创 MACPRO的锁屏和屏保是不一样的
转到mac一个月,发现和win还是有很大的不同,老是shift+ctr+power锁屏,但屏保就是不出来,而且时间久了就会自动关机,后来才发现在设置里面可以设置接通电源的时候关闭显示器的时候防止系统休眠,脑残了.再回到屏保的问题,其实我没有找到快捷键,但是有一个很好的东西就是触发角,我设置的是右上角,每次需要离开的时候只要鼠标往右上角拉到底,屏幕马上黑掉,进入屏保模式,这个功能比win碉堡了,
2014-11-27 10:06:26 8144
原创 聊聊Hash
在编程的时候经常用到遇到hash,但是hash的实质是什么?hash的原理是什么,如果吧hash的原理应用到实际的应用中,了解了hash的原理这些都可以迎刃而解,我是在看Threadlocal的时候看到了神奇数字,然后引发了对hash的深入的学习,把我的理解分享出来,希望对大家有所有帮助
2014-10-20 09:23:43 980 1
原创 Volatile 的使用场景及使用模式说明
参考文章:http://www.ibm.com/developerworks/cn/java/j-jtp06197.html
2014-10-14 10:05:24 9931
原创 对自己的吐槽
近两年有点脑子进水,开始的时候觉得spring太重,我用了guice,接下来觉得status不好,我换了Sitebricks,整合好以后我觉得java不好用了,跑去写golang,一直觉得小有成就,但是一直没有清晰明确的目标,做过的东西很多,但是没有可以拿的出手的精品.反思一下这两年看的东西很多,大数据,云计算,分布式,算法,并发,缓存,消息中间件,网络协议等等,因为只是凭兴趣研究没有实际应用
2014-10-12 22:14:12 439
原创 同步与堵塞完全是两码事
有人觉得堵塞就是同步,非堵塞就是异步,其实以前我也是这么想的,其实同步与堵塞这完全是两码事,所以写篇文章来说说为什么是两码事,也顺便说说各种组合的可以达到的效果,帮助大家了解底层的原理. 首先需要了解这些概念,OS里面有内核态和用户态两种,程序进行IO操作的时候一般是两步,第一步是IO初始化也就是准备好IO操作,第二步就是真正的IO操作.其中第一步决定同步还是异步,第二步决定堵塞还
2014-09-17 08:49:56 4131 2
原创 进程,线程,协程的相关解释
今天有个小弟问我进程线程的问题,给他解释的时候发现还是有点东西可以讲的,所以写下来,让没有弄清楚的人也通过的我看这东西的角度去理解这些编程时候遇到的概念. <p class="MsoListParagraph" style="margin-left:18.0pt;text-indent:-18.0pt;mso-char-indent-count:0;mso-list:l0 level
2014-09-17 08:49:53 597
原创 使用logback时候如何兼容其他日志框架
<span style="font-family:宋体;mso-ascii-font-family:Cambria;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Cambria;mso-hansi-the
2014-09-17 08:49:51 1576
原创 计算两个时间戳之间的天数的一种比较高效的算法
因为在做hadoop计算的时候需要按照时间来分片,所以需要对long型的时间戳进行Partition,本来想了一下两个时间先归零到当天的0点,然后想减除以24小时就是中间的天数,这个算法没错,但是我没有考虑到时区的问题,归零的算法是(t1-t1%h24)t是时间戳,h表示一小时的毫秒数,这样归零其实是格林威治时间的归零,在我们这边正好的8点钟,这样就会把两天的数据并到一个分区里面,网上也有做法是n
2014-09-17 08:49:49 2972
原创 软件项目版本号的命名规则及格式(转)
原文地址-http://www.cnblogs.com/sdjxcolin/archive/2007/07/02/803376.html版本控制比较普遍的 3 种命名格式 :一、GNU 风格的版本号命名格式 :主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]]Major_Version_Number.Minor_Version_Number[.Revision_Number[.Bui
2014-09-17 08:49:46 553
原创 定义枚举实例时按照顺序定义的好处
java的枚举基本上大家都用过,枚举定义时候的顺序对程序的影响呢,呵呵,我也是最近才发现这个问题,这涉及到两个方法public final int compareTo(E o);和public final int ordinal(); ordinal();返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零).这个方法很有意思,基本上大多数时候用不到,但是很多时候我们有种需求就是在定义一
2014-09-17 08:49:44 1903
原创 eclipse的远程调试
做笔记了,两个网址:http://www.ibm.com/developerworks/cn/opensource/os-eclipse-javadebug/
2014-09-17 08:49:42 420
原创 JSF的消息处理的一点补充说明
首先上后端消息处理的一段代码:FacesContext.getCurrentInstance().addMessage("form", new FacesMessage(FacesMessage.SEVERITY_ERROR, "这里是消息","这里是消息明细"));这里有三个参数,第一个引号的地方应该填message标签for属性的内容,记住不要填ID,我没看过源码,但是我猜测这个消息应该是发给
2014-09-17 08:49:39 780
原创 maven打包可运行的JAR
现在写后端非WEB程序比较多,每次需要手工的拷贝lib里面的jar 包,然后启动脚本里面还要写classpath,特么完全是在坑爹,为了偷懒,我找了一下maven中的配置,发现可以配置可运行包,并且直接拷贝依赖JAR到lib下,还把classpath放在打包好的程序描述文件中,简直是神器,这里留下一笔,免得以后一段时间不写代码了把这个给忘记了,呵呵. org.apache.mave
2014-09-17 08:49:37 390
原创 一个关于NIO的分析
最近给内部做了一个NIO的分享,是基于JKD1.6的JDK的,由于我不喜欢写PPT,所以就只写了一个DEMO,现在把代码拿出来分享一下,关于NIO的使用方法,以及如何扩展都在代码的注释里面写着的,希望对需要的同学有帮助。import java.io.IOException;import java.io.UnsupportedEncodingException;import java.net.Ine
2014-09-17 08:49:35 346
原创 参数的作用域
先上一段代码public class Test { public static void main(String[] args) { String a = "1"; a(a); } public static void a(Object o) { b(o); c(o); } public static void b(Object o) { Integer a = 2; o = a; }
2014-09-17 08:49:33 644
原创 关于数字运算符值得注意的一点小问题
直接上代码a-ba-a>-b;你认为三个表达式是一样的么?呵呵。其实不然,第二种是最安全的写法,第一种会出现溢出的问题,第三种由于数字类型是不对称的,也会导致溢出。其实在其他的数字运算符中都会有这种问题,也是变成过程中需要注意的,也希望看到这片文章的人在使用过程中注意规避这些问题。此篇从ITeye搬来,由于CSDN泄密事件,本事弃用Iteye账户
2014-09-17 08:49:30 478
原创 while和for的效率问题
今天突发奇想试了一下这么一个代码:public class Test { public static void main(String[] args) { long count = 10000000000L;//1000000000L;//100000000L;//10000000L; long i = 0; Date d1 = new Date(); while(i i++; }
2014-09-17 08:49:28 689
原创 设计模式在一个系统架构设计中的应用
前天接到一个项目,需要采集用户行为进行分析,例如:有N个页面,每个页面有都按钮和链接,需要记录每次用户一些特征行为,如: 特征行为一:A页面点击一个按钮跳到B页面,然后在B页面点击一个链接跳到C页面,然后在C页面点击下载。 特征行为二:D页面点击按钮跳到E页面,然后在E页面点击按钮跳到C页面,然后在C页面点击下载。 两个特征最后都在C页面下载软件,现在需要统计A-B-C-下载和D-E-C-下载这两
2014-09-17 08:49:26 541
原创 SocketOptions属性的使用解读
在API中我门可以看到三种前缀,”IP_”.”SO_”.”TCP_”,也分别有独立的意义,”IP_”是用来设置IP类设置的(PS:说这话感觉有点白痴),”SO_”其实是SocketOptions的缩写,当然意思我就不解释了,还有一个”TCP_NODELAY”是针对TCP的设置的,先从最常见的讲起吧。 1. TCP_NODELAY: API说明:对此连接禁用 Nag
2014-09-17 08:49:23 1536
原创 Nagle 与 SO_SNDBUF的问题(转载)
摘要:当使用TCP传输小型数据包时,程序的设计是相当重要的。如果在设计方案中不对TCP数据包的延迟应答,Nagle算法,Winsock缓冲作用引起重视,将会严重影响程序的性能。这篇文章讨论了这些问题,列举了两个案例,给出了一些传输小数据包的优化设计方案。背景:当Microsoft TCP栈接收到一个数据包时,会启动一个200毫秒的计时器。当ACK确认数据包发出之后,计时器会复位,接收到下一个数据包
2014-09-17 08:49:21 531
原创 JVM调优:对eclipse启动调优纪实(2)
接着昨天的干,首先看看昨天的日志,两次都是minoj GC,旧生代和持久代都没有可用GC,研究的重点就是这两次GC,从日志的最后HEAP信息来看 Heap def new generation total 157248K, used 19646K [0x04b00000, 0x0f5a0000, 0x0f5a0000) eden space 139776K, 9% used [0x0
2014-09-17 08:49:18 431
弃用ITEYE
虽然本次CSDN密码泄漏的密码中并没有我的密码,但是鉴于小网站的安全意识薄弱,我还是决定将笨博客启用,还是回到原来163的博客上去,地址:http://blog.163.com/coffee_hc...
2011-12-26 09:42:29 89
我对内部的一个NIO的分享
最近给内部做了一个NIO的分享,是基于JKD1.6的JDK的,由于我不喜欢写PPT,所以就只写了一个DEMO,现在把代码拿出来分享一下,关于NIO的使用方法,以及如何扩展都在代码的注释里面写着的,希望对需要的同学有帮助。 import java.io.IOException;import java.io.UnsupportedEncodingException;import ...
2011-09-01 09:48:28 108
关于数字运算符值得注意的一点小问题
直接上代码 a-b<0;a<b;-a>-b; 你认为三个表达式是一样的么?呵呵。其实不然,第二种是最安全的写法,第一种会出现溢出的问题,第三种由于数字类型是不对称的,也会导致溢出。 其实在其他的数字运算符中都会有这种问题,也是变成过程中需要注意的,也希望看到这片文章的人在使用过程中注意规避这些问题。...
2011-06-15 09:47:03 93
参数的作用域
先上一段代码 public class Test{ public static void main(String[] args) { String a = "1"; a(a); } public static void a(Object o) { b(o); c(o); } public static void b(Object o)...
2011-06-01 10:48:43 232
原创 设计模式在一个系统架构中的应用
特征行为一:A页面点击一个按钮跳到B页面,然后在B页面点击一个链接跳到C页面,然后在C页面点击下载。两个特征最后都在C页面下载软件,现在需要统计A-B-C-下载和D-E-C-下载这两种行为的分布(页面的访问时间,人数等),帮助运营更好的运营网站,这个有点类似AB测试,当然特征不止这两种,另外网站目前大约在20万UV,将来可能扩展到500万-1000万的UV,如何构建这个这个采集系统。...
2011-06-01 10:18:49 138
SocketOptions属性的使用解读
1. TCP_NODELAY:Nagle 算法。2. SO_TIMEOUT: ServerSocket.accept();SocketInputStream.read(); DatagramSocket.receive(); 选项必须在进入阻塞操作前设置才能生效。3. SO_SNDBUF: 解...
2011-06-01 10:11:31 276
对eclipse启动进行JVM优化纪实(3)
看看开启了4个项目的ECLIPSE启动并运行了一段时间的GC日志:3.704: [GC3.705: [DefNew: 209792K->25577K(235968K), 0.0981906 secs] 209792K->25577K(498112K),0.0983430 secs] [Times: user=0.09 sys=0.00, real=0.10 secs]...
2011-06-01 10:10:39 109
对eclipse启动进行JVM优化纪实(2)
接着昨天的干,首先看看昨天的日志,两次都是minoj GC,旧生代和持久代都没有可用GC,研究的重点就是这两次GC,从日志的最后HEAP信息来看Heap def new generation total 157248K, used 19646K [0x04b00000,0x0f5a0000, 0x0f5a0000) eden space 139776K, 9% us...
2011-06-01 10:07:37 96
对eclipse启动进行JVM优化纪实(1)
Eclipse.ini里面long long time为了让程序运行快点改过堆分配大小,其参数配置的改变只是固定了堆的大小,为此增加了两行:-Xms512m-Xmx512m今天突然想玩玩调优,稍微看来一点资料打算就开干了,我也不喜欢纸上谈兵那种只在没意思,也想把这个过程记录下来和大家分享一下,实现说明一下我对JVM的内存分配方式和GC机制只是稍微有点了解,如果有说错的地方请不要拍砖,请指正,也可以...
2011-06-01 10:02:20 87
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人