10 2007 档案

     摘要: 方法的重载、重写、构造方法、方法返回值。  阅读全文

posted @ 2007-10-30 18:49 Raylong 阅读(6430) | 评论 (8)  编辑 |

     摘要: 很不幸,本周的任务没能完成。不仅仅因为回家探亲了,就算我不回家,java语法总结也是完不成的。东西实在太多,再有一周也总结不完。而且这个总结不是一劳永逸的事,需要在日后不断地完善,更新,因为java也在不断发展。  阅读全文

posted @ 2007-10-30 07:24 Raylong 阅读(936) | 评论 (6)  编辑 |

     摘要: Java语法总结 - 线程

一提到线程好像是件很麻烦很复杂的事,事实上确实如此,涉及到线程的编程是很讲究技巧的。这就需要我们变换思维方式,了解线程机制的比较通用的技巧,写出高效的、不依赖于某个JVM实现的程序来。毕竟仅仅就Java而言,各个虚拟机的实现是不同的。学习线程时,最令我印象深刻的就是那种不确定性、没有保障性,各个线程的运行完全是以不可预料的方式和速度推进,有的一个程序运行了N次,其结果差异性很大。  阅读全文

posted @ 2007-10-25 23:53 Raylong 阅读(32705) | 评论 (19)  编辑 |

     摘要: Java语法总结 - 内部类

从Java1.1开始引入了内部类以来,它就引起了人们的激烈争论。其实任何优秀的语言特性用得不好就是滥用,内部类用得不好就会导致代码像迷宫一样,导致出现毫无重用的综合征。  阅读全文

posted @ 2007-10-24 08:03 Raylong 阅读(32196) | 评论 (24)  编辑 |

     摘要: 本周就不做自我批评了。第43周的工作重点就是把Java的语法总结完,that's all。  阅读全文

posted @ 2007-10-22 08:52 Raylong 阅读(627) | 评论 (0)  编辑 |

     摘要: 软件开发中一个古老的说法是:80%的工作使用20%的时间。80%是指检查和处理错误所付出的努力。在许多语言中,编写检查和处理错误的程序代码很乏味,并使应用程序代码变得冗长。原因之一就是它们的错误处理方式不是语言的一部分。尽管如此,错误检测和处理仍然是任何健壮应用程序最重要的组成部分。

Java提供了一种很好的机制,用强制规定的形式来消除错误处理过程中随心所欲的因素:异常处理。它的优秀之处在于不用编写特殊代码检测返回值就能很容易地检测错误。而且它让我们把异常处理代码明确地与异常产生代码分开,代码变得更有条理。异常处理也是Java中唯一正式的错误报告机制。  阅读全文

posted @ 2007-10-22 08:18 Raylong 阅读(6433) | 评论 (12)  编辑 |

     摘要: Java不是纯的面向对象的语言,不纯的地方就是这些基本数据类型不是对象。当然初期Java的运行速度很慢,基本数据类型能在一定程度上改善性能。如果你想编写纯的面向对象的程序,用包装器类是取代基本数据类型就可以了。  阅读全文

posted @ 2007-10-21 13:14 Raylong 阅读(17724) | 评论 (2)  编辑 |

     摘要: Java语法总结 - 数组

数组(array)是相同类型变量的集合,可以使用共同的名字引用它。数组可被定义为任何类型,可以是一维或多维。数组中的一个特别要素是通过下标来访问它。数组提供了一种将有联系的信息分组的便利方法。注意:如果你熟悉C/C++,请注意, Java数组的工作原理与它们不同。  阅读全文

posted @ 2007-10-21 13:01 Raylong 阅读(4665) | 评论 (3)  编辑 |

     摘要: Java语法总结 - 字符串

Java的String太特别了,也太常用了,所以重要。我初学Java就被它搞蒙了,太多混淆的概念了,比如它的不变性。所以必须深入机制地去理解它。  阅读全文

posted @ 2007-10-21 12:47 Raylong 阅读(5649) | 评论 (17)  编辑 |

     摘要: 前段时间一直用eclipse,用某个老师的话说:爽!确实,用eclipse写代码简直是种享受。即时编译让你可以根据前面的小红叉很容易找到bug所在,当然这种bug不是逻辑的,而是普通的语法错误。我还是初学者,没用到debug。但是我怎么总是犯低级的错误呢?……  阅读全文

posted @ 2007-10-20 13:06 Raylong 阅读(2608) | 评论 (22)  编辑 |

     摘要: 早上看到了一个“二进制与任意字符互转小程序”,觉得有几点不足,因此动手改进一下,不足之处欢迎批评指正。也请原作者不要介怀。  阅读全文

posted @ 2007-10-20 11:17 Raylong 阅读(1098) | 评论 (4)  编辑 |

     摘要: 1、对象的存储:Java中所有对象的存储空间都是在堆中分配的,但是这个对象的引用却是在堆栈中分配,也就是说在建立一个对象时从两个地方都分配内存,在堆中分配的内存实际建立这个对象,而在堆栈中分配的内存只是一个指向这个堆对象的指针(引用)而已。堆的特点是灵活性,但为此牺牲了高效性,可以在运行时动态地分配存储;堆栈的特点是高效性,但缺乏灵活性,在编译时刻必须知道所要分配的空间大小。堆像个大馒头,可以根据你的食量随便吃,吃饱了算;堆栈像是吃大锅饭,每个人都是定食定量的,你必须告诉厨子你的饭量,厨子据此做饭,然后你们就排队打饭吧。它们没有孰优孰劣之分,各自不同特点有不同的应用。  阅读全文

