2006年9月20日星期三
2006-9-18 星期一 today
今天是新的一周开始,通过上一周的学习,掌握了一些java最基础的应用。
上午学习了异常处理
Java中如果想在一个方法中抛出异常,必须在方法声明后加上throws Exception或者具体异常名称,调用该方法的方法可以对异常进行处理也可以接着向上抛出。
作了三个练习,其中汉诺塔的问题用递归实现理解起来比较复杂:
public class Hanoverian
{
public Hanoverian()
{}
public void calculate(int i,char a,char b,char c)
{
if(i == 1)
{
remove(a,c);
}
else
{
calculate(i-1,a,c,b);
remove(a,b);
calculate(i-1,b,a,c);
}
}
private void remove(char m,char n)
{
System.out.println(m + "->" + n);
}
public static void main(String[] args)
{
Hanoverian myhanoverian = new Hanoverian();
myhanoverian.calculate(10,'a','b','c');
}
}
留下代码,供以后参考,呵呵!
下午初步学习了线程,这是以前接触比较少的,有很多新知识
当Java程序启动时,一个线程立刻运行,该线程通常叫做程序的主线程(main thread),因为它是程序开始时就执行的 。可以把main方法的内容理解为主线程的线程体。而其它子线程的线程体是Runnable接口的run方法。Thread类实现了Runnable接口,我们可以扩展Thread类或自写一个类来实现Runnable接口来完成多程序程序。
我们不会调用run方法来启动线程,必须用start方法
调用Thread的interrupt()方法可发送中断请求,如果线程在休眠或等待状态可触发一个异常从而实现中止线程。
今天是刚刚详细接触线程的有关知识,还需要更深入的理解。
刚才做了个例子。如果想使用线程,必须实现Runnable接口或者继承Thread类,重写Run方法来实现,自己的理解。
明天接着学习线程。
有了线程就可以做更多事了,哈哈。
2006-9-15 星期五
做了两个小程序,感觉代码风格和C# 很相似的,到目前为止,所有的代码都是手动敲上去的以增进对java体制和代码风格的理解和掌握,当初学习C# 可没有这样,直接用.net 2003写代码,其中一些代码在创建文件以及拖拽控件时,代码都给自动生成了,也么怎么研究它的机制。
2006-9-13 星期三
学习继承。
Java的继承关键字extends
学习包,包的概念就像C# 中的命名空间nameSpace,对应java的关键字是package
引用包是import ,就像C#中的using
2006-9-14 星期四
学习AWT,AWT金山词霸的翻译是“高次废水处理”,哈哈哈,AWT 抽象窗口工具集,我的理解AWT包含一些用于窗口显示类,用于画窗体,按钮之类。老师说它不够强大并且跨平台兼容性不好,以后会学更强大的swing。
AWT是够不强大的,连个下拉列表框都没有,哈哈
2006-9-12 星期二
学习java中的数组和字符串,其中的一些方法,和C#很相似,呵呵,可能应该说C# 和Java很相似
Java的一般书写规则:类名首字母均大写,方法名和字段名首字母均小写。
fanal关键字,修饰类时,此类不可以被继承,为终极类。修饰字段时为常量,值不能更改
2006-9-11 星期一
了解了java的发展历程,学习了HelloWorld.java程序
public class HelloWorld
{
public static void main(String[] args)
{
Syetem.out.println(“Hello World”);
}
}
与C# 的不同点:一是main方法必须有String数组类型的参数,另外java的书写习惯是在方法声明后紧接“{”,感觉不习惯很结构不清晰,呵呵,个人习惯。
学习java环境配置类路径
选择"环境变量",在"环境变量"窗口中编辑classpath和path。
1、JAVA_HOME
C:\j2sdk1.4.2
2、path 该变量已经存在,需在其后添加如下:
%JAVA_HOME%\bin
3、classpath
.;%JAVA_HOME%\lib; 学习常规数据类型和控制结构,这些与C++,C# 没什么太大差别。
感觉java的System.out.println()和print()方法很强大,它们几乎将输出所有类型的参数转换成字符串输出。
2006年8月30日星期三
好像有秋天的味道了
2006年8月29日星期二
2006年8月28日星期一
2006年8月26日星期六
2006年8月25日星期五
据说有阵雨
接连几天的好天气
碎片缓冲 100 看内存
起始地址: FF9D0898
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 0123456789ABCDEFFF9D0890 FF 00 00 00 BC 42 9D FF 00 00 00 00 73 5C 53 51 ...糂?....s\SQ
FF9D08A0 4C 58 4D 4C 20 34 2E 30 5C 62 69 6E 5C 00 4C 4F LXML 4.0\bin\.LO
FF9D08B0 47 4F 4E 53 45 52 56 45 52 3D 5C 5C 41 4D 50 43 GONSERVER=\\AMPC
FF9D08C0 00 4E 55 4D 42 45 52 5F 4F 46 5F 50 52 4F 43 45 .NUMBER_OF_PROCE
FF9D08D0 53 53 4F 52 53 3D 32 00 4F 53 3D 57 69 6E 64 6F SSORS=2.OS=Windo
FF9D08E0 77 73 5F 4E 54 00 50 61 74 68 3D 43 3A 5C 57 49 ws_NT.Path=C:\WI
FF9D08F0 4E 44 4F 57 53 5C 73 79 73 74 65 6D 33 32 3B 43 NDOWS\system32;C★
碎片缓冲 100 填0 ★
碎片缓冲 100 看内存
起始地址: FF9D0898
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 0123456789ABCDEFFF9D0890 FF 00 00 00 BC 42 9D FF 00 00 00 00 00 00 00 00 ...糂?........
FF9D08A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
FF9D08B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
FF9D08C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
FF9D08D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
FF9D08E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
FF9D08F0 00 00 00 00 00 00 00 00 00 00 00 00 33 32 3B 43 ............32;C★
1 碎片缓冲 0 字节写 ★.
碎片缓冲 100 看内存让人头疼的东西啊,这部折磨人呢么?!


