因为在做hadoop计算的时候需要按照时间来分片,所以需要对long型的时间戳进行Partition,本来想了一下两个时间先归零到当天的0点,然后想减除以24小时就是中间的天数,这个算法没错,但是我没有考虑到时区的问题,归零的算法是(t1-t1%h24)t是时间戳,h表示一小时的毫秒数,这样归零其实是格林威治时间的归零,在我们这边正好的8点钟,这样就会把两天的数据并到一个分区里面,网上也有做法是
定义枚举实例时按照顺序定义的好处
java的枚举基本上大家都用过,枚举定义时候的顺序对程序的影响呢,呵呵,我也是最近才发现这个问题,这涉及到两个方法
JSF中的消息处理的一点补充说明
首先上后端消息处理的一段代码:
这里有三个参数,第一个引号的地方应该填message标签for属性的内容,记住不要填ID,我没看过源码,但是我猜测这个消息应该是发给一个UI组件,然后由组件来派发消息的, FacesMessage 里面后面两个参数一个是消息内容,一个是消息明细说明(这个显示与否是由showDetail=”true”来决定的 ),好了,说完这个再上一段代码
maven如何打包可运行的Jar
现在写后端非WEB程序比较多,每次需要手工的拷贝lib里面的jar 包,然后启动脚本里面还要写classpath,特么完全是在坑爹,为了偷懒,我找了一下maven中的配置,发现可以配置可运行包,并且直接拷贝依赖JAR到lib下,还把classpath放在打包好的程序描述文件中,简直是神器,这里留下一笔
关于数字运算符值得注意的一点小问题
直接上代码
参数的作用域
先上一段代码
NIO内训时使用的代码拿出来分享一下
最近给内部做了一个NIO的分享,是基于JKD1.6的JDK的,由于我不喜欢写PPT,所以就只写了一个DEMO,现在把代码拿出来分享一下,关于NIO的使用方法,以及如何扩展都在代码的注释里面写着的,希望对需要的同学有帮助。
while和for的效率问题
今天突发奇想试了一下这么一个代码:
设计模式在一个用户访问路径分析系统架构设计中的应用
设计模式在一个用户访问路径分析系统架构设计中的应用
前天接到一个项目,需要采集用户行为进行分析,例如:有N个页面,每个页面有都按钮和链接,需要记录每次用户一些特征行为,如:
特征行为一:A页面点击一个按钮跳到B页面,然后在B页面点击一个链接跳到C页面,然后在C页面点击下载。
SocketOptions属性的使用解读
在API中我门可以看到三种前缀,”IP”.”SO”.”TCP”,也分别有独立的意义,”IP”是用来设置IP类设置的(PS:说这话感觉有点白痴),”SO_”其实是SocketOptions的缩写,当然意思我就不解释了,还有一个”TCP_NODELAY”是针对TCP的设置的,先从最常见的讲起吧。
- TCP_NODELAY:
API说明: 对此连接禁用 Nagle 算法
解读: nagle算法根据创建者John Nagle命名。该算法用于对缓冲区内的一定数量的消息进行自动连接。该处理过程(称为Nagling),通过减少必须发送的封包的数量,提高了网络应用程序系统的效率。具体的算法原理自己可以google一下,这个算法说到了缓冲,其实这对实时性要求高的系统会有一定的影响,如IM和游戏,可能会有与缓冲大小太大导致有明显的停顿。在JAVA里面nagle是默认开启的,如果存在需要实时性需求的话可以关闭该算法降低信息的延时。