posted @ 2007-10-16 18:39 Raylong 阅读(1236) | 评论 (25)  编辑 |

     摘要: 16、对于非面向对象的编程,它产生的函数调用会引起“前期绑定”。编译器产生对一个具体函数名字的调用,而连接器将这个调用解析到将要被执行的代码的绝对地址。相反地,在面向对象编程中采用了“后期绑定”,当对象发送消息时,被调用的代码直到运行时才能被确定。为了执行后期绑定,Java采用一段特殊的代码来替代绝对地址调用。这段代码使用在对象中存储的信息来计算方法体的地址。
(多态,或者说是向上转型。他忽略了类型的具体细节,仅仅和基类交互。这很符合我们人类的思维习惯,比如你会开车,那么给你一辆奔驰你肯定能开,宝马也可以。只需说我在开车,而不必说我在开奔驰开宝马。当然你可以这么说,炫耀一下也不是错^_^,Java允许你这么做。)  阅读全文

posted @ 2007-10-15 16:22 Raylong 阅读(1043) | 评论 (6)  编辑 |

     摘要: 时间真快,转眼就第七周了(学校的)。花点时间总结一下还是很有好处的,看看学到了什么,哪些需要调整,本周该如何安排。下面就从这三点总结。

上周学的东西真就不多,速度实在太慢,不是我懒,而是看书太过细致,效率不高导致的。算法还没接触到正题呢,语法总结了一点点,编程思想刚看完第一章。如此的速度很愁人啊。  阅读全文

posted @ 2007-10-15 07:38 Raylong 阅读(511) | 评论 (15)  编辑 |

     摘要: 所有的东西都放在一个文章里,显然太长了,因此分成几篇文章来写。这篇置顶的是其他文章的索引链接,这样我就不用考虑篇幅的长短,能加进一些例子,还有实践建议,更详细的总结。我打算在下一周把基本的内容搞定,然后就是日后的慢慢修改,更新。希望大家看到错误及时通知我,免得误人啊。
-------------------Raylong  阅读全文

posted @ 2007-10-14 16:12 Raylong 阅读(13515) | 评论 (21)  编辑 |

     摘要: 1、程序设计就是对复杂度的管理,复杂度包括:待解决问题的复杂度和所依赖的机器的复杂度。正是这种复杂度的存在,导致了大多数项目的失败。并且据我所知,还没有哪个程序设计语言将主要设计目标放在“征服程序开发和维护过程中的种种复杂度”上。
(下面开始列举了其他语言的种种不足,几乎每本技术书的开篇就是王婆卖瓜的形式出现的,给读者点鼓励嘛,不要被厚厚的砖头般的书吓到。搞计算机的女生的好处是,晚上在你回宿舍的路上,不幸遇见歹人拦路打劫,你只需随便抄起一本书就能把他打个半死。好的技术书不仅能丰富知识,也是居家旅游、贴身自卫的最佳工具。C++本身就很复杂,用复杂的语言描述复杂的问题,对设计者和程序员的要求都很高。)  阅读全文

posted @ 2007-10-13 21:27 Raylong 阅读(1197) | 评论 (4)  编辑 |

     摘要: 1、所有编程语言都提供抽象机制。可以认为,人们所能解决的问题的复杂性直接取决于抽象的类型和质量。……汇编、C等所做的抽象仍要求在解决问题时要基于计算机的结构,而不是基于所要解决的问题的结构来考量。程序员必须建立起在机器模型和实际解决问题的模型之间的关联。建立这种映射是费力的,而且这不属于编程语言所固有的功能。
(早期的程序员都是很强的……)  阅读全文

posted @ 2007-10-13 21:23 Raylong 阅读(1261) | 评论 (4)  编辑 |

     摘要: 2007年10月12日 8:35:57

9、Our problem is to devise a program that can remember sufficient information about the pairs it has seen to be able to decide whether or not a new pair of objects is connected. Informally, we refer to the task of designing such a method as the connectivity problem. This problem arises in a number of important applications.
我们要设计一个程序,它能够知道足够的配对信息,以便决定新的配对能否是联通的。非正式地,我们把设计这样的方法称为联通问题。这个问题出现在很多重要的应用中。
(看起来没什么复杂的算法,是因为规模小,10个配对用人脑就能算出来。it possible for a human to  阅读全文

posted @ 2007-10-13 08:40 Raylong 阅读(1082) | 评论 (3)  编辑 |

     摘要: 《Algorithms in Java: Parts 1-4, Third Edition》是一本用Java语言讲解算法的书,我正在阅读中。因为是英文原版的,复习的时候不容易看。因为中国人嘛,对母语的反应是最快的。虽然英语不是很好,以前也没翻译过什么东西,但是还是想尽我所能,以意译为主吧,学好算法这门必修课,和大家共同分享。

2007年10月11日 21:00:01
2007年10月12日 8:35:34 翻译

Form:《Algorithms in Java: Parts 1-4, Third Edition》

1、 Most algorithms of interest involve methods of organizing the data involved in the computation. Objects created in this way are called data structures, and they also are central objects of study in computer  阅读全文

posted @ 2007-10-13 08:22 Raylong 阅读(1115) | 评论 (7)  编辑 |

posted @ 2007-10-13 07:59 Raylong 阅读(224) | 评论 (0)  编辑 |