- 博客(60)
- 收藏
- 关注
定时执行Timer的源码阅读
Timer的实现原理: 1:timer简介; 定制执行一个task,谁用谁知道; 2:timer使用 Timer instance = new Timer(true);instance .schedule( new TimerTask() { public void run() { ...
2012-02-22 18:51:52
136
原创 【转】mysql Host is blocked error错误解决方案
Host is blocked because of many connection errors 刚才发现,公司某一台Web服务器访问时提示:错误描述:Host '*' is blocked because of many connection errors. Unblock with 'mysqladmin flush-hosts'第一次见到这提示,记录一下。从描述上...
2011-08-01 14:40:55
453
【无聊的笔记】将数字转换为中文读法
将阿拉伯数字的数变成我们常用的中文读法, 比如说: 1234,读作1千2百3十4,反正就跟中文读的一样就对了。 分析过程其实是这个题目最重要的,但是我实在不想写那么多文字了。 这里纯粹为了记录代码,以后再补上分析过程和思路。 代码记录: import java.util.Arrays;import java.util.HashMap;im...
2011-06-05 15:43:16
725
用mina网络传输使用ObjectSerializationCodecFactory一个小注意点
背景: 之前的 一篇介绍mina的博客中,提到通过mina来传输文件的demo, 具体的demo地址在这: http://guoliangqi.iteye.com/blog/628063 当时的评论回复里面,有一个同学说用我的这个demo传输图片特别慢,是特别慢,不是慢。我当时没在意就随手回了下,说nio对于传输这种单文件的优势并不明显。 但是我重新运行...
2011-04-05 18:18:42
351
java命令行知多少(反正我知道的比较少)
打开 %java_home%\bin 下面,看一堆的命令 windows下是一堆exe文件。 挑几个主要的来学习记录下,蛮有用的,居家旅行,调错装x,必备!~ java :忽略 javac :忽略 , 唯一需要知道 javac -g ,并且通过实地证明,eclipse,mvn编译都是默认加了-g进行编译的。(感谢R_Fx指导,名字太长记不住。。。) ...
2010-12-29 17:11:31
211
【监控】通过jmx获得系统的gc,内存情况
通过jmx访问jvm知道的Mbean的一些信息,可以取得系统运行时的一些情况,比如说,内存(堆内存大小,非堆内存大小),还有各个区的内存大小。还可以访问gc收集器的gc次数。来确定minorGC和fullGc的次数都可以获得。 一:获得堆内存和非堆内存的大小。 public String monitorMemory() { StringBuilder ...
2010-11-27 21:52:39
1172
如何才算熟悉一个语言
1:环境&安装&IDE=>say helloworld 2:操作字符串string 3:容器相关的操作,数据,each 4:闭包,OO 5:正则表达式 6:文件,io 7:网络,http 8:连接数据库,db操作 9:线程,多线程,同步,调度 10:异常,单元测试 不知道这10步之后能不能算...
2010-11-16 22:29:57
258
自动动手写原生态jmx,MbeanInfo,invoke
使用jmx的东东主要包括下面几个步骤了: 发布jmxServer。 注册jmxBean到MBeanServer上。 使用连接jmx的client工具来连接jmxServer。 一:前言 MBeanServer以及连接MBean的Client多的数不清。这里我就挑选一种经常会用到的方式来, 本片文章主要还是为下篇 “JBOSS里使用jmx来进行监控” 做好铺垫。 MBeanServer...
2010-11-16 22:07:49
221
用spring连接jmx
接着上一篇 “原生态连接jmx”的例子。 上一篇中,发布一个MBean还要实现接口,还要写一堆东西比较麻烦。如果使用spring的话,spring会帮我们吧这些都做掉,之后的代码就变得异常简洁。 在使用了spring之后唯一需要的就是 一个main函数,一个配置文件,一个发布的MBean的POJO。 代码分别如下: MBean的POJO: ...
2010-11-14 18:20:04
103
【ruby笔记】ruby连接数据库
windows下的ruby连接数据库编程笔记。 一:确认安装过ruby & rubygems ruby版本个人:1.8 rubygems : http://rubygems.org/ 二:配置好相应的环境变量。 使用rubygems安装mysql: 命令为: gem install mysql 安装成功后可以看到 %RUBY_HOME...
2010-11-12 21:51:40
106
【转】学习算法之路
学习算法之路 第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码, 因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打 出来. 1.最短路(Floyd、Dijstra,BellmanFord) 2.最小生成树(先写个prim,kruscal要用并查集,不好写) 3.大数(高精度)加减乘除...
2010-10-08 14:59:28
80
原创 【转载】parseInt 小陷阱
原帖地址:http://lifesinger.org/blog/2010/05/the-trap-of-parseint/ 看代码:alert(parseInt(0.000001));alert(parseInt(0.0000001));第一条语句输出 0, 第二条语句输出 1, 囧。继续看代码:alert(parseInt('0.000001'));a...
2010-05-28 11:49:56
105
BigDecimal带精度的运算
之前提到过在商业运算中要使用BigDecimal来进行相关的钱的运算(java中关于浮点运算需要注意的),可是实际使用中,简单的用BigDecimal还是出现了一些小问题。 BigDecimal a = new BigDecimal(998.01); BigDecimal b=new BigDecimal("100"); ...
2010-05-20 16:12:56
501
servlet specification,init方法~~~
在前面一篇文章 “【新手记录】servlet的初始化init方法什么时候被调用?”中用实例验证了下servlet的init方法何时被调用,虽然有了测试结果。不过还是感觉不放心,于是到sun官方网站看了下servlet的specification。 得到了肯定的答复: 首先是J2EE api里对servlet的init方法的说明: initvoid ini...
2010-05-20 14:13:54
74
【新手记录】servlet的初始化init方法什么时候被调用?
前几天跟几个同学聊到这个,我一直认为的是说:在容器启动的时候,就会加载web.xml然后将里面的servlet进行初始化加载,然后调用其init方法。 可是一个同学说:是在第一个请求到来的时候才调用init方法。 另外一个同学说:跟配置的servlet的<load-on-startup>1</load-on-startup>这个参数有关。...
2010-05-15 21:13:19
1428
weak,soft,phtom Reference,软,弱,虚引用!
前面的简介:strongReference:强引用softReference:软引用。weakReference:弱引用phtomReference:虚引用 一:strongReferenceString a = new String("hello world");String b=a; 咯,这里b就是个强引用咯。反正就是会一直指向那个String的。也就是大家...
2010-05-12 11:14:35
139
mapMaker使用后记
在上一篇使用 google Collection的MapMaker的时候,提到了一个demo。接下来做了一个修改,记录下其中的现象。import java.util.concurrent.ConcurrentMap;import java.util.concurrent.TimeUnit;import com.google.common.base.Function;...
2010-05-12 11:06:28
311
【新手记录】Map中存放Object类型使用小记
之前在使用google Collections的MapMaker的时候,比较正式的写的时候,map中存放的Key是我自己写一个CacheKey的Object,但是在存放过后,再通过cache的get却总是找不到缓存记录,心里纳闷了很久为啥。 无奈之下,debug进去了get的源码,发现了。。。 这里就放HashMap的get代码,其它类型的map都差不...
2010-05-02 11:42:59
830
google Collection 的MapMaker使用体验
前几天准备在写一个本地缓存的时候,有一个功能是设置超时时间,我当时用的是每次get的时候判断上次get的时间,跟当前时间对比看是否超过预期时间,来决定是否过期的。 RednaxelaFX提示我说,可以考虑使用googleCollection的MapMaker,除了可以设置超时功能外,还可以绑定key的未取到值的function,当通过get(key)取缓存为空的时候,...
2010-05-01 15:24:58
182
HttpClient的超时用法小记
HttpClient在使用中有两个超时时间,是一直接触和使用的,由于上次工作中使用httpClient造成了系统悲剧的情况,特地对它的两个超时时间进行了小小的测试,在这里记录下。 测试版本为HttpClient——3.1 一:连接超时:connectionTimeout 1:指的是连接一个url的连接等待时间。 2:...
2010-04-18 10:41:09
173
【转】关于LZ77压缩算法
全新的思路 我们在第三和第四章中讨论的压缩模型都是基于对信息中单个字符出现频率的统计而设计的,直到 70 年代末期,这种思路在数据压缩领域一直占据着统治地位。在我们今天看来,这种情形在某种程度上显得有些可笑,但事情就是这样,一旦某项技术在某一领域形成了惯例,人们就很难创造出在思路上与其大相径庭的哪怕是更简单更实用的技术来。我们敬佩那两个在数据压缩领域做出了杰...
2010-04-16 12:04:25
167
java读取指定package下的所有class
之前在看spring注解的时候,有看到再配置文件里面定义component scan package就能自动扫描对应包下面的class,然后根据注解生成相应的bean。自己对这个功能很好奇,就搜了下,找到了实现的关键代码,记录下。后续再对这段代码深入学习。 /** * 从包package中获取所有的Class * * @param pack ...
2010-04-15 18:31:58
469
java中socket通讯的小陷阱
1:在java的服务端代码: public class SimpleServerSocket { public static void main(String[] args) { try { ServerSocket server = new ServerSocket(6789); Socket client;...
2010-04-13 14:27:52
96
【转】CAP原理和BASE思想
分布式领域CAP理论,Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能Partition tolerance(分区容错性) 可靠性定理:任何分布式系统只可同时满足二点,没法三者兼顾。忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。关系数据库的ACID模型拥有 高一致性 + 可靠性 丧失可用性...
2010-04-08 13:28:14
82
[转]四色原型图
四色原型是诞生于90年代,现在被广泛使用的一种系统分析方法,如Borland的Together架构师版,准确地说,是由Peter Coad 和 Mark Mayfield首先提出[Coad92],然后由David North拓展[Coad95-97]moment-intervalrolecatalog-entry-like descriptionparty, place or...
2010-04-08 13:27:17
423
【转】EDA: Event-Driven Architecture事件驱动架构
SOA的核心是:暴露然后处理 expose and handle,SOA使事件Event跨系统流动EDA是以事件为核心:什么时候触发 然后做什么。EDA是更加松散耦合,有极强的巨大事务处理能力ESP—Event Stream Processing:监视事件数据流,分析这些事件。CEP—Complex Event Processing:以更加动态方式监测。Esper是一个ESP/CEP容器或框架,实...
2010-04-08 13:26:25
166
【转】infoQ访问豆瓣架构师
各位观众朋友大家好,这里是InfoQ中文站的赖翥翔,现在在首届QCon北京大会的现场,坐在我旁边的是来自豆瓣网的洪强宁。强宁你好,向大家介绍一下自己以及自己和豆瓣的联系。我是大概在06年的3月份加入豆瓣的。当时应该是豆瓣的02号程序员。01号是阿北。现在是任豆瓣的首席架构师。负责豆瓣技术开发的相关工作。我记得在之前社区中有对豆瓣高...
2010-04-07 12:09:53
115
BeanPostProcessor使用心得
最近想对项目中的所有bean进行一个代理。然后监控bean得方法的使用情况。 刚开始想的方法是:重写项目的beanFactory,然后再getBean的使用,对结果object进行一个代理,达到我的目的。但是发现重写getBean的方法,无法对bean中的依赖注入的bean(set进来的bean)进行代理。 正好看到了beanPostProcesso...
2010-04-07 11:48:52
176
【转】Consistent hashing
Consistent hashing算法 网站为了支撑更大的用户访问量,往往需要对用户访问的数据做cache,对于访问量特别大的门户网站,一般都提供专门的cache服务机群和负载均衡来专 门处理缓存,负载均衡的算法很多,轮循算法、哈希算法、最少连接算法、响应速度算法等,hash算法是比较常用的一种,它的常用思想是先计算出一个 hash值,然后使用 CRC余数算法将hash值...
2010-04-07 11:43:22
75
java的Annotation基础学习
一. 最常见的annotation@Override:用在方法之上,用来告诉别人这一个方法是改写父类的@Deprecated:建议别人不要使用旧的API的时候用的,编译的时候会用产生警告信息,可以设定在程序里的所有的元素上.@SuppressWarnings:暂时把一些警告信息消息关闭@Entity:表示该类是可持久化的类二. 设计一个自己的Annotatio...
2010-04-06 12:41:53
83
使用activeMQ实现jms
一:jms介绍 jms说白了就是java message service,是J2EE规范的一部分,跟jdbc差不多,sun只提供了接口,由各个厂商(provider)来进行具体的实现,然后使用者使用他们的jar包进行开发使用即可。 另外在jms的API中,jms传递消息有两种方式,一种是点对点的Queue,还有一个是发布订阅的Topic方式。区别在于:...
2010-04-06 12:11:18
63
java中foreach
public class TestForEach { /** * @param args */ public static void main(String[] args) { Aeach[] a = new Aeach[2]; //第一种赋值方式 // for (int i = 0; i...
2010-04-06 12:08:09
71
ibatis的selectkey小学习
背景: 在使用ibatis插入数据进数据库的时候,会用到一些sequence的数据,有些情况下,在插入完成之后还需要将sequence的值返回,然后才能进行下一步的操作。 使用ibatis的selectKey就可以得到sequence的值,同时也会将值返回。不过对于不同的数据库有不同的操作方式。 对于oracle: <insert id...
2010-04-04 14:49:07
138
spring的BeanPostProcessor学习
在spring中可以通过BeanPostProcessor接口来实现,properties注入的时候动态控制bean行为的功能。接着上面一篇文章中的例子。使用A,B的类,然后新建一个实现BeanPostProcessor的类。public class BeanPost implements BeanPostProcessor { public Object postProces...
2010-04-04 14:47:54
71
spring加载bean实例化顺序
问题来源:有一个bean为A,一个bean为B。想要A在容器实例化的时候的一个属性name赋值为B的一个方法funB的返回值。如果只是在A里单纯的写着:private B b;private String name = b.funb();会报错说nullpointException,因为这个时候b还没被set进来,所以为null。解决办法为如下代码,同时学习下spr...
2010-04-04 14:44:27
645
关于list的一个小知识
最近咋使用 list.remove 方法的时候出了点问题。。。贴出来,记录下。public static void main(String[] args) { // TODO Auto-generated method stub List<Integer> list = new ArrayList();// =null erro...
2010-04-02 12:39:12
93
jvm的GC的一些学习总结
一:java内存区的简单介绍1、堆(Heap)JVM管理的内存叫堆。在32Bit操作系统上有1.5G-2G的限制,而64Bit的就没有。JVM初始分配的内存由-Xms指定,默认是物理内存的1/64但小于1G。JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4但小于1G。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制,可以由-XX:MinHea...
2010-04-02 12:35:25
113
java多线程编程的常见陷阱(转~~)
1、在构造函数中启动线程 我在很多代码中都看到这样的问题,在构造函数中启动一个线程,类似这样:public class A{ public A(){ this.x=1; this.y=2; this.thread=new MyThread(); this.thread.start(); } } ...
2010-04-02 12:32:39
69
JDK自带线程池学习
线程池主类:import java.util.concurrent.LinkedBlockingQueue;import java.util.concurrent.ThreadPoolExecutor;import java.util.concurrent.TimeUnit;public class DataHandlerThreadPool { //核心线程...
2010-04-01 15:15:04
78
简单的线程池
import java.util.LinkedList;/** * 线程池类 */public class ThreadPool extends ThreadGroup { private boolean isClosed = false; //线程池是否关闭 private LinkedList workQueue; //工作队列 private...
2010-04-01 15:06:08
60
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人