文章列表
1. 尽量少用new
生成新对象
用new
创建类的实例时,构造函数链中所有构造函数都会被自动调用,操作速度较慢。在某些时候可复用现有对象。比如在进行大量String
操作时,可用StringBuffer
类代替String
类,以避免生成大量的对象。
一般认为,String
是不可变的,StringBuffer
和StringBuilder
是可变的,而StringBuffer
是线程安全的,而StringBuilder
不是。
先看下面的代码:
public st ...
MySQL表示时间值的DATE和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
每个时间类型有一个有效值范围和一个“零”值,当指定不合法的MySQL不能表示的值时使用“零”值。
TIMESTAMP类型有专有的自动更新特性,将在后面描述。
如果试图插入一个不合法的日期,MySQL将给出警告或错误。可以使用ALLOW_INVALID_DATES
SQL模式让MySQL接受某些日期,例如'1999-11-31'。当你想要保存一个“可能错误的”用户已经在数据库中指定(例如,以web形式)用于将来处理的值时很有用。在这种模式下,MySQL只验证月范围为从 ...
C3P0
是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现 jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。(主页:http://sourceforge.net/projects/c3p0/
)
BoneCP
是一个开源的快速的 JDBC 连接池。BoneCP很小,只有四十几K(运行时需要log4j
和Google Collections
的支持,这二者加起来就不小了),而相比之下 C3P0
要六百多K。另外个人觉得 BoneCP 有个缺点是 ...
先说些废话,废话就是大家都知道的事情。
任何系统都不可能完美无缺,如果 你追求性能,则必然会增加工作量,或者增大一些额外的风险;如果你追求安全,则你就会在性能上有所缺失;如果你追求完美、简单,则你的程序就可能晦涩难 懂;如果你追求巨细靡遗,追求文档的齐备,则你就会使系统变得臃肿。单就性能来说,我们不可能在一个系统中的所有方面都得到很好的性能。
比如操作系统的实现,常常会有时间换取空间,或者空间换取时间的思路,无论是哪一种都以一种代价去获得另一种补偿(鱼和熊掌不可兼得)。又比如从软件工程 的角度,无论如何都应该详尽程序注释和文档,而在《重构与模式》一书中,作 ...
今天升级了Ubuntu到10.04,然后发现QQ总是死,重装也没用。晕~!
还是感觉Windows下面的QQ好用,于是决定装一个。
在软件中心装了Wine。下了个绿色版本的QQ,用Wine打开,不能用,缺少动态库。
Google下,下个wget http://www.kegel.com/wine/winetricks
加上可运行权限
sudo chmod +x winetricks
sh winetricks msxml3 gdiplus riched20 riched30 vcrun6 vcrun2005sp1
全部装上。
总算可以运行了。
Fuck,汉字全是方块。
在Ub ...