存档

文章标签 ‘Java’

史上最烂的超级玛丽

2010年8月23日 陈皓 8 条评论 1,321 次点击    

啥也不说了,自己访问一下吧,F是跳,D是加速,回车的是开始,还挺好玩,简单是简单了点,但好歹也是用Java写的,也是Web的,呵呵。

http://meatfighter.com/mario/mario.html

史上最烂的超级玛丽

你还见过更烂的吗?

分类: 轶事趣闻 标签: , ,
好烂啊有点差凑合看看还不错很精彩 (6 人打了分,平均分: 4.00 )
Loading ... Loading ...

五大基于JVM的脚本语言

2010年7月19日 陈皓 9 条评论 831 次点击    

还记得以前本站的一篇文章《如何在Google App Engine上运行PHP》吗,其实那是借用 Quercus, 一个 100% 的用Java 实现的一个 PHP 引擎。今天,这样的东西太多了,能运行在Java的虚拟机JVM上的程序意味着有天然的跨平台性,现在JVM并不单单只能运行Java程序,在JVM上出现了若干使用Java虚拟机运行的脚本程序,比如什么PHP, Python, Ruby等等,这里有一篇文章评论了在JVM上的可以运行的排名前五脚本语言。他们分别是:

  1. Groovy。构建在强大的Java语言之上 并添加了从Python,Ruby和Smalltalk等语言中学到的诸多特征,为Java开发者提供了现代最流行的编程语言特性,而且学习成本很低(几乎为零),在开发Web,GUI,数据库或控制台程序时, 通过减少框架性代码 大大提高了开发者的效率。支持单元测试和模拟(对象),可以简化测试。无缝集成 所有已经存在的 Java对象和类库。直接编译成Java字节码,这样可以在任何使用Java的地方 使用Groovy。
  2. JRuby。一个纯Java实现的Ruby解释器。通过JRuby,你可以在JVM上直接运行Ruby程序,调用Java的类库。很多Java编写的Ruby IDE都是使用JRuby来解释语法的。
  3. Scala。一种多范式的编程语言,设计意图是要整合面向对象编程和函数式编程的各种特性。Scala编程语言近来抓住了很多开发者的眼球。它看起来像是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格。Scala的名称表明,它还是一种高度可伸缩的语言。Scala的设计始终贯穿着一个理念:创造一种更好地支持组件的语言。
  4. Fantom 。Fantom 前身是 (Fan) 是一个基于 Java 和 .NET 平台的编程脚本引擎,用来在运行时产生 JVM 和 .NET 平台的字节码,该语言是面向对象的,跟 Groovy 和 JRuby 有点类似,可通过特定的接口来集成 Java 的类库。
  5. Jython。Jython由于继承了Java和Python二者的特性而显得很独特。其是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。Jython也有很多从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其他任何高级语言,它提供了对其实现语言的一切存取。所以Jython不仅给你提供了Python的库,同时也提供了所有的Java类。这使其有一个巨大的资源库。

下面是一张表格比较了这五大JVM脚本语言:

阅读全文…

好烂啊有点差凑合看看还不错很精彩 (11 人打了分,平均分: 3.82 )
Loading ... Loading ...

Eclipse 3.6 (Helios)新特性

2010年7月7日 jnj 5 条评论 1,563 次点击    

2010年6月23日 Eclipse 3.6 Helios 正式发布,对 Java 程序员来说有哪些新特性值得关注?

1、检查并报告是否有缺失的 @Override 注解,此功能仅对 Java 1.6 版本适用。在以前版本中,当我们为一个方法加上 @Override  注解,但是这个方法实际上并没有过载(override)任何父类的方法时,将会得到警告信息。在新版本中,如果我们忘记为一个过载方法加上 @Override 注解,同样也会得到警告信息。

2、变量视图中新增了一个列用于显示当前变量类型的实例数(Layout -> Select Column)。

3、Java 视图中的包名称可以用自定义的规则来显示(Window –> Preferences –> Java –> Appearance)。

阅读全文…

好烂啊有点差凑合看看还不错很精彩 (4 人打了分,平均分: 4.25 )
Loading ... Loading ...

四个流行的Java连接池

