- 博客(18)
- 资源 (2)
- 收藏
- 关注
原创 同步与堵塞完全是两码事
有人觉得堵塞就是同步,非堵塞就是异步,其实以前我也是这么想的,其实同步与堵塞这完全是两码事,所以写篇文章来说说为什么是两码事,也顺便说说各种组合的可以达到的效果,帮助大家了解底层的原理. 首先需要了解这些概念,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 779
原创 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 1535
原创 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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人