- 浏览: 37487 次
- 性别:
- 来自: 北京
最新评论
-
zuoge85:
缓存了的。。。。。悲剧看见大段代码头大
cglib 的 beanMap 与 反射 的效率 -
徐风子:
??我不是缓存了的嘛。
cglib 的 beanMap 与 反射 的效率 -
zuoge85:
反射也应该缓存下子,。。。
cglib 的 beanMap 与 反射 的效率 -
徐风子:
汗!估计是上学的时候数据结构没学好,还以为最优的排序一般都是稳 ...
关于scala 的list 排序问题 -
icefishc:
重要啊 所以很多语言都会再给一个stable_sort来保证稳 ...
关于scala 的list 排序问题
文章列表
【外刊IT评论网】因为这样有趣!
from 外刊IT评论 by Aqee
本文是从 Because It’s Fun! 这篇文章翻译而来。
本文作者:世界最大的独立音乐在线商店CD Baby的创始人Derek Sivers
12年前,计算机对我来说是个神秘的东 ...
直接在命令行运行java程序的时候一般都需要导入很多jar。 但需要指定每个jar进行导入。
找了很久没有找到可以直接导入某个目录 下 所有jar 的方法, 后来找apache的运行脚本, 直接挖出里面的代码解决这个问题:
linux下 .sh 文件:
for jar in “要导入的目录”/*.jar; do
CLASSPATH=$CLASSPATH:$jar
done
window下 .bat 文件:
@echo off
set CLASSPATH=resin.jar;.\;..\classes\
for %%i in (" ...
做了一个jar包,为了方便管理在打包时加入了版本号
即:META-INF/MANIFEST.MF 文件中加入
Implementation-Version: 1.0.001
Specification-Version: 1.0.001
但是在web程序中
clazz.getPackage().getImplementationVersion()
clazz.getPackage().getSpecificationVersion()
取不到版本号。
最后发现,因为WEB-INF/classes 下面有相同的包名(clazz类在jar中),
默认情况下 cl ...
一直不喜欢 SOAP ,呵呵,终于出气了。、
看起来在web API协议之争(如果曾经有过)中,潮流正稳步的转向REST
,SOAP
已经被逼退。Web开发者们选出了他们心目中的目标,他们要RESTful APIs。
下面的是2008年和2010年各种不同的API协议部署量的对比图,来源于ProgrammableWeb
上的2000多个web API目录数据。
来源: ProgrammableWeb, May 2010
.
非常的有趣,2年前REST就已经成为web API部署方式的主流了,而且一直保持这种发展势头。
如果这还不够 ...
随笔写一些开发中突然想到的东西。
公共代码开发提供某种功能支持时,“工具”优于“框架”。
工具没有侵入性,可以灵活的更换。
工具没有“暗喻”,当用户调用工具时用户以明确的表明想要使用某种功能,而框架则不然,框架在暗中进行这一切,首先不直观,使用者需要更多的“文档学习”来了解框架的功能,出现错误时也不好调试。
框架的优点在于简便,通常来说使用时会比“工具”代码更少。
其实“工具”和“框架”的区别就是 “明示”和“暗喻”的关系。前者优先。
添加记录的方法名用insert好过add, 因为他和 update、delete 长度相同。 呵呵
要善于写文档,勤于写文档, ...
最近尝试在项目中使用jquery,(以前一直是用mootools的),jquery不是很熟,所以可能里面说到jquery的有些缺点是我自己学艺未精造成的。
持续更新中,开发中有什么感想就随笔记下来。
先来个好评
: 可以直接往获取的element数组上绑定事件,使用起来很方便。 这应该得益于$()中产成的jquery对象吧。
没有获取一个对象的类型的方法(也可能是我没找到)。被mootools惯坏了,用到这个很不适宜。
没有直接new Element 的方法,大都使用$().append(),导致许多做法不能实施,比如:创建一个页面对象,再往上绑定数据。 而转为在用app ...
一直在用cglib,突然想起来还没有测试过他的效率到底如何,所以稍微测试了一下
对于有11个成员变量的bean,一个是直接使用java的反射读取,另一个是使用cglib转换beanMap以后直接使用get读取。(详细结果见下表)
可以看出, cglib 的效率是 直接反射的3倍(字节码编程确实很厉害!)另外,cglib的beanMap在初次创建一个类的缓存时会耗费一定的时间(300ms),之后使用了缓存,再创建相同的bean就不再有多余的时间消耗了。
cglib
反射
cglib
反射
cglib
反射
循环10000次
10000 ...
为了说服当前维护的项目改用 Exception 处理错误,要弄一个异常效率的数据出来。唉…………
测试代码
/**
* 异常效率测试
* @throws Exception
*/
@Test
public void testThrowEfficiency() throws Exception {
long times = 1000000;
long startTime;
...
- 2009-10-15 09:01
- 浏览 1898
- 评论(0)
www.projecteuler.net
应该是一个程序员玩的游戏吧,呵呵,里面有一共255道算法题,从目前的统计上来看有接近8万人参与,解出100题的不到2000人,解出250题的不到100人。目前中国的参与者还没有一千人呢也太少了,有兴趣来玩玩吧 ...
- 2009-09-16 01:02
- 浏览 936
- 评论(0)
BODY { FONT-FAMILY:Tahoma; FONT-SIZE:10pt }
P { FONT-FAMILY:Tahoma; FONT-SIZE:10pt }
DIV { FONT-FAMILY:Tahoma; FONT-SIZE:10pt }
TD { FONT-FAMILY:Tahoma; FONT-SIZE:10pt }
programing in scala 学习笔记
面向对象编程:
程序通常需要把一些所有的操作的数据放 ...
- 2009-09-09 09:23
- 浏览 1815
- 评论(0)
如果你在一个平凡的家庭长大,
如果你的父母还健在,不管你有没有和他们同住——
如果有一天,你发现妈妈的厨房不再像以前那么干净;
如果有一天,你发现家中的碗筷好象没洗干净;
如果有一天,你发现母亲的锅子不再雪亮;
如果有一天,你发现父亲的花草树木已渐荒废;
如果有一天,你发现家中的地板衣柜经常沾满灰尘;
如果有一天,你发现母亲煮的菜太咸太难吃;
如果有一天,你发现父母经常忘记关瓦斯; ...
- 2009-08-31 03:17
- 浏览 833
- 评论(0)
看 《programing in scala 》里面的例程里面有一个求最大公约数的函数,算法真简洁呀。(以前小学的时候咋不知道还可以这样求公因子呢)
def gcd(a: Int, b: Int): Int = if (b == 0) a else gcd(b, a % b)
翻译成java语言是:
int gcd(int a, int b) {
if(b == 0) {
return a;
}
else {
return gcd(b, a % b)
}
}
- 2009-08-11 16:52
- 浏览 6034
- 评论(2)
以前刚接触这scala的时候想看一看他的使用趋势,结果硬没找到,没办法,只好逐月汇总自己弄了这么一张表出来:
具体数据参见:http://spreadsheets.google.com/pub?key=tQNT7NqiKg2Yi35NjZDOBCQ&output=html
月份
groovy
scala
2009年10月
小于0.151
0.240
2009年9月
0.154
0.238
2009年8月
0.117
0.262
2009年7月
0.114
0.228
2009年6月
0.15 ...
- 2009-08-04 17:10
- 浏览 2803
- 评论(5)
刚才试验了一下,发现scala中 List排序不是稳定排序。
scala> val l = List(1, 2, 3, 4, 5, 6, 7, 8 )
l: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8 )
scala> l sort ((s, t) => s%2 > t%2)
res0: List[Int] = List(7, 3, 5, 1, 8, 4, 6, 2)
怎么会这样呢?难道稳定排序不重要吗?
- 2009-07-31 11:56
- 浏览 2637
- 评论(2)
推荐一个信息管理软件,evernote,特别好,而且所有系统都能用,包括某些手机。比我以前用的mybase好多了,呵呵,又开始换软件的。 标签式管理文件,不是老旧的文件夹式了。 不转载,贴链接: http://www.qqread.com/app-soft/v417293.html <!--v:3.2-->
- 2009-07-31 09:17
- 浏览 877
- 评论(0)