摘要: 改成IDE的模式 阅读全文
posted @ 2014-05-14 18:18 何锦彬 阅读(15103) 评论(7) 推荐(2) 编辑
摘要: 最近离职了, 突然记起来还一个小功能没做, 想想也挺简单,留下代码和思路给同事做个参考。换工作心里挺忐忑, 对未来也充满了憧憬与担忧。(虽然已是老人, 换了N次工作了,但每次心里都和忐忑)。写写代码反而心里平静了很多。入正题,上思路,其实很简单一 场景用户u1只能在A电脑登录,当在B电脑登录时,A电脑登录状态被取消二 思路1.创建一个session监听器去监听session属性的创建2,用个map储存(如果用户量大可以用KV数据库,如redis之类),K 为用户名, V为session的3. 当检测到session的属性 userName添加时,把对应的session中userName属性清空 阅读全文
posted @ 2014-02-20 17:23 何锦彬 阅读(3085) 评论(10) 推荐(3) 编辑
摘要: 有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个文件占用了内存太大了。使用例子如下,用JAVA 运行Sort1, 输入你要排序的文件路径 , 如 例子是对H:\下的文件和它所有子文件夹下的文件进行排序2, 输入需要进行排序显示的最新大小,如 例子是对10M 大小 以上的文件进行排序3,从大到小排序后按文件路径\文件名-------大小 KB--------创建日期进行显示(yyyyMMdd)格式进行显示,。这样你就可以把太大的文件删除了,清理出 阅读全文
posted @ 2014-02-18 15:06 何锦彬 阅读(2562) 评论(8) 推荐(0) 编辑
摘要: 如果是内存调优,请看我以前一篇博文http://www.cnblogs.com/springsource/archive/2013/01/11/2856968.html调优演示1. 先写一个死锁小程序,如下package com.he.jin.bin;/** * QQ 277803242 * * @author 何锦彬 2014.1.29 * * 线程死锁演示调优 * */public class Test4DeadLock extends Thread { public static Object obj1 = new Object(); public static Obj... 阅读全文
posted @ 2014-01-29 10:38 何锦彬 阅读(895) 评论(0) 推荐(0) 编辑
摘要: 每次设置root和远程访问都容易出现问题, 总结了个通用方法, 关键在于实用 step1: # mysql -u root mysql mysql> Grant all privileges on *.* to 'root'@'%' identified by 'root' with grant o 阅读全文
posted @ 2013-07-09 14:05 何锦彬 阅读(447) 评论(1) 推荐(0) 编辑
摘要: 为什么要深究spring,博主是为了学习spring的源码设计,学习OOP框架设计的思想,OOP的五大原则如下开闭原则是目的。--“Software entities should be open for extension,but closed for modification”。依赖倒置为手段。--“面向接口编程。 不要面向具体实现,要面向抽象进行编程”里氏代换原则是继承复用的基石。--“子类可以替换掉基类,功能不受到影响”接口隔离原则是实现迪米特法则的手段之一。--“使用多个专门的接口比使用单一的总接口要好,不要形成臃肿的大接口”迪米特法则。-- “最少知道原则(Least Knowle 阅读全文
posted @ 2013-06-04 23:22 何锦彬 阅读(692) 评论(0) 推荐(1) 编辑
摘要: 线程池一 ,java.util.concurrent1,首先,为什么要用线程池包?1,用线程池包和数据库连接池一样,为了节省线程的创建和关闭时间2,扩充了返回类型,实现runable只能通过共享数据和主线程通讯,通过callable 可以接受返回类型,并可以抛出异常在主线程捕获3,扩充了些工具类4,atomic支持计数线程池最常用代码应用方式,1,实现Callable2. 创建线程池3. 执行并接收future参数4. 关闭线程池,停止接收新的线程task代码如下package org.benson.concurrent;import java.util.concurrent.Callable 阅读全文
posted @ 2013-05-07 17:04 何锦彬 阅读(7280) 评论(0) 推荐(0) 编辑
摘要: 先上说说思路,1, 把一个bigdata文件拆分成N个小文件,小文件容量小于当前机器的内存2,对小文件进行排序处理3,对小文件进行并归排序,代码中我是用1 and 1,一个个并归生成新的排序完成的文件,直到全部并归完成简单说说我这里的并归算法,代码中的sortBySmallFile,如有文件A有n个元素, 文件B有m个元素这里的并归,先取出An0,分别比较Bn0,Bn1.... ,当An0>Bn,把Bn写入新文件,直至An0<Bn 时把An0写入结果文件,循环取出An1OK,上代码package com.ben.file;import java.io.BufferedReader; 阅读全文
posted @ 2013-03-20 12:20 何锦彬 阅读(6264) 评论(4) 推荐(2) 编辑
摘要: 当线程用synchronize锁的时候,可以保证线程是具有原子性 可见性 有序性的。原子性,表现为每个可以单独操作,不互相依赖,在线程中表现为每个线程都有所以它自己的一份copy值,不定期的刷新到主内存。(如果有锁,ulock时刷新到主内存)而volatile变量不具有原子性,每次读写都是自己去主内存读主内存的值,也真是由于此种原因不能进行计数器操作,例如:volatile i =1;线程A,线程B 同时 i++;i++ 即i=i; //从主内存中读 1i+1; //通过获取的值。计算 2i=i+1; //把计算的值写入主内存中 3当线程执行顺序如下时 A1 – >B1—>A2—& 阅读全文
posted @ 2013-03-12 00:45 何锦彬 阅读(4916) 评论(0) 推荐(1) 编辑
摘要: 比起其它的优势在于代码少,不依赖任何JAR包, 可以用 SAX生成,这样可以支持大数据XML生成了(现在用标准的DOM) , 用空的可以提交到branch dev 源码地址: https://github.com/bensonHe/DTO2XML 抽空我在弄成JAR包 阅读全文
posted @ 2013-03-07 11:40 何锦彬 阅读(1408) 评论(2) 推荐(0) 编辑