-
以下为转载:
今天,我总算搞清楚“回车”(carriage return)和“换行”(line feed)这两个概念的
来历和区别了。
在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟
可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以
打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么... -
Three idiomatic phrases:
1、busy as a bee
In English, if someone is very busy or is moving around to do lots of things, we can say they are busy as a bee.
2、The bee's knees
In English, if something is excellent or of the... -
JAVA中的数据类型 - [JAVA]
2007-10-03
1、 StringBuffer对象:
与 -
人工智能 artificial intelligence1、 什么是人工智能
-
20号答辩完毕,终于在几天的提心吊胆中得到了结果,结果是好的,但得到的结果的等待中,却让我收获了更多。
我开始觉得这种答辩的形式有缺陷,“制度问题”,用短短10几分钟时间来了解一个人3个月内的工作,准确率有多少?偶然性又有多少呢?当然,形式导致的对策就是,无论如何,即使心虚,你都要表现得无懈可击。哎,不是什么好事儿。
我知道论文致命的问题在哪,在于它的工作是否有意义,我也知道它的亮点在哪儿,在于解决问题的思路清楚,工作量大,有创新。
对于做学问,我实在是涉世未深,不了解如何做学问,也不了解自己是否能会被这片混水溺死。呵呵,夸张了点,不过足以表达偶茫然的心理了~~~~~
接着看吧,观望ing
... -
完成初稿和原型的原型 - [论文研究日志]
2007-05-07
27号完成初稿,今天下午完成了原型的原型,当然有很多不满意的地方、可改进的地方、要完善的地方、要进一步研究的地方……也就是说,永无止境这是肯定的。不过无不无也快结束了,20号,感觉就像要全国解放了一样。
说点题外话,今天还真看不进论文了,好好的心情,突然很low,很郁闷,很烦躁,很难受……
不晓得为什么,晓得了我也就知道该怎么解决了。
很想发泄~~~~~~~~~~~~~~
... -
写论文写到这份上,也基本达到想到论文就想吐的境界了。
论文框架终于搭起来了,算法有了,但还需要完善和细化。昨天交了论文提纲和摘要,不知道老师做何感想。争取这几天把论文初稿写出来先,因为可怜的程序还遥遥无期~~~~~
呜呜,我还想去玩呢~~~~~我还想学游泳呢~~~~~,哭啊~~~~~
... -
[本日志已设置加密]
-
[本日志已设置加密]
-
[本日志已设置加密]
-
[本日志已设置加密]
-
终于会用JAVADOC啦 - [JAVA]
2006-12-31
哈哈,终于会用JAVADOC了,看到自动生成的一大堆HTML页面,真让人兴奋。
原来技术是可以让人如此兴奋的。(不过网络还真是有一点破)
嗯嗯,继续努力,加油加油!
-
JAVA编译环境设置 - [JAVA]
2006-12-19
在WIN XP中要想用命令行的方式编译运行JAVA程序,需要在安装了JDK之后,设置系统的环境变量。设置方法如下:
在我的电脑->(右键)属性->高级->环境变量中,新建三个环境变量:JAVA_HOME=JDK所在的路径(例如:C:\jdk1.5.0_09);
PATH=%JAVA_HOME%\bin;
classpath=.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;其中,PATH是JAVA命令程序所在的路径,classpath是JAVA编译运行时寻找import包的地方,“.;”表示当前目录下,运行命令时所在的目录下。JAVA_HOME是为了后边两变量的方便设置。
一般来说,这样就可以在DOS环境下用命令行的方式编译运行JAVA程序了。
今天编译程序时遇见一个问题,源程序中引入了另一个自定义的package,编译时怎么都找不到这个包。看了半天,发现问题在于,我自定义的包不在classpath指定的路径下,也就是说classpath中没有包含我的package所在的位置。
修改此问题的方法有:
1、在classpath中添加自定义package所在的路径;
2、将当前目录修改成自定义package所在的目录;
3、将自定义的包转移到classpath指定的路径中。三种方法的目的都在于,让package包含在classpath中。我认为,方法1和2都是权宜之计,而应该将3作为一种编程习惯,即:将自定义的内容放到系统中一个固定的地方。这样就不用每运行一个程序就修改一次环境变量了。
-
SOA,从零开始。
以前看过一些关于SOA的文章,说它这要那好,能这样那样,虽然看得懂中国字,了解它想说什么,却始终觉得“热闹是它们的”,隔岸观火般,没什么感受,最关键,不知道它到底有什么用。
今天又看了一遍曾经看过的文章,突然知道了一点。
-
今天写了一个applet,有点问题,先记下来。
开了两个网页,一个听歌,一个就是运行applet的页面。
程序开始可以运行了,然后把applet的页面关闭,但不关IE,然后修改界面,重新编译,再打开applet的页面,重新加载程序,发现运行的仍然是以前的程序,并没有更新。
-
1、Applet:是嵌入到网页里用于装饰网页或完成某种特殊功能的小应用程序。Applet由浏览器中的JAVA解释器负责解释执行。
2、Application:是独立运行在JAVA虚拟机上的一系列的应用程序。
3、servlet:是运行在服务器端的小程序,它负责处理客户端传来的请求,然后传给客户端一个响应。
4、J2EE、J2ME:J2EE是Java 2 Enterprise Edition的简称。J2ME是Java 3 Micro Edition的简称,它类似于J2EE的一个平台,用于开发客户端手机组件。
-
JAVA学习笔记——接口与内隐类(一) - [JAVA]
2006-12-02
C++不含接口interface和内隐类inner classes,但是熟练的C++程序员能够加以模拟。
对于interface,相当于C++中的纯虚类,它不可以生成对象。
定义interface时,默认为friendly,通常将它声明为public。它可以包含数据成员和成员函数,它的数据成员都会转化为final和static,在interface中初始化数据成员时,不能为final blank,但是可以被非常量表达式初始化,例如:int i=(int)Math.random();
而它的成员函数都不可以实现,而访问属性为public。当类继承interface时,需要实现成员函数,而类中函数默认的属性为friendly,因此需要将类中的函数声明为public。JAVA继承的时候不能缩小成员函数的访问属性。
interface与abstract class:
interface与bastract class相似,所以当基类不需要实现成员函数,又不需要数据成员变量的时候,interface优先。interface的作用:
1、实现多重继承。class可以继承一个类,但可以继承多个interface,因此,可以通过继承多个interface来实现多重继承。
2、用来定义常量群。利用interface中数据成员的final&&static属性,将常量集中声明。这很像C++中enum,但enum可以进行型别安全检验而interface不行。即,声明了一个enum并为其赋值时,系统会自动检查为enum变量赋的值是否为enum定义中的那些值,而interface不行。 -
APEC meeting pushes for contiued trade negotiations - [E文]
2006-11-28
My poor English, start from the very beginning.
Listen to the VOA English, and learn it by heart, then write them down.
This is the first one.
The meeting of Asia Paciffic Economic Cooperation leaders ended without announcerment of major policy changes among APEC members. However the leaders did say they are ready to make changes in their negotiation position to restart world trade talks, They also said North Korea is the major concern, but stopped short of strong condemnation.
This is the 14th offical meeting of goverment leader from economies of East Asia and nations around Pocific Ocean. The two-day meeting was held in Vietnam, a nation admitted to W.T.O. The meeting ended on Nov 19th.
In the final statement, the leaders expressed a strong desire to contiue Doha series of W.T.O talks on trade reform.The leader said the would propose deeper cuts in goverment aids to farmers. Poor nations said such a goverment aids drive down to the price of agriculture goods.
The leader stated they would cut down the import taxed on industry goods.They offered to open their markets to more trade in industry and serives such as banking.APEC urged other country to join it in offering more trades.APEC agreements do not have the force of law.
President Bush pressed the other leaders on the issue of North Kerae nuclear programme.Six nation talks on the programme has not move forward scince last year.The Norh Korea 's nuclear test last month has not helped the situation.
Mr Bush urged APEC members to abey Unitied Nation Security Concil Resolution 1718.That resolution calls for action to against North Korea, and urge it return to nuclear disarmament talks.All the members envolved in this disarmament are APEC member except for North Korea.
The president also proposed a Free Trade Aero for a long-term goal for the group.
-
JAVA学习笔记——多态 - [JAVA]
2006-11-22
(今天看书的时候严重打瞌睡了
)除了数据抽象和继承外,多态是面向对象编程语言的第三个核心本质。
就我的理解,多态就是一个接口,多种行为。而要想多态发挥作用,主要是在父类与子类之间。而JAVA中的多态似乎和C++中有很大的不同(C++的多态没学好
)。在JAVA中,实现多态是通过“动态绑定”来实现的,也叫“后期绑定”,就是在程序运行的时候才绑定,而不是编译的时候。C++中也有这种机制,但需要用virtual关键字特别说明,不是对所有函数都如此。但在JAVA中,对所有函数都是这样的。
若子类覆写了父类的一个函数,当一个父类的引用指向一个子类对象的时候,JAVA会自动执行子类中的那个函数,而不是父类的。这点是与C++不同的。这样的机制有这样的好处:可以利用基类提供一个公共统一的接口,用基类为子类“代言”。这样,在函数定义的时候使用基类,而在传递参数的时候使用子类,就可以自动的实现子类的功能。而需要修改子类,或者生成新子类的时候就不需要再修改这个函数的代码。
如果只提供了一个接口,而不实现,那么这个函数可以称为abstract函数,它所在的类也就成了abstract类,这样就可以利用编译器,让它强制你无法生成任何abstract类的对象。
abstract类中不一定含有abstract函数,但含有abstract函数的类一定是abstract类,也就是说,含有abstract函数,是该类为abstract类的必要不充分条件。abstract类不能生成任何对象。覆写(overriding)与重载(overloading),以前还真没怎么留意。区别就在于,两个同名函数,如果参数相同,就是覆写,如果参数不同,就是重载。覆写,相当于把以前的盖掉了,重新写;而重载,毕竟还两个不同的函数,不过同名罢了。
关于在继承类中调用基类的finalize()这点还是有些不清不楚

