package image;
/**
 * Robert.SU
 */
import java.awt.*;
import java.awt.event.*;


public class LoadFromAppli extends Frame{
    
    private static final long serialVersionUID = 1L;
    Image im;
    public LoadFromAppli(){
        im=Toolkit.getDefaultToolkit().getImage("E:""1.jpg");
        addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e){
                System.exit(0);
            }
        });
    }
    public void paint(Graphics g){
        g.drawImage(im, 20, 20, this);
    }

    public static void main(String[] args){
        LoadFromAppli f = new LoadFromAppli();
        f.setSize(200,200);
        f.show();
    }

}

Paint方法显示图像

posted @ 2008-06-23 15:43 Robert Su 阅读(833) | 评论 (0)编辑 收藏

很久都是用eclipse来写java程序
今天看core java,做上面的练习,居然welcome都出java.lang.NoClassDefFoundError这样的错误
找了半天才发现是新系统,没有设置classpath

设置了居然还是不行

C:\Program Files\Java\JDK1.5\lib;C:\Program Files\Java\JDK1.5\lib\tools.jar

都是长时间不练习的原因~~~
应该在前面加   .;

.;C:\Program Files\Java\JDK1.5\lib;C:\Program Files\Java\JDK1.5\lib\tools.jar

少了 < .; > 就造成巨大的差别
在沒有做任何设定之下 , 预设的CLASSPATH就是一个 .
这个 . 代表 命令提示字元的当前目录
没设定比设定错误还要好一点(对新手而言) , 只要 .class 在当前目录 , 还是可以执行程序的

但是你若下了设定
SET CLASSPATH=C:"j2sdk1.4.1_03"lib;C:"j2sdk1.4.1_03"lib"tools.jar;
少了这个. 若你当前的目录却不是 C:"j2sdk1.4.1_03"lib , 就會发生NoClassDefFoundError

正確的設定
SET CLASSPATH=.;C:"j2sdk1.4.1_03"lib;C:"j2sdk1.4.1_03"lib"tools.jar;
表示當前的目錄 , C:"j2sdk1.4.1_03"lib" , 以及 tools.jar 內的class都可以載入



posted @ 2008-06-04 03:19 Robert Su 阅读(25854) | 评论 (5)编辑 收藏



这条曲线不需要过多的说明
2008 年 5 月 19 日 14 时 28 分
之后的三分钟

posted @ 2008-05-23 01:37 Robert Su 阅读(191) | 评论 (0)编辑 收藏

通讯的力量

                      ——汶川地震之后

       四川汶川地震以来,救援工作苦于通讯的中断而无法有效的开展。甚至中国之前的一则广告(广告宣称某次地震中,中国移动基站正常工作使得人员获救)还成为人们的笑柄。在重灾区仅有几部卫星电话可以使用。

       笔者立即联想到了曾经的“铱星计划”,那个伟大的计划!也许铱星正常投入运营的话,全世界的灾害救援工作就会得以在信息通畅的情况下快速开展。摩托罗拉发起的“铱星计划”被称为世界科技史上最了不起的、最可惜的、也是最失败的项目之一。

       它是由77颗近地卫星组成一个覆盖全球的卫星系统,由于铱元素有7个原子,所以该计划命名为铱星计划,虽然后来卫星由于预算削减了11颗。

       铱星计划确实是科学史上一个宏伟的计划,它试图通过卫星与卫星之间的传输来把地面的蜂窝移动系统搬到了天上。这样就不需要数目众多的地面基站。当遇到汶川地震这样重大的自然灾害的时候,照样可以保证通信的顺畅。

       而地面的蜂窝移动通信系统,不论是CDMA还是GSM,都是“地上”通信系统,都需要数目众多的基站来进行信号通信。当地震发生的时候,地区内基站的电源供应被切断,基站的电池维持时间又很短,基站在没有电源供应的情况下就无法正常工作,只能被迫退出服务。当区域内一定数目的基站无法正常工作的时候,这一区域内的用户手机自然无法得到信号。

也许有人不禁要问,那为什么在几百里外的成都,手机在地震当时也完全成为摆设。那里地震远没有损坏基站的程度啊?

每个基站承受的手机接入是有数的,其他地方大面积基站退出服务,而与此同时,国内其他省份的电话都打入到四川,话务量瞬时高峰,核心网的承载冗余达到临届,导致话务拥塞的出现。这其实是正常的。

很多用户抱怨中国移动、联通不可靠,其实这也是对他们工作的一种误解。从抢修速度来看,国内的几大通信运营商的反应速度还是很迅速的。

另外还有很多网友说华为不爱国,捐款才500W RMB,这其实也是误解,据笔者通过华为员工了解,华为此次捐给四川震区的设备总价值就近一个亿,国内员工的捐款高达1300万人民币,国际员工比这个数目更多,只是统算在海外捐款里面。

