易截截图软件、单文件、免安装、纯绿色、仅160KB

Java秘史:隐藏在SWT/Swing背后的故事

译注
:本文来自straight_talking_java@yahoogroups.com讨论组,已经是一年多前
的文章。Alan Williamson是Java Developers
Journal的编辑,下文来自他在IBM的一个消息来源。SWT和Swing的论争我见过不少,Netbeans和Eclipse的也同样多。译者翻译
此文并不是要激起什么争执,也不是支持哪一方(虽然我的确是站在SWT一边的),更不是要攻击Amy。我最重要的理由是,这是一篇有趣的文章。里面有内
幕、线人、公司政治、垄断巨头、美女、商界风云……足够拍一出电影。有趣,这就够了。不过此文反映了IBM对Swing的看法和SWT的由来,还是有一点
营养的。
  要想弄清楚为什么一切都被弄得如此混乱,要从几年前只存在AWT的时候说起。SUN当时已经建立了一套基本的可移植控件
类,这些类映射到不同操作系统上的原生窗口组件(native widget),显然下一步应该继续增强这套模型,除了初始的CUA
92组件(文字、按钮等等),再继续加上表格、树、记事本、滑块等等……当时的AWT还满是漏洞,远不能称为可靠,还需要SUN的coder们去修补。
SUN的developer们如Graham和Otto总是习惯于公开把他们的bug归咎为操作系统的差异,比如“Windows和OS/2的焦点次序不
同”或者“在……之间Ctrl-X的行为不一样”,以及其他苍白的托辞,好让批评的火力从SUN太早释出代码这个问题的真相上移开。然后Amy
Fowler来到了SUN。不是我大男子主义,Amy是个聪明的美女,大多数呆头呆脑只懂技术的开发人员都要被她捏在手里。
Amy来自一家Smalltalk公司,叫做Objectshare,在那里她负责搞UI类库。
  跟Java相比Smalltalk的
历史有些悲惨,曾几何时有3家庞大的Smalltalk公司——IBM、Parc-Place和Digitalk。在90年代初期3家公司的市场份额大致
相等,生活是美好的。Parc-Place采用仿窗口部件(emulated
widgets)的设计(即Swing的设计),IBM和Digitalk则采用原生窗口部件(native
widgets)。后来IBM压倒了另外两家,因此他们打算合并成一家,假设叫做Parc-Place
Digitalk。随后当他们试图将他们的产品融合到一个叫做Jigsaw的计划中时爆发了一场大战,计划由于政治原因失败了(开发人员实际上已经能让它
运转起来),就因为原生和仿造两派的死战。
  Amy赢得了精神上的胜利,不过在IBM我们赢得了他们所有的生意,因为这两家公司在一整
年里除了吵架什么都没做。当尘埃落定之后PPD(Parc-Plac


相关文档:

JAVA程序员面试32问

JAVA程序员面试32问
第一,谈谈final, finally, finalize的区别。
final 修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声 ......

java线程死锁例子

public class DealLockTest implements Runnable {
static String i = new String();
static String j = new String();
private String str = null;
public DealLockTest(String str) {
this.str = str;
}
public static void main(String[] args) {
new Thread(new DealLockTest("i")).start( ......

1分钟Java程序快速转换为windows服务运行

文章来源:http://www.blogjava.net/midea0978/archive/2008/01/17/175953.html
1、首先到请下载最新版本的Java Service Wrapper,点我下载。
2、准备如下文件,复制到test目录,这些文件可以从下载包中找到:
wrapper.dll
wrapper.exe
wrapper.jar
3、编写wrapper.conf,也放在同一级目录下面,内容如下
# Jav ......

载入java vm时windows出现错误:3

      最近用installanywhere做了一个安装包,卸载的时候总是出现“载入java vm时windows出现错误:3”,很不爽,上网查看原因,原来是因为中间我重新更换过jdk的版本,现在有些软件自带VM或JDK,windows系统通过注册表来管理当前系统所使用的VM和JDK路径,因此,当安装的软件JDK版本和 ......

java连接Oracle

    花了两天时间,终于把access数据库里的数据换到Oracle了。当然这其中要感谢同学和博友的热心帮助拉。现将今天的收获整理下。
    我用的是Oracle 10 express edition版本,这个版本建数据库挺麻烦的,所以我就直接在它自带的数据库XE下建表了。
    注意:建表可一定要 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号