发表于: java/j2ee | 作者: | 日期: 2013/5/07 05:05

在一些应用场合中,某段程序需要等待某个条件达到要求后才能执行,或者等待一定长的时间后才行,从jdk1.5开始就可以使用CountDownLatch实现。CountDownLatch类是一个同步倒数计数器,构造时传入int参数,该参数就是计数器的初始值,每调用一次countDown()方法,计数器减1,计数器大于0 时,await()方法会阻塞后面程序执行,直到计数器为0,await(long timeout, TimeUnit unit),是等待一定时间,然后执行,不管计数器是否到0了。 More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2013/5/07 05:05
标签:

CharSequence是一个接口,代表的是一个有序字符集合,在JDK1.4中,引入了该接口,实现了这个接口的类有:CharBuffer、String、StringBuffer、StringBuilder这个四个类。其中,CharBuffer为nio里面用的一个类,String实现这个接口理所当然,StringBuffer也是一个CharSequence,StringBuilder是Java抄袭C#的一个类,基本和StringBuffer类一样,效率高,但是不保证线程安全,在不需要多线程的环境下可以考虑。 More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2013/5/07 05:05
标签: ,

最近接触Jakarta-Common-BeanUtils这个东东比较多,于是对Apache Jakarta Project产生了兴趣,上他们的官方网站上看了下感觉有用的东西好多,眼花缭乱的,又没有中文网站,又上各大论坛搜了下,也没有发现一个集中该项目的资料,于是决定自己整理翻译一下,有助于各位网友更好的了解该项目。如果有什么描述不对不全面的地方,希望各位提出来给大家分享。 More …

评论关闭
发表于: other | 作者: | 日期: 2013/5/06 09:05
标签:

一、要爱你的工作。爱上自己的工作,把它当成自己生活的一部分,这样你才会建立起自己的责任感,才会使自己工作的8个小时开心起来
二、要学会微笑。不仅仅是对你的老板,无论是门口的阿姨,还是刚进公司的实习生,要记得向别人展示自己灿烂的笑容,赢得公司上下的好感。亲和力是事业发展的一个重要前提。 More …

评论关闭
发表于: other | 作者: | 日期: 2013/5/06 09:05
标签: ,

有些时候可能大家都会问自己,如果有新的方式缩短工作时间为什么还需要每天做重复的事情呢?我们常常认为框架可以带来开发的快速和简单?是否框架就可以意味着更好,更快呢?那么什么是框架呢?
“框架目标在于在web开发过程中减轻日常活动中的管理成本… 常常意味着代码的重复使用。”
和其它任何事物一样,当我们选择使用框架的时候,我们都需要了解框架拥有优势的同时也会拥有缺点。这里常常有些重要的因素你需要提前考虑到。 More …

评论关闭
发表于: other | 作者: | 日期: 2013/5/06 09:05

论坛里经常可以看到关于 35 岁程序员的生涯询问, 他们之中有些人写了十年代码, 有些人则是因为对编程发生了兴趣, 中途转行, 以下四点是给那些 30 – 35 岁程序员的建议: More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2013/5/06 12:05
标签: ,

UUID简介
UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。 More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2013/5/06 08:05

CountDownLatch类
CountDownLatch 是个计数器,它有一个初始数,等待这个计数器的线程必须等到计数器倒数到零时才可继续。
比如说一个 Server 启动时需要初始化 4个部件,Server 可以同时启动 4个线程去初始化这 4个部件,然后调用CountDownLatch(4).await()阻断进入等待,每个线程完成任务后会调用一次CountDownLatch.countDown()来倒计数, 当 4个线程都结束时CountDownLatch 的计数就会降低为0,此时 Server 就会被唤醒继续下一步操作。 More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2013/5/06 02:05

在多线程程序设计中,经常会遇到一个线程等待一个或多个线程的场景,遇到这样的场景应该如何解决?
如果是一个线程等待一个线程,则可以通过await()notify()来实现;
如果是一个线程等待多个线程,则就可以使用CountDownLatchCyclicBarrier来实现比较好的控制。 More …

评论关闭
发表于: other | 作者: | 日期: 2013/5/04 04:05
标签:

想起我刚毕业后,进入一家以软件外包为主的外企做开发。它使用传统的瀑布式的软件开发流程,没有使用任何的敏捷实践。我每天上班打开电脑,拿到自己的任务,然后从版本控制更新代码,打开工程按下Build,准备进行今天的开发任务。突然发现Build失败(通常是编译不过),大喊一声“谁Break Build啦”,也没有人响应,自己一个人郁闷,接着查看是哪些文件导致编译失败,找到最后的提交人,让他去Fix Build。后来团队里如果某个人Break Build,其他某些团队成员就在MSN的签名上写着“XXX Break Build,今天要请客吃饭”等等。其实Build失败在软件开发过程中会经常出现,不同的程序员实现自己的模块,写单元测试,完成后提交代码,难免会造成冲突导致Build失败。但是对于开发者来说,应当能够最快的获得当前Build的反馈,如果该Build失败必须在最短的时间内修复它,以免它影响其他人的开发进度。 More …

评论关闭