与这次通信网瘫痪形成对比的是因特网,当电话打不通的时候,我们只有通过网络来了解信息,以及救援工作的进展,通过上网来与成都的同学、朋友保持联系。在成都的高校中,IP电话超市门口排起长长的队伍,IP电话又称互联网电话、网络电话。

那为什么手机没信号,电脑上网却可以畅通无阻呢?原因很简单,传输数据的光缆没事,中转数据的中心机房没事。这次事件也并不能说明Internet当初的架构就比蜂窝式通信的架构先进。上次台湾地震的时候,海底光缆受到地震损坏,我们访问国际网站还是一样受阻。

那为什么上次台湾省地震的时候光缆震断导致全国性的网络缓慢,而这次遇到更强的地震灾害,没有出现大面积网络瘫痪?这主要是因为台湾海峡震断的那条光缆是主干传输线,而这次成都、绵阳市区震情相对不是那么严重,主干网经过的地区没有大面积地震灾害,同时相对于海底光缆,陆地传输线路受保护相对好些。

毋庸置疑,信息的通畅对抗震救灾有着至关重要的作用,往往在灾难面前我们才意识到通讯的力量,期望灾区的通信,灾区的一切可以早日恢复正常。也期望通讯技术在自然灾害来临的时候照样正常工作,那时通讯的力量还会真正体现。



(请大家指正)

posted @ 2008-05-16 10:51 Robert Su 阅读(1313) | 评论 (5)编辑 收藏

widget……
当了解这个东西的意义的时候,也许就会崇拜Yahoo工程师
当认真阅读Yahoo Map API并对比Google Map API,以及Yahoo 翻译软件的时候,也许才明白为什么微软要收购Yahoo,也会了解,微软的开价其实不高。
除了发明java以外,Sun还有Solaris,它很强大,是我们使用的windows没法比的,当然也没有必要比,user不一样,DTrace一个就足够说明了。。。

Sun的创始人之一Joye Bill,他发明了BSD、NFS、TCP/IP、C shell。Sun的Sparc芯片八核,每个core支持四个线程 == 32 个 P4

Sun已经把这些都开源了,IBM也大力提倡开源,Apache就是IBM资助的。所以LAMP,Sun不会收购,顺便说一句,开源也分开源协议的,这里就不做赘述。
Just like IBM的服务器可以100年可以不down机,所以他的Thinkpad比Dell、联想的要可靠。不要跟不懂的计算机的人一样,大肆叫嚣“联想把IBM收购了”,so ******

Oracle现在市值很高,最高1000亿$ , 现在Sun的市值110亿$,IBM--1310,所以请不要再说Sun收购甲骨文这种蠢话
Sun发明了java,可却没有在java上面赚到一分钱,而赚的最多的是IBM & Oracle


 

This is the last time.

posted @ 2008-05-12 04:19 Robert Su 阅读(187) | 评论 (0)编辑 收藏

当得知谷歌金山词霸(http://g.iciba.com/)发布的消息之后,我第一时间下载并安装了这款软件。
先谈下大体印象
1、界面清新了很多;
2、启动速度大大提高,本人的笔记本比较老,性能不是很好,在Eclipse运行的状态下,运行金山词霸还是有些负荷高,不过谷歌金山词霸占用内存显然没有原先的版本那么大;
3、主界面简洁明了“词典、例句、翻译”——字词、句、全文,so good,so powerful:)

我之前参与过一些教材的翻译,当时用的辅助工具是“灵格斯”,那时感觉这个软件很小巧实用,里面集成了很多家的全文翻译,比如Google翻译、yahoo翻译,不过现在这款软件已经变烂了。
言归正传
深入使用……
我在谷歌词霸中输入“龙”首先分别按照词典给出了不同的条目,非常简洁


当我双击某个单词的时候,谷歌词霸会执行查询,这点是值得称赞的改进。
我非常欣赏的是Google词典,当我查龙的时候,我明白了国外人所认为的dragon,并不是我们传统中的龙,而是“恶龙”,应该翻译成Loong。
有人提到谷歌金沙词霸对Firefox支持不佳,我的版本是2.0.0.14,不存在这样的问题。
还有谷歌词霸的语音功能,对中文的朗读不支持,不过英文单词的发音还是没有问题。
暂时写到这里……

posted @ 2008-05-09 14:27 Robert Su 阅读(3240) | 评论 (7)编辑 收藏

ERROR:JDWP Unable to get JNI 1.2 environment ,jvm-> GetEvn() return =-2
原因:tomcat-eclipse-plugin插件启动报错
ERROR:JDWP Unable to get JNI 1.2 environment ,jvm-> GetEvn() return =-2

原因:JDK版本问题
查阅Java Doc,发现其中有这么一段话: 

