`
文章列表
简洁之美-java5线程池源码赏析(下)             by  davy 在上篇中,大家了解线程池对线程的控制,本篇将重点介绍线程是如何被复用的。其实关键就在于,addIfUnderCorePoolSize(command)和addIfUnderMaximumPoolSize(command)新建立的线程会不停地从缓冲队列里获取待执行的任务并执行。只要线程池的缓冲队里有任务,线程就不会消亡,就会得到复用。缓冲队列里没有待处理的任务,并且线程超过了预定义的允许空闲时间,线程就会消亡。接下来看一下
              简洁之美-java5线程池源码赏析(上)                     by davy          由于工作中很少涉及多线程编程,我一直对java的多线程懵懵懂懂。最近突遇多线程的工作,故学习之。一时兴起,查看了java5自带的线程池的部分源码,深感震撼,恐忘却,故为此文以记之。网路上对java5的线程池讨论不少,但多数未能阐述其如何复用线程,本文拟弥补缺憾,重点叙述之。          java.util.concurrent. ThreadPoolExecutor即为线程池的实现,介绍一下这个类的几个重要的成员: (1)
<!-- [if !mso]> <style> v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style> <![endif]--><!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Nor ...
XX CMS内容管理系统        最近借助XX CMS内容管理系统搭建了某站点,不得不说这套CMS系统做的不错,他最大的亮点就是动态生成HTML、简洁的模板语言标签及图品轮播等组件的支持。        下载的实现,在媒体库—附件库—新增分类,为新增的分类制定好模板,就可以发布附件了,在模板里就可以用简单的语法将附件列出来,实现点击下载。如图: 模板的大致代码如下:
       让地址栏显示个漂亮的与众不同的小图标,可以让你的网站更容易被人记住,但笔者始终认为这是个锦上添花的东西,况且,不同的浏览器或相同浏览器的不同版本对这个的支持都不尽相同。比如ie6下的地址栏根本不会出现小图标,360的浏览器或世界之窗等可以支持这个功能,但好像也和浏览器的某些设置有一定关系。闲言少叙,如何才能让地址栏出现小图标呢?        其实实现的代码很简单,如下: ======================【html】========================= <head> <title>天津市财政局预算编审中心
                String学习_ThinkingInJava   String对象是不可变的,String类中貌似修改String的方法其实都是创建了一个全新的String对象。因为String具有不可变的特性,因此开销要大一些。因此,简单的拼接字符串可以用(+)运算符,但构造复杂的字符串时(典型的情况是在循环中result += someStringArray[i]),一定要使用StringBuilder或StringBuffer.StringBuffer是线程安全的,而StringBuilder是java5引入的比较新的api.这个结论其实在很久以前我就做过测试,只是近期 ...
继续在公交车上读书,这是ipad在我手中最大的用处。我用的软件是免费的熊猫看书HD,不得不说这个小软件做的着实不错。当你横着拿着pad的时候,屏幕上会显示2页文字;而当你竖过来拿着pad的时候,屏幕上的2页会自动变成一页文字。此外这个可爱的小软件支持的格式也不少,至少支持txt、pdf、word、chm(只支持一部分,对chm的支持不是很好,貌似只支持没有图片的)等格式。不仅如此,她还提供了文件传输功能,允许你把电子书通过wifi传输到pad上去。因此,这不仅仅是读书软件,至少文件传输部分已超出阅读器的范畴。她还会自动记录某本书读到哪一页了,并且允许你添加书签等。 最近还在读《把时间当做朋友》。 ...
最近重温了《java编程思想(第四版)》的异常章节。 Java中的异常分为受检查的异常和不受检查的异常。 (1)受检查的异常:这种在编译时被强制检查的异常称为"受检查的异常"。即在方法的声明中声明的异常。 (2)不受检查的异常:在方法的声明中没有声明,但在方法的运行过程中发生的各种异常被称为"不被检查的异常"。这种异常是错误,会被自动捕获。 从作者Bruce Eckel的语气中看以看出,作者对受检查的异常是有质疑的,并认为在一些规模较小的程序中,受检查的异常能够提高开发效率,但随着项目规模的扩大,过多的受检 查的异常将变的难以管理,其带来的好 ...
    最近于hibernate3.x+Spring+Oracle9i开发中遇到"ORA-01461 仅可以为插入 LONG 列的 LONG 值赋值"问题。数据库环境为oracle9i,但应用中采用的是oracle10的JDBC驱动,映射中,实体类POJO中将新闻内容声明为String,数据库中字段的类型为Clob,*.hbm.xml映射文件中映射为String,经查资料和测试,发现仅仅当字符串的长度大于1000并且小于2000时会引发此问题,而其他情况下程序一切正常。   最终在下是这样解决的,实体类POJO中仍然为String,数据库中仍然为Clob类型, ...
    近日,开发中偶遇eclipse无法调试的问题,症状为设置断点后,可以进入断点处的方法,按F6,线程上代码行数也往下走,唯独调试界面的代码窗口中,没有显示出当前执行到哪一行。正常状态下,运行到哪一行则哪一行的最前面有一个"=>"标记,但现在也看不到。折腾良久,问题依旧。重新更换了Eclipse,问题如故。料想是workspace基础数据等或被破坏,遂删除此工作空间,新建了一个工作空间,重新check代码,启动服务,设置断点,一切正常矣!
                     无线网络导致WebService调用超级慢     用cxf写了WebService的demo,在自己的机器上发布为webService作为Server,在同事的机器上运行webServiceClient,结果速度慢的离谱,每次调用都需要5秒的时间,这仅仅是一个HelloWorld而已。用了很多种办法,都没有效果;检查配置,也一切正常。最后我把无线网络连接禁用了,再实验,发现调用过程仅仅需要0.01秒。看来是无线网络影响了有线WebService的调用。
                                   解决xp登陆后系统后自动注销的问题                                davy lee,2011-3-7     近日,吾友华硕笔记本无法开机,登陆系统后立刻自动注销,安全模式下亦然。百度一下,乃c:\windows\system32\userinit.exe遭破坏,遂思而修复之。  也许那古董机光驱破旧,抑或启动盘划痕累累,数次尝试,均无法进入winpe,而且以支持USB的dos也无法启动,启动一半就死机,无法到dos提示符下。吾嗟叹:真他妈不给力啊。吾已将一个正常的userinit.exe ...
                               log4j高级技巧--动态配置日志输出文件的位置     log4j的通常用法就是通过在其配置文件(xml或properties)中直接将输出文件写死,在很多情况下,这样做是非常简单而又有效的。但这样做的缺点是,如果想让这个web应用运行起来,必须要修改log4j的配置文件。比如struts2.x中log4j的配置,每个人都得按照自己的路径进行配置。这无疑增加了配置的复杂性。因此,在某些情况下,我们更希望日志文件默认就输出到web应用的某个目录里,比如如果想输出日志到webroot/logs/log.log中,这该如何实现呢?   ...
     EOS6.x的可视化环境下开发的结果是得到了一堆实质为xml的各种文件,包括页面流和逻辑流等,这些文件时怎样被执行的呢?      当发布我们开发的应用并启动应用的时候(也许不是很恰当,大家可以结合自己的理解),这些扩展名不同的xml文件会被编译为java文件。以Eos6.x培训教程中的helloWorld为例,主要得到2个文件helloworld_flow.java文件和helloworld_biz.java文件,这两个文件推测应为servlet。           系统运行时,EOS6的InterceptorFilter会拦截http请求,将对页面流的调用会转为对hell ...
                                    EOS初探 一、项目创建     当我们创建一个空的EOS项目时,只是在工作空间生成了一些项目的描述,这和在Eclipse里建立普通的项目没有实质性的区别。     唯一不同的是 ...
Global site tag (gtag.js) - Google Analytics