2006年8月19日星期六
难得的一个双周末




2006年8月15日星期二
终于见太阳了
2006年8月9日星期三
今天好像有雨
2006年8月3日星期四
今年的七月是黑色的
2006年7月3日星期一
免于失业的十大软件技术
作者:A. Russell Jones出处:南京大学小百合站[ 2006-07-02 19:03 ]摘要:你对我们列出的十门技术精通吗?哪怕是大略精通?
能跟上关键技术的发展,是你在就业市场和未来保持优势的最佳手段。你对我们列出的十门技术精通吗?哪怕是大略精通? -- 罗素·琼斯,执行编辑。
我不知道你的具体工作是什么。如果你是某冷门领域的专家而变得不可或缺,或者你们的公司十分稳固,以你现有的技术就足以安度你的职业生涯,那我不知道你是否有失业的危险。不管怎样,请你先不要急着寄出那些告诉我你们的公司对用VB3十分满意或你们除C以外永不用其它语言的信件,并保留起那些讲述.NET将如何把Java扫地出门、XML将如何取
代关系型数据库、或你怎样能用汇编语言或C写任何软件而任何其它开发工具都不重要的信件。
现在,想象一下如果你像很多受裁员和公司倒闭影响的同行一样失去了工作,那将会怎样。如果你突然需要搬往它处该怎么办?如果你的公司突然做了技术转向又怎么办?
在目前的就业市场,经理们是根据当前和未来的开发需要招聘雇员。作为开发人员,你所掌握的知识是你找工作和保住工作的关键。你要了解技术的发展方向,跟上技术的变化,这一点十分重要,即使你永远不用再找开发方面的工作。
1. XML
首先,你要了解XML。我不是说仅仅是XML规格本身,还包括一系列相关的基于XML的语言:最重要的是XHTML、XSLT、XSL、DTDs、XML Schema(XSD)、XPath、XQuery和SOAP。那些在过去5年内从未碰过键盘的人,可能不知道XML为何物。XML是一种文本文件,使用与HTML类似的标记。XML能定义一个树状结构,并能描述所含的数据。XML最好的一点是既能存结构化数据也能存非结构化数据。它既能存贮和描述“规格的” (regular)表格数据,也能容纳和描述“粗糙的”(ragged)文件数据。XHTML是现今写HTML的首选方法。因为它是形式完好(well formed)的XML,比起古老的、通常是畸形(malformed)的HTML文件,XHTML格式的文件更容易处理。XSLT和XSL是用于把XML文件转成其它格式的语言。可转换的格式包括:文本文件、PDF文件、HTML、以逗号为分隔符的文件,或其它XML文件。 DTD和XML Schema描述XML文件所能包含的内容的类型,并让你“验证”XML文件内容的合理性,而不用写特殊代码以确保内容符合规则要求。XPath和XQuery是用于从XML文件中抽取单个项目或一组项目的查询语言。XQuery扩展了XPath,因而更重要。XQuery与XML的关系正像SQL与关系数据库的关系。SOAP是Web服务之间的一个标准通讯协议。尽管你不需要对SOAP标准一清二楚,你应该熟悉一般的schema和它的工作原理,以便能应用这门技术。
2. Web服务
Web服务是XML流行后的一个直接产物。因为你能用XML描述数据和物件,因为你能用schema确保XML文件内容的合理性,因为XML是基于文本的规范,XML为跨平台通讯标准提供了一个极其方便的基本格式。如果你还从来没碰到Web服务,你可能很快就会碰到,在未来5年内,你几乎肯定会碰到。熟悉Web服务十分重要,因为它是目前所有跨不同机器、不同语言、不同平台和不同地点的通讯协议中最简单的一个。不管你需要与否,Web服务是迈向互用性的重要一步。
XML工作组主席John Bosak曾说XML“给Java一些事做”。实际上,Web服务让所有语言都有了一些事做。Web服务让在大型机上运行的COBOL应用软件能调用在手持设备上运行的Java应用程序、能让Java applet与.NET服务器交谈、能让微机软件与Web服务器无缝连接,并提供了一个相对容易的方法,让企业不光能向外界提供数据,还能提供功能,而且是一种与语言、平台和位置都独立的方法。
3. 面向对象的编程
很多程序员仍认为OOP是象牙塔里的技术。但如果你想一下是什么语言在过去的10年里占主导地位,你就会理解OOP不是象牙塔里的技术。OOP从Smalltalk开始,传到C++和Pascal (Delphi)。Java使OOP大踏步地迈向主流,几年后的VB.NET和C#则完全确立了OOP的优势地位。尽管这些语言中的多数并不要求你必须会OOP,但我觉得如果你不了解OOP的基本概念也不知道如何应用这些概念,你能找到的编程工作将越来越少。
4. Java、C++、C#和VB.NET
我把这些语言列在一起,并不是建议你成为每一种语言的专家。我的理由是:学习编程最有效的方法之一是看代码,而你能看到的大量的代码很可能不是用你所喜爱的语言编写的。
在过去几年,各语言的能力越来越接近。现在,你可以用VB.NET写Windows服务、Web应用程序或命令行程序。即使你只使用一种语言,你也应该学一些其它语言,以便能看懂那些样例,并将其翻译到你所用的语言。这4种语言是基本核心,还有其它一些满足不同需要、颇具用途的语言,如FORTRAN、COBOL、APL、ADA、Perl和Lisp。
5. JavaScript
尽管名字有些相像,但Java与JavaScript并无关联。为什么一个脚本语言会如此重要呢?因为所有主流浏览器都用JavaScript。如果你需要写Web应用程序,你就有足够的理由学JavaScript。JavaScript可以用作ASP或ASP.NET的服务器语言,也可以当做用于扩展XSLT的功能语言(functional language)。JavaScript是Mozilla/Netscape中用于激活基于XUL的程序接口的首选语言。JavaScript的一个变种ActionScript是Flash MX的编程语言。将来,JavaScript很可能成为新设备的编程语言,以及大型应用软件中的宏语言。
与JavaScript相对照的是VBScript。尽管Microsoft的软件对VBScript有良好的支持,但VBScript在未来的开发工作中很可能是一个糟糕的选择。就是Microsoft也倾向于用JavaScript(或Microsoft自己的变种:JScript)写客户端程序。在选择脚本语言时,请选择JavaScript。
6. 正则表达式(Regular Expressions)
查寻关系数据库可以用SQL,查询XML可以用XPath和XQuery,查询纯文本文件则可以用正则表达式。例如,你可以用一个命令从一个HTML文件中查找并删除所有的注释。各种开发语言内置的一些简单的文本查询功能,如"IndexOf"函数或VB中经典的"InStr"函数或"Like"操作符,根本不能与...(乱码)
7. 设计模式
正像OOP通过把对象分类以简化编程一样,设计模式对一些普遍的对象之间的交互进行分类,并赋予一个恰当的名称。OOP用得越多,设计模式就越有用。一些最常用的模式的名称已经变成了软件开发领域共同使用的术语,所以要跟上信息的主流,你就要对设计模式有相当的理解。
8. Flash MX
如果你需要在客户端得到比HTML和CSS更多的图形和更强的编程功能,Flash是你的答案。用Flash编程比开发Java applets或写.NET代码要快得多,也容易得多。在最新版本 (MX) 中,Flash不仅仅是画图和制造动画的工具,它已经成为一个编程功能强大的开发环境:能调用SOAP Web服务,也能调用远端服务器上的ColdFusion、Java或.NET程序。Flash无处不在。它的引擎存在于世界上大多数客户端计算机,包括手持设备、置顶盒、甚至是新的书写板电脑
。所以使用Flash能大大扩展你的程序的应用范围。
9. Linux/Windows
熟悉Linux。在一台旧机器或新机器上安装Linux。下载图形用户界面,在其基础上写一些程序。安装Apache,写一个Web应用程序。这个世界不再仅仅是属于Windows,这种趋势可能还会持续下去。如果你是一名中坚的Linux开发人员,那就抛弃你对Windows的憎恶,看看你能否做一些Windows编程。Windows能继续在台式电脑上称王是有其原因的,这不仅仅是因为Microsoft控制了这个市场。
没人知道你们公司会在什么时候决定从Linux转向Windows(或从Windows转向Linux),或者你想跳到一家用另一种平台的公司,或者你想出了开发一个杀手软件的好主意,所以你要争取拥有在不同操作系统上的编程经验。
10. SQL
尽管SQL不像本文讨论的其它技术那样新,而且SQL的重要性在未来10年内很可能降低,但它仍然是一项基本技能。很多开发人员还没有掌握这门技术,或掌握得不够,不足以有效率地使用它。不要依赖具有图形用户界面的SQL生成器替你做事情,你要自己手工地写查询命令,直到你熟悉基本的SQL语法为止。了解SQL不仅能帮助你日后学习XQuery,你还有可能马上发现能简化或改进目前项目的方法。
培养好奇心
最后,(对,我意识到这是第11门技术),好奇心是你最重要的技能。要去尝试各种东西。新语言或新技术对你当前或将来的工作可能有用,也可能没用,但并不是你所学的每一件事都是为了工作。不要害怕失败,万事开头难,学新技术也是如此。大多数失败是因为人们希望太快地学到太多的东西。要对每一点进步感到满意,不要让时间(或缺乏时间)妨碍你。相反,你要安排时间留心、研究、试验新的开发技术和工具。
你可能永远也没有必要成为这些技术的专家,而且我的选择可能根本不适合你的特殊情况,但通过培养好奇心,你将会发现你应该了解的东西。
2006年7月2日星期日
今天还算凉快
有一天,柏拉图问老师苏格拉底什么是爱情?老师就让他先到到麦田里去,摘一棵全麦田里最大最金黄的麦穗来,期间只能摘一次,并且只可向前走,不能回头。柏拉图于是按照老师说的去做了。结果他两手空空的走出了田地。老师问他为什么摘不到?他说:因为只能摘一次,又不能走回头路,期间即使见到最大最金黄的,因为不知前面是否有更好的,所以没有摘;走到前面时,又发觉总不及之前见到的好,原来最大最金黄的麦穗早已错过了;于是我什么也没摘。老师说:这就是‘爱情’。
什么是婚姻
柏拉图问他的老师什么是婚姻,他的老师就叫他先到树林里,砍下一棵全树林最大最茂盛、最适合放在家作圣诞树的树。其间同样只能砍一次,以及同样只可以向前走,不能回头。柏拉图于是照着老师的说话做。今次,他带了一棵普普通通,不是很茂盛,亦不算太差的树回来。老师问他,怎么带这棵普普通通的树回来,他说:‘有了上一次经验,当我走到大半路程还两手空空时,看到这棵树也不太差,便砍下来,免得错过了后,最后又什么也带不出来。’老师说:‘这就是婚姻!’人生就正如穿越麦田和树林,只走一次,不能回头。要找到属于自己最好的麦穗和大树,你必须要有莫大的勇气和付出相当的努力。
从此不再相信有电影中的麦穗和圣诞树......
2006年7月1日星期六
应届毕业生少走弯路的十条忠告
刚刚走上社会的年轻人,充满了蓄势待发的豪情、青春的朝气、前卫的思想,梦想着丰富的待遇和轰轰烈烈的事业。可是,社会毕竟是一所包罗万象、喧嚣复杂的大学校,这里没有寒暑假,拒绝虚假和肤浅,更拒绝空想和庸碌,难以预告何时开课何时放学。
如何在涉世之初少走弯路,有一个好的开端,开始一番成功的事业?以下是一些先行者积累的10条有益的涉世忠告。好好地遵循、把握这些忠告和建议吧,比起所学的课堂课程来,它毫不逊色!
1、买个闹钟,以便按时叫醒你。贪睡和不守时,都将成为你工作和事业上的绊脚石,任何时候都一样。不仅要学会准时,更要学会提前。就如你坐车去 某地,沿途的风景很美,你忍不住下车看一看,后来虽然你还是赶到了某地,却不是准时到达。“闹钟”只是一种简单的标志和提示,真正灵活、实用的时间,掌握 在每个人的心中。
2、如果你不喜欢现在的工作,要么辞职不干,要么就闭嘴不言。初出茅庐,往往眼高手低,心高气傲,大事做不了,小事不愿做。不要养成挑三拣四的习惯。不要雨天烦打伞,不带伞又怕淋雨,处处表现出不满的情绪。记住,不做则已,要做就要做好。
3、每个人都有孤独的时候。要学会忍受孤独,这样才会成熟起来。年轻人嘻嘻哈哈、打打闹闹惯了,到了一个陌生的环境,面对形形色色的人和事,一 下子不知所措起来,有时连一个可以倾心说话的地方也没有。这时,千万别浮躁,学会静心,学会忍受孤独。在孤独中思考,在思考中成熟,在成熟中升华。不要因 为寂寞而乱了方寸,而去做无聊无益的事情,白白浪费了宝贵的时间。
4、走运时要做好倒霉的准备。有一天,一只狐狸走到一个葡萄园外,看见里面水灵灵的葡萄垂涎欲滴。可是外面有栅栏挡着,无法进去。于是它一狠心 绝食三日,减肥之后,终于钻进葡萄园内饱餐一顿。当它心满意足地想离开葡萄园时,发觉自己吃得太饱,怎么也钻不出栅栏了。相信任何人都不愿做这样的狐狸。 退路同样重要。饱带干粮,晴带雨伞,点滴积累,水到渠成。有的东西今天似乎一文不值,但有朝一日也许就会身价百倍。
5、不要像玻璃那样脆弱。有的人眼睛总盯着自己,所以长不高看不远;总是喜欢怨天尤人,也使别人无比厌烦。没有苦中苦,哪来甜中甜?不要像玻璃那样脆弱,而应像水晶一样透明,太阳一样辉煌,腊梅一样坚强。既然睁开眼睛享受风的清凉,就不要埋怨风中细小的沙粒。
6、管住自己的嘴巴。不要谈论自己,更不要议论别人。谈论自己往往会自大虚伪,在名不副实中失去自己。议论别人往往陷入鸡毛蒜皮的是非口舌中纠 缠不清。每天下班后和你的那些同事朋友喝酒聊天可不是件好事,因为,这中间往往会把议论同事、朋友当做话题。背后议论人总是不好的,尤其是议论别人的短 处,这些会降低你的人格。
7、机会从不会“失掉”,你失掉了,自有别人会得到。不要凡事在天,守株待兔,更不要寄希望于“机会”。机会只不过是相对于充分准备而又善于创 造机会的人而言的。也许,你正为失去一个机会而懊悔、埋怨的时候,机会正被你对面那个同样的“倒霉鬼”给抓住了。没有机会,就要创造机会,有了机会,就要 巧妙地抓住。
8、若电话老是不响,你该打出去。很多时候,电话会给你带来意想不到的收获,它不是花瓶,仅仅成为一种摆设。交了新朋友,别忘了老朋友,朋友多了路好走。交际的一大诀窍就是主动。好的人缘好的口碑,往往助你的事业更上一个台阶。
9、千万不要因为自己已经到了结婚年龄而草率结婚。想结婚,就要找一个能和你心心相印、相辅相携的伴侣。不要因为放纵和游戏而恋爱,不要因为恋爱而影响工作和事业,更不要因一桩草率而失败的婚姻而使人生受阻。感情用事往往会因小失大。
10、写出你一生要做的事情,把单子放在皮夹里,经常拿出来看。人生要有目标,要有计划,要有提醒,要有紧迫感。一个又一个小目标串起来,就成了你一生的大目标。生活富足了,环境改善了,不要忘了皮夹里那张看似薄薄的单子。