http
://download.java.net/jdk6/docs/api/java/io/Console.html 

"Whether a virtual machine has a console is dependent upon the underlying platform and also upon the manner in which the virtual machine is invoked. If the virtual machine is started from an interactive command line without redirecting the standard input and output streams then its console will exist and will typically be connected to the keyboard and display from which the virtual machine was launched. If the virtual machine is started automatically, for example by a background job scheduler, then it will typically not have a console." ">http://download.java.net/jdk6/docs/api/java/io/Con..." 

翻译一下: 

虚 拟机是否有一个控制台Console取决于所依赖的平台和虚拟机解析该方法的方式。如果虚拟机是从一个交互式的命令行中启动的,而没有重定向标准输入和输 出流,那么虚拟机会自动的连接到键盘作为标准输入,并且把启动虚拟机的地方作为标准输出。如果虚拟机是自动启动的,例如通过后台的一个任务计划,那么典型 的情况就是没有Console控制台
......。 

于是,思考一下我们运行上面程序的地点
&mdash;&mdash;Eclipse等集成开发环境,这对于上面描述中的把启动虚拟机的地方作为标准输出来说是不合适的,这里的Console()返回的默认情况下是Null,于是就产生了上面的出错信息。(也许未来Eclipse会有所改进吧) 

怎么解决该问题呢?这里提供两条思路给大家(已经实际操作过,可以实现功能的正常运作) 

1、使用命令行进行运行,编译可以使用集成开发环境。这样可以完成标准输出。 
2、在程序中重定向标准输出到其他的设备或者方式(例如写到文本文件),这样也可以
"比较不方便的"完成该功能。






posted @ 2008-04-13 23:01 Robert Su 阅读(3976) | 评论 (7)编辑 收藏

 

D.O.H. Unit Testing

http://dojotoolkit.org/book/dojo-book-0-9/part-4-meta-dojo/d-o-h-unit-testing

Testing Widgets for Accessibility

http://dojotoolkit.org/book/dojo-book-0-9/part-3-programmatic-dijit-and-dojo/writing-your-own-widget-class/testing-widgets-

D.O.H. Command Line

http://dojotoolkit.org/forum/dojo-core-dojo-0-9/dojo-core-support/d-o-h-command-line

AntDojoUnit Test集成问题

http://trac.dojotoolkit.org/changeset/6867

http://trac.dojotoolkit.org/ticket/673

posted @ 2008-04-03 14:55 Robert Su 阅读(414) | 评论 (0)编辑 收藏

通过Ant Jetty plugin我们可以在ant构建脚本中直接启动Jetty。

<project name="Jetty-Ant integration test" basedir=".">
  
<path id="jetty.plugin.classpath">
    
<fileset dir="jetty-lib" includes="*.jar"/>
  
</path>
  
<taskdef classpathref="jetty.plugin.classpath" resource="tasks.properties" loaderref="jetty.loader" />

  
<target name="jetty.run">
    
<jetty />
  
</target>
</project>





posted @ 2008-03-20 11:11 Robert Su 阅读(781) | 评论 (0)编辑 收藏

 [report] nothing to do: no runtime coverage data found in any of the data files

Ant与Emma集成的时候总提示这种错误。。。查了下Emma QA说是runtime与metadata


源代码如下,哪位遇到过这种问题。。

<?xml version="1.0"?>
<project name="Toccata Code Quality" default="init" basedir=".">
    

        
    
<property name="junitJar" value="lib/UT/junit.jar"/>
    
<property name="emmaJar"  value="lib/UT/emma.jar"/>
        
    
<!-- 目录配置 -->
    
<property name="base.dir" location="."/>
    
    
<property name="lib.dir" value="./lib"/>
    
<path id="classpath.main">
        
<pathelement location="${build.src}" />
    
</path>
    
<property name="build.dest" value="./src/classes"/>
    
<property name="build.test.bin" value="./src/classes/test"/>

    
    
<property name="build.javadocs" value="./src/UT/doc"/>
    
<property name="build.report" value="./report" />
    
<property name="build.src" value="./src/UT/" />
    
<property name="build.test" value="/src/UT/test" />
    
<property name="build.instrument" location="./instrbin" />
    
<property name="coverage.dir" location="${base.dir}/report/UT/coverage" />

    
<property name="emma.enabled" value="true" />
    
<!--指示需要注入字节码的Java类的路径-->
    
<path id="classpath.main">
        
<pathelement location="${build.dest}" />
    
</path>
    
    
<path id="emma.lib">
            
<pathelement location="lib/UT/emma.jar" />
            
<pathelement location="lib/UT/emma_ant.jar" />
    
</path>
    
    
<taskdef resource="emma_ant.properties" classpathref="emma.lib" />

    
<target name="init">
        