-
English,Let's go - [E文]
2006-11-22
(开头第一句,难死me了,学英语我已经计划了很久了怎么说D???)
It has been a long time since I decided to study English,but the ideal is still an ideal.
I don't know what is English meaning for me,an useful tool or an interest? (屈指算来),It has been more than ten years scince I started to learn English,when I am in Grade 3.But I still don't know how to improv my English. Reading, speaking, writing ,listening or all of them?
But I believe, if you need it, you will remember it. So I just want to write some English, to practise more.
I had a blog of English Diary in the net before, but only several articles,and it has been a long time after I logged in it last time. I can not find it already. This is new, and I hope it's a start.And what I hope more is I can (坚持下去).
-
JAVA学习笔记——重复运用Classes - [JAVA]
2006-11-21
JAVA的特点之一是代码重用,可能这是历代程序员追求的目标之一,因为重用的代码,既能使代码简洁也能保证修改维护的方便。其实函数调用本身就体现了代码重用,一个类产生很多个对象,也是重用的一种方式吧。
在JAVA中,一切皆对象,所以重用的单位即为Class,在新的Class中使用原有的Class便是代码重用。
JAVA中,重用代码的方式有两种:一为“组合”,即在新的类中,声明旧类的引用作为新类的数据成员。另一种方式即为“继承”,是面向对象的重要特征之一,与C++中类似。
这两种方式有什么区别呢?什么时候用“组合”,什么时候用“继承”呢?通常,当旧类与新类有“has-a”关系的时候用“组合”;而当旧类与新类有“is-a”关系的时候用“继承”。用“组合”的时候,使用的是旧类的功能,而不是接口。即让旧类在新类中起支持作用,而新类的用户是看不到旧类对象的,因为通常将数据成员设置成private。而使用“继承”时,旧类的接口依然可以为用户所见,通常还会多一些新的接口。
使用组合时,要注意旧类对象的初始化,因为声明的只是引用,在JAVA中会自动被初始化为NULL。初始化的方法有三种:一、在引用声明的时候生成对象,这样能在构造函数被调用之前完成初始化动作;二、在新Class的构造函数中生成对象;三、在实际需要的地方,程序中要使用该对象之前。
使用继承时,一要注意构造函数的参数传递,二要注意Class的装载顺序。
当生成子类对象时,需要首先调用基类的构造函数,因为子类中数据成员的初始化与基类数据成员的初始化有关。当子类的构造函数无参数时,系统会自动调用其基类的构造函数,但当子类构造函数带参数时,就需要手动调用,使用关键字super,并将此语句写在子类构造函数的第一句。
JAVA中类的装载方式为,首先寻找执行main()函数的这个类是否有父类,若有则将先父类静态初始化,即将其static的数据成员初始化,然后对子类静态初始化。接着执行main()中的语句,当要生成子类对象,需要调用子类构造函数之前,要先调用父类的构造函数。对于JAVA中的protected,除了与c++中一样,对继承类可见外,还对同一package内的其他class可见,即JAVA中的protected具有friendly权限。
JAVA中的final作用于数据和函数时候,有点像C++中的const,不同的是final还可以作用于Class。
final作用于数据时候,表示该数据是不可以改变的。对基本数据类型,表示其值是不能改变的,对于引用而言,是说此引用不能指向其他对象,但它指向的那个对象的内容是可以改变的。
final作用于函数,表示继承类无法改变这个函数,即此函数无法被覆写overridden。但这只是对非private函数而言的,对于private函数,子类无法获得,自然无法覆写,若子类也有一个同名的函数,只能说,这两个类中的函数恰好重名了而已。
将final作用于函数的另一目的是为了效率,让函数成为内联函数,“降低函数调用动作所引起的额外负担”。
final还可以作用于Class,表示这个Class不能被继承。 -
JAVA学习笔记——隐藏实现细目 - [JAVA]
2006-11-20
对于面向对象的程序设计,此对象与彼对象的区别,除了属性和方法,其独立性和还表现在,对象不能随意相互访问,即——封装性。
而程序设计中,因为面向对象,程序员应该只关注于自己所使用的对象的功能,而不是为其实现的细节分心劳神,这就要求接口与实现相分离,这便是封装性的另一个作用。这样既可以分工合作,又可以方便的对库进行升级,而不改变用户代码。
即,封装是为了对象访问的安全性,以及升级与维护的可维护性。
JAVA中利用了package,和访问控制权限关键字来实现封装。
JAVA工程中可以有很多个package,package中可以有很多个编译单元,每个编译单元可以有很多个类(但只能有一个public类),每个类又可以含有许多访问权限不同的数据成员和成员函数。
引进package的目的之一是解决名称冲突问题。package是全局命名空间分割的单位,也就是说,同一个package内的类不能重名,但是不同的package中,可以还有名字相同的两个类。在默认的访问控制权限下,同一个package内的类可以相互可见。如果A包要用到B包中的类,需要在Apackage文件中的第一行程序中使用import+B包名来引入。
package解决了类的重名问题,但是如何保证package不重名呢?解决的办法就是从package的命名方式上入手。JAVA的特点之一是其在网络上的应用,因此package的命名也利用了这点。众所周知,Internet上域名是唯一的,所以只要把域名作为包名的一部分就可以了。包名的另一部分为“你的机器上的磁盘目录名称。于是每当JAVA程序执行并需要装载.class文件时,便可以找出.class文件所在的目录位置。”
package与import结合可以用来模拟条件编译。即,在两个包中生成两份相同接口但不同实现的类,通过import引入不同的package,就可以不用改动程序内容而产生两份结果不同的程序。C/C++中的条件编译可以解决的问题有:1、跨平台问题;2、头文件重复编译;3、程序调试。JAVA利用虚拟机已经解决了问题1,而问题2在JAVA中压根就不存在,但可以它来解决问题3。
JAVA中,访问控制权限从大到小分别为:public,friendly,protect,private。
对于类而言,只能使用public和friendly两个关键字,而不能使用protect和private。public类可以被任何其他的类所见,而friendly类只能被本包中的类所见。如果不想其他人随意取用类,可以将其所有构造函数声明为private,如此一来,产生对象的方法便只有两种:一,在该类中使用static函数来产生新的对象并将其reference返回,这样便能在生成对象前,在该函数中进行某些处理,或者控制对象的数量;二、“使用某个设计模式”,如:在类中声明一个该类的一个static private对象的reference,作为该类的数据成员。
protect与private可以用来修饰类的数据成员和成员函数,通常将类的数据成员都声明为private,这点与C++相同,大概是面向对象的共同特征吧。
-
学了四年计算机,眼看就要毕业了,可还是自己没有跨进计算机科学与技术的大门,最多算是是站在了门槛上吧。
感觉这个领域就像一片大海,不停的波涛汹涌,浪花拍岸。而我拥有的,不过是这片海中的一滴水。
有点渺茫,不知道什么时候才能对它驾轻就熟,轻车熟路。不想总是站在门口,拼命的往里挤呀钻呀的,好累!
咳……
-
JAVA学习笔记——初始化和清理 - [JAVA]
2006-11-18
JAVA中一切都是对象,所以初始化和清理,都是对于对象而言的。
在JAVA中,一切对象都是由NEW产生的,初始化的方式和C++相同,都是利用构造函数。当程序员没有为类定义构造函数时,系统会为类定义缺省的构造函数。构造函数可以重载,重载函数用参数列表的不同来区分,根据参数的不同调用不同的构造函数,当无严格对应的参数时,通过参数的类型转换(宽型转换,信息不丢失)来寻找适合的重载函数。重载的构造函数之间可以相互引用,但引用必须放在构造函数的第一行。
而JAVA中的数据成员比C++多了一种初始化的方法,它可以在类中定义的时候就进行初始化,这样,在构建对象之前就已完成了数据成员的初始化。
由于采用了垃圾回收机制,JAVA中并不需要手动的撤消对象,但仍然需要完成某些清理和检查工作,为此提供了finalize()函数。它在垃圾回收第一次启动的时候被调用。由于垃圾回收并不是一定启动,所以此过程并不一定被执行。使用finalize()的一种情况为,垃圾回收机制只能回收由new分配的内存,而无法回收其他的内存资源。但是JAVA中的一切对象又都由new创建,所以只有当JAVA中插入了其他程序代码,如C中的malloc()时,分配了垃圾回收无法管理的内存空间的时候,才需要利用finalize(),在垃圾回收启动的同时,也顺便清理了其他内存。另一种情况为,利用finalize()来检验对象被摧毁的时候(也就是垃圾回收起作用的时候)对象时候都处于规定的状态,以此来检查程序中可能出现的遗漏,或者说bug。 -
JAVA学习笔记——控制程序流程 - [JAVA]
2006-11-15
控制程序流程和C/C++没什么区别,三大控制流程:顺序选择循环,用if-else,while,do-while,for,switch-case语句控制程序流程。
今天突然发现JAVA里可以用label,不知道这种控制方式是好是坏。
还有,Math.random()的输出范围是[0,1),佩服外国人的“科学精神”。
-
第一次接触web2.0,看到第一眼,就觉得它是一个网络协议之类的东西,细看了才知道,其实并非如此。
1、什么是web2.0?
Blogger Don在他的“WEB2.0概念诠释”一文中提到“Web2.0是以 Flickr、Craigslist、Linkedin、Tribes、Ryze、Friendster、Del.icio.us、43Things.com等网站为代表,以Blog、TAG、SNS、RSS、wiki等社会软件的应用为核心,依据六度分隔、xml、ajax等新理论和技术实现的互联网新一代模式。”
据说web2.0还没有清晰准确的定义,大致是相对于web1.0而言的,新的互联网应用的统称。
web1.0同样没有找到明确的定义,但理解了大意,是指以门户网站为代表的传统互联网应用。web2.0与它的区别在于——交互性。
web1.0诞生与网络发展初期,只有少数专业人员懂得计算机操作,因此,在网络上的应用就变成了由少数计算机操作人员发布消息,网民被动接受的状态。随着网络的普及,让广大网民成为网络制造的参与者就成了一种趋势,于是就出现了以blog等应用方式为代表的互联网应用。
web2.0的形成,标志着网络信息的组织方式的改变。当海量的信息出现在网络上的时候,信息的发布与检索方式,就显得十分重要了。一种方式是使用搜索引擎,另一种方式则是以“六度空间”理论为基础的。六度空间理论即,世界上的任何一个人,都可以通过不超过六个人而找到世界上的另一个人。即,我们要找的信息,很可能就藏在我们熟悉的人身边。所以只要将联系人的信息连接在一起,就能为信息的获取提供可能。
2、web2.0的主要技术
web2.0并不是技术的变革,而只是应用层面的改变。它的主要技术有
blog: 全称为web log,网络日志,简称blog。
RSS: Really Simple Syndication, 是在线共享内容的一种简易方式。通常被用于新闻和其他按时间先后顺序排列的网站,例如Blog。一个RSS包含很多新闻条目,一个新闻条目的介绍可能包含新闻的全部介绍,或者仅仅是额外的内容和简短的介绍。这些条目的链接通常都能链接到全部的内容。网络用户可以在自己的客户端,借助于支持RSS的新闻聚合工具软件,在不打开网站内容页面的情况下阅读支持RSS输出的网站内容。
wiki: --一种多人协作的写作工具。
p2p:对等网络。目前人们认为其在加强网络上人的交流、文件交换、分布计算等方面大有前途。
SNS:SNS: Social Network Sofwaret,社会性网络软件。依据六度关系理论,以认识朋友的朋友为基础,扩展自己的人脉。并且无限扩张自己的人脉,在需要的时候,可以随时获取一点,得到该人脉的帮助。
IM:Instant Messenger,即时通信。如网络聊天。
-
JAVA学习笔记——万事万物皆是对象 - [JAVA]
2006-11-14
在JAVA程序中,万事万物都为对象,即使JAVA程序本身也是对象。
JAVA中的数据和程序都被组织成对象的形式。对对象的控制,是通过其引用来控制的。所有的对象都需要使用new手动创建,占用来自堆的存储空间。而对象的撤消则不需要程序员考虑,JAVA的垃圾回收机制会自动解决这个问题。
JAVA中的基本数据类型与C++类似,不同的是,所有数据类型的长度均为固定值而不再与机器结构有关,这是JAVA高度可移植性的原因所在。基本数据类型被看成特殊的数据类型,占用来自stack的存储空间,直接存放其值,而不是引用
。所有的基本数据类型都有其“外覆类”,即所有基本数据类型都可以被包装成类。只有当基本数据类型变量为类的数
据成员的时候,它们才会被赋初值。JAVA中通过对未初始化报错,解决了数组越界的问题。
在JAVA中,如果类的成员为static,那么不需要创建对象就可以使用它们,可以通过类名来指定。 -
IBM SOA大赛结束了,全国总冠军恰是我们的校友。
看着人家的那份荣誉,心中难免有些不是滋味。因为我也曾是大赛的报名者之一,只是没有提交作品,就放弃了。
印象中这是第一次半途而废,一点也不是我的风格。或者这叫有取有舍。
更离奇的是,我的未来竟要以此为研究对象!命运总在不经意中创造出无数的巧合,我也只有惊叹的份儿了。
大赛结束了,可学习永远不会结束。
从现在开始,好好学习,天天向上!
-
在自己的地盘感慨一下 - [杂感]
2006-06-01
SOA,有点想写成SOS了。
比赛进行到这个时候,真有点说不出的感觉。好象一杯温热的茶水,没有当初的沸腾,却保存了当初的温度。
这一个月啊(今天是六一了),不敢想象。
期末考试,找实习,论文,程序,比赛……
事情多到已经有点安排不过来了。可是没有哪一项是可以不做的。
真挑战我的极限,或许一个月零一周后,我会自豪一个月的成果。(哦不,到时候还得写数据库的作业呢。)
嗯~~~~,又一个“24公里”,想当初的军训拉练一样。当初居然哆嗦着唱着歌回来了,呵呵,希望一个月零一周后,我会同样想唱歌!
一个月了,加油!坚持!挺住!别趴下 ^ _ ^
-
从今天起,开始努力准备比赛,对一个完全陌生的领域,用努力考验自己的心理和能力。
从今天起,在一个新的空间,努力向一个新的方向前进。
从今天起,面朝大海,春暖花开。