2010年6月2日 陈皓 1 条评论 937 次点击    

C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。(主页:http://sourceforge.net/projects/c3p0/

BoneCP 是一个开源的快速的 JDBC 连接池。BoneCP很小,只有四十几K(运行时需要log4jGoogle Collections的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。另外个人觉得 BoneCP 有个缺点是,JDBC驱动的加载是在连接池之外的,这样在一些应用服务器的配置上就不够灵活。当然,体积小并不是 BoneCP 优秀的原因,BoneCP 到底有什么突出的地方呢,请看看性能测试报告。(主页:http://jolbox.com/

DBCPDatabase Connection Pool)是一个依赖Jakarta commons-pool对象池机制的数据库连接池,Tomcat的数据源使用的就是DBCP。目前 DBCP 有两个版本分别是 1.3 和 1.4。1.3 版本对应的是 JDK 1.4-1.5 和 JDBC 3,而1.4 版本对应 JDK 1.6 和 JDBC 4。因此在选择版本的时候要看看你用的是什么 JDK 版本了,功能上倒是没有什么区别。(主页:http://commons.apache.org/dbcp/

Proxool是一个Java SQL Driver驱动程序,提供了对你选择的其它类型的驱动程序的连接池封装。可以非常简单的移植到现存的代码中。完全可配置。快速,成熟,健壮。可以透明地为你现存的JDBC驱动程序增加连接池功能。(主页:http://proxool.sourceforge.net/

好烂啊有点差凑合看看还不错很精彩 (4 人打了分,平均分: 5.00 )
Loading ... Loading ...

JAVA的字符串拼接与性能

2010年3月28日 Neo 1 条评论 999 次点击    

概述:本文主要研究的是JAVA的字符串拼接的性能,原文中的测试代码在功能上并不等价,导致concat的测试意义不大。不过原作者在评论栏给了新的concat结果,如果有兴趣的同学建议自己修改代码测试。

原文出处:http://www.venishjoe.net/2009/11/java-string-concatenation-and.html

在JAVA中拼接两个字符串的最简便的方式就是使用操作符”+”了。如果你用”+”来连接固定长度的字符串,可能性能上会稍受影响,但是如果你是在循环中来”+”多个串的话,性能将指数倍的下降。假设有一个字符串,我们将对这个字符串做大量循环拼接操作,使用”+”的话将得到最低的性能。但是究竟这个性能有多差?如果我们同时也把StringBuffer,StringBuilder或String.concat()放入性能测试中,结果又会如何呢?本文将会就这些问题给出一个答案!
阅读全文…

分类: Java语言, 编程语言 标签:
好烂啊有点差凑合看看还不错很精彩 (3 人打了分,平均分: 5.00 )
Loading ... Loading ...

最为奇怪的程序语言的特性

2010年1月21日 陈皓 22 条评论 4,129 次点击    

这些最为奇怪的程序语言的特性,来自stackoverflow.com,原贴在这里。我摘选了一些例子,的确是比较怪异,让我们一个一个来看看。 

1、C语言中的数组 

在C/C++中,a[10] 可以写成 10[a] 

“Hello World”[i] 也可以写成 i["Hello World"] 

这样的特性是不是很怪异?如果你想知道为什么的话,你可以看看本站的这篇文章——《C语言的谜题》中的第12题。 

2、在Javascript中 

 ’5′ + 3 的结果是:’53′
 ’5′ – 3 的结果是:2 

3、C/C++中的Trigraphs 

int main() {
   cout << "LOL??!";
}

上面的这段程序会输出: “LOL|”,这是因为 ??! 被转成了 | ,关于Trigraphs,下面有个表格: 

阅读全文…

分类: 编程语言 标签: , , , ,
好烂啊有点差凑合看看还不错很精彩 (22 人打了分,平均分: 4.68 )
Loading ... Loading ...

程序员眼中的编程语言

2009年12月24日 陈皓 17 条评论 6,143 次点击    

下图是一个搞笑的图片——程序员眼中的编程语言。

  • 图片的横轴是编程语言。
  • 纵轴是各语言的程序员、粉丝、信徒。
  • 中间的各个小图片则是,粉丝眼中的编程语言的形象。

比如说,

  • 第一行第一列,是Java程序员看Java语言的样子,一幢现代化的大厦。
  • 第一行第二列,是Java程序员看C语言,一个年老过时的骨灰级老头。
  • 当然,C程序员看Java语言也比较搞,见第二行第一列。呵呵。

其它的大家自己看吧。还有另外一个关于操作系统的《粉丝眼中的操作系统

程序员眼中的编程语言

 

好烂啊有点差凑合看看还不错很精彩 (16 人打了分,平均分: 4.63 )
Loading ... Loading ...

C语言的演变史

2009年12月21日 陈皓 11 条评论 3,445 次点击    

1972 – C语言的先驱——B语言,被贝尔实验室开发。B语言是一个很快速的,容易维护的,而且对于从系统到应用开发是很好用的。设计这门语言的整个团队被马上解雇了,因为他们干了一件和电话通讯不相干的事情。最后这个项目转给了 Dennis Ritchie。他把这个语言变得不容易理解,很难维护,而且,只能用于系统方面的编程。而且,他还设计了一个指针系统,保让每一个程序都超过500行,并可以使用操作系统的指针。

1982 – 大家发现有97% 的C程序调用产生了“缓冲区溢出”问题。于是,C 程序员们开始意识到,就算是不必要也必需要初始化变量。然而,强制性的变量初始化这个明智的决定,很难影响了当时已经写成了的97%的C程序,所以结果什么也没有发生。 

1984 – 操作系统出现了“错误指针”的问题数量开始戏剧性地增涨。 

1985 – 一系列的让C语言有面向对象能力的解决方法出现了,一个叫“C With Classes”正准备商业化。然而,大家觉得名字“C With Classes”太清楚和容易被理解了,所以,最终的商业版本叫做—— C++。

阅读全文…

好烂啊有点差凑合看看还不错很精彩 (13 人打了分,平均分: 3.92 )
Loading ... Loading ...

Java异常另类手册

2009年12月17日 陈皓 2 条评论 943 次点击    

在这个页面上http://rymden.nu/exceptions.html,你会看到Java的各种异常,不过,你看看各个异常的解释,你会发现非常有趣,下面例举几个吧:

java.lang.ArithmeticException

你正在使用计算解决一个你不能自己解释的数学问题,请你重新读一下你的程序,然后,再试一次。

java.lang.ClassNotFoundException

你应该是发明创造了一个你自己的类,目前,Java中还没有实现“种姓制度”,但是Java明显使用了巴厘岛的种姓制度。也就是说,如果你是一个武士(wesia),也就相当于印度种姓制度中的第三层——吠舍(vaishya)

java.lang.IllegalAccessException

你是一个正在运行Java程序入室盗窃的小偷,请停止对电脑的盗窃行为,离开房子,然后再试一次。

阅读全文…

分类: 轶事趣闻 标签: ,
好烂啊有点差凑合看看还不错很精彩 (5 人打了分,平均分: 5.00 )
Loading ... Loading ...

Java读写Excel

2009年12月15日 陈皓 没有评论 1,008 次点击    

本文主要向你演示如何使用JavaExcel API来读写Excel文件。关于JavaExcel API,这是一个开源的lib库。其相关的feature如下:

  • 支持Excel 95, 97, 2000, XP, 2003 的制表页。
  • 可以读写相关的Excel公式 (仅支持Excel 97 及以后版本)
  • 可以生成 Excel 2000 格式的xls文件。
  • 支持字体,数字和日期格式。
  • 支持单元格的阴影,边框和颜色。
  • 可以修改已存在的制表页。
  • 国际化多语言集。(公式目前支持,英文,法文,西班牙文和德文)
  • 支持图表拷贝。
  • 支持图片的插入和复制。
  • 日志生成可以使用Jakarta Commons Logging, log4j, JDK 1.4 Logger, 等。
  • 更多……
  • 你可以在这里下载:http://jexcelapi.sourceforge.net/,然后,把jxl.jar加到你的Java的classpath中。

    下面是两段例程,一段是如何创建Excel,一段是如何读取Excel。

    阅读全文…

    好烂啊有点差凑合看看还不错很精彩 (2 人打了分,平均分: 4.50 )
    Loading ... Loading ...