<mkdir dir="${build.instrument}"/>
        
<mkdir dir="report/UT/htmlreport"/>    
        
<mkdir dir="${build.dest}"/>
    
</target>
        
    
<target name="compile" depends="init">
            
<javac destdir="${build.dest}" srcdir="${build.src}/ibm" debug="on">            
                
<classpath>
                    
<pathelement location="${junitJar}"/>
                    
<pathelement location="${emmaJar}"/>
                
</classpath>
            
</javac>
            
<copy todir="${build.dest}">
                
<fileset dir="${build.src}/ibm">
                    
<include name="**/*.class"/>
                    
<exclude name="**/*.java" />
                
</fileset>
            
</copy>
    
</target>
    
    
<target name="compile-test">
        
<mkdir dir="${build.test.bin}" />
                
<javac destdir="${build.test.bin}" debug="on">
                    
<src path="${build.test}" />
                    
<classpath location="${build.dest}">
                        
<pathelement location="${junitJar}"/>
                    
</classpath>
                
</javac>
                
<copy todir="${build.test.bin}">
                    
<fileset dir="${build.test}">
                        
<include name="**/*.class"/>
                        
<exclude name="**/*.java" />
                    
</fileset>
                
</copy>
    
</target>

    
    
    
<!--对编译在路径build.src中的Java类注入字节码, 并且把注入字节码的新Java类存放到路径build.instrument-->
    
<!--覆盖率的元数据存放在路径coverage.dir中-->
    
<!--插入字节码-->
    
    
<target name="instrument" depends="compile">
            
<emma enabled="${emma.enabled}">
                
<instr instrpathref="classpath.main" 
                        destdir
="${build.instrument}" 
                        metadatafile
="${coverage.dir}/metadata.emma" merge="true">
                    
                
</instr>
            
</emma>
            
<copy todir="${build.instrument}">
                    
<fileset dir="${build.dest}">
                        
<include name="**/*.class" />
                        
<exclude name="**/*.java" />
                    
</fileset>
            
</copy>
    
</target>
    
    
<target name="run" depends="compile">
        
<junit fork="true" forkmode="once">
                        
            
<jvmarg value="-Demma.coverage.out.file = ${coverage.dir}/metadata.emma" />
            
<jvmarg value="-Demma.coverage.out.merge = true" />

            
<classpath>
                
<pathelement location="${build.src}/"/>
                
<pathelement location="${junitJar}"/>
                
<pathelement location="${emmaJar}"/>
            
</classpath>
            
            
<formatter type="xml"/>
            
<!-- formatter用于格式化测试输出结果 -->
            
<batchtest haltonfailure="no" todir="report">
                
<fileset dir="${build.test}">
                    
<include name="**/*Test.java"/>
                
</fileset>
            
</batchtest>
        
</junit>
        
<junitreport todir="${build.report}/UT/htmlreport">
            
<fileset dir="./report" id="id">
                
<include name="*.xml"/>
            
</fileset>
            
<report todir="${build.report}/UT/htmlreport" format="frames" Styledir="./report/XSL">
        
</report>
            
        
</junitreport>
        
<echo message="end running junit test"></echo>
    
</target>


    
<target name="coverage_report" depends="instrument,compile">
            
<!--如果属性emma.enabled的值是true,就生成代码覆盖率报告 -->
            
<emma enabled="${emma.enabled}">
                
<report sourcepath="${build.src}/ibm"
                    sort
="+block,+name,+method,+class"
                    metrics
="method:70,block:80,line:80,class:100">
                    
                
                    
<fileset dir="${coverage.dir}">
                        
<include name="*.emma" />
                    
</fileset>
                    
                    
<html outfile="${coverage.dir}/coverage.html" />

                
</report>
            
</emma>
    
</target>
    
    
    
<!-- checkstyle -->
    
<taskdef resource="checkstyletask.properties" classpath="lib/checkstyle/checkstyle-all-4.4.jar" />
    
<target name="checkstyle_report">
        
<checkstyle config="conf/checkstyle/bpf_checks.xml">
            
<fileset dir="src" includes="**/*.java" />
            
<formatter type="plain" />
            
<formatter type="xml" toFile="report/checkstyle/checkstyle_errors.xml" />
        
</checkstyle>
        
<xslt in="report/checkstyle/checkstyle_errors.xml"
            out
="report/checkstyle/checkstyle_report.html" 
            style
="conf/checkstyle/checkstyle-frames.xsl" />
    
</target>

</project>




posted @ 2008-03-18 12:03 Robert Su 阅读(1426) | 评论 (2)编辑 收藏

仅列出标题
共11页: First 上一页 3 4 5 6 7 8 9 10 11 下一页 

posts - 103, comments - 104, trackbacks - 0, articles - 5

Copyright © Robert Su