
技术
捏造的信仰
这个人很懒,什么都没写。
展开
-
介绍 abstract、static 和 final
Java 中有很多修饰符。今天看到一篇文章,作者对这些修饰符做了一个总结,并画了张表(http://blog.csdn.net/cdsnmdl/archive/2009/02/26/3940417.aspx)。不过这张表不够详尽也不够准确,我想补充一些东西。初学者死记这张表是没用的,主要是在写代码的过程中了解,多练多写才是正途。有了一定的经验之后再来总结一下,能够对这些修饰符之间的关系有更深刻的了原创 2009-03-01 13:44:00 · 2565 阅读 · 3 评论 -
Java 流(Stream)简介:3、对象序列化
对象序列化也是流应用的一个重要方面。序列化就是把一个对象转换成一串字节,既可以保存起来,也可以传给另外的 Java 程序使用。ObjectOutputStream 和 ObjectInputStream 就是专门用来进行序列化和反序列化的。下面就是一个简单的例子:import java.io.ObjectOutputStream;import java.io.FileOutputStrea原创 2009-04-21 20:52:00 · 1844 阅读 · 0 评论 -
Java 小例子:猜数字游戏
这是一个猜数字的游戏。用户输入 1~1000 以内的任意数字,程序给出它是大了还是小了,直到猜出正确的结果。程序编写的过程在这里,给初学者参考:http://yidinghesarchives.googlecode.com/files/GuessNumber.mkv注意:1、代码不是写出来就不改了。编写代码的过程是一个不断调整的过程。2、不要把所有的东西都写完才去运原创 2009-05-03 16:51:00 · 2041 阅读 · 0 评论 -
Java: 命名的讲究
这样的文章很多,但这里是对我观察到的和我个人经验的总结。 1、类名类名通常以名词结尾。而且在类名中要体现它是以保存数据为主还是提供功能为主。例如 ConnectionBuilder 这个类我们都可以猜到它的主要功能是创建 Connection 对象,以动词-er/or 结尾的类名,至少应该包含一个以该动词开头的方法。例如 ConnectionBuilder 这个类,它至少应该包含一个以 b原创 2009-05-04 11:54:00 · 1694 阅读 · 1 评论 -
Java 小例子:简单秒表
这是一个简单的秒表。看起来很简单,但是这里有一个设计上的问题。一般初学者会创建一个循环的线程讲一个整数叠加,该线程隔一段时间暂停一下,比如暂停 10 毫秒,然后往这个整数上加 10。 这样设计的问题在于,线程的暂停和继续,以及计数和显示都是要花费时间的。所以这样的程序运行越久,误差就会越大。下面这个例子就是经过改良的,能够将时间误差维持在极低的水平上。 import javax原创 2009-05-06 22:12:00 · 2559 阅读 · 0 评论 -
BUG 是如何发生的
高中数学老师(我们管他叫娃哈哈)给我印象最深的一句话就是:“数学不存在粗心!做错题目只有一个原因,那就是没搞懂!” 因为我讨厌数学,所以一直没理解这句话的含义。但是我发现,把这句话套在编程上是可以的,那就是: 编程不存在粗心!出现 BUG 只有一个原因,那就是没搞懂! 经验是如何来的?你可能会说:经验是学来的。——错。 经验不是在成功中学原创 2009-06-06 21:01:00 · 1147 阅读 · 1 评论 -
Java 小例子:老手如何编写计算器
计算器不单单是练习如何布局,更重要的是如何实现复杂的运算逻辑。新手编写计算器,无疑会用到大量的 if-else。而熟练的开发人员知道如何避开这点。下面是代码。PS:我终于找到空间了。这里是编写过程的视频。import javax.swing.*;import javax.swing.border.Border;import java.awt.*;import原创 2009-04-15 17:24:00 · 11189 阅读 · 15 评论 -
Java 流(Stream)简介:1、基本的输入流和输出流
本人打算写几篇文章,介绍一下流。本文是针对初学者的,加上本人水平有限,所以不敢说写得很高深。如果你是初学者,而且对流这个东西很头疼,你就应该看看这个。本文发表在:http://blog.csdn.net/YidingHe,转载请保留出处。流是 Java 中最重要的基本概念之一。文件读写、网络收发、进程通信,几乎所有需要输入输出的地方,都要用到流。流是做什么用的呢原创 2009-04-20 11:14:00 · 10849 阅读 · 4 评论 -
Java 流(Stream)简介:2、Reader 和 Writer
介绍了 InputStream 和 OutputStream,接下来介绍 Reader 和 Writer。这两个类其实就是将 InputStream 和 OutputStream 包装了一下。不过它们处理的不是字节(byte),而是字符(char)。如果一个流当中的内容都是文本,那么用 Reader/Writer 处理起来会简单些。下面是一个用 Reader 读取文本文件的例子:import ja原创 2009-04-20 11:39:00 · 4844 阅读 · 2 评论 -
如何实现 jsp:include
如果你想在 jsp 页面中包含另一个页面,标准的方式是使用 标签。不过还有一种用 sciptlet 实现同样效果的方式:out.flush();request.getRequestDispatcher("fragment.jsp").include(request, response);%>这么做有什么用呢?比如你想在 Servlet 里面写上一堆 html,而字符串的拼凑实在是原创 2007-01-22 09:10:00 · 1486 阅读 · 0 评论 -
Java 构造函数的执行
Java 在创建对象的时候会要执行它的构造函数。不仅如此,Java 还要执行父类的构造函数,往上一级一级直到没有父类为止。对于初学者来说,有三个问题不容易搞懂: 1、父类的构造函数是否一定会执行?2、是先执行子类的构造函数还是先执行父类的构造函数?3、如果父类有多个构造函数,那么 Java 会选择哪一个? - 父类的构造函数是否一定会执行?是的,父类的构造函数一定会执行原创 2009-01-20 14:48:00 · 9512 阅读 · 4 评论 -
《实现模式》到手,炫耀一下
今天快递公司终于把《实现模式》送来了。在这里抄几段:本书的目的是帮助你通过代码表达自己的意图。首先,必须在编程时保持清醒。……迈向沟通的第一步就是让自己慢下来,弄明白自己究竟想了些什么,不再假装自己是在凭本能编程。第二步是承认他人的重要性。……必须学会相信其他人也和我一样重要,然后才能写出能与他人沟通的代码。我早已发现,在那种没有模式可以应用,或是两个相互排斥的模式可以同等应用原创 2009-02-09 16:29:00 · 1209 阅读 · 2 评论 -
一个方法不超过 5 行有多难?
之前发的文章 给初学者一点建议:学习设计之前 不管是论坛上还是 Blog 上都得到不少回复(相对而言啦)。大家对我的想法都是肯定的,然而同时不少人也说:“所谓一个方法5行程序仅仅是一种很夸张的说法。” 这里先更正一下,5 行不是准确的说法,应该说 5 句比较恰当。一个方法不超过 5 句。 出现这样的回复,是个问题。因为这是写给初学者看的,如果你看完后相信的是回复里的说法,那我这文章原创 2009-02-05 19:57:00 · 5614 阅读 · 38 评论 -
面子驱动编程
面子驱动编程?这当然是玩笑话。在经历了文档驱动、进度驱动之后,我又遇上了“面子驱动编程”。首先声明我其实很喜欢我们公司,否则的话不会从毕业到现在一直呆了四年。但世上没有完美的公司,项目中碰到问题是很自然的。什么是面子驱动?我也是昨天开会后悟出来的。当时小组长(不怕你笑话,我还在干程序员)问我,我负责的模块,权限方面如何设计的。我说根据用户岗位来判断权限。他问,有没有使用现有的权限数据库表(包含角色原创 2009-02-10 10:16:00 · 925 阅读 · 1 评论 -
无法实现的需求
今天同事来问,页面上的 Alert 弹出框能不能没有右上角的关闭?当然不能。再说了,单击右上角的关闭和确定按钮都是一样的。 不过同事说用户这么提出来的。用户为什么会提这种需求?Alert 弹出框仅仅是作为消息提示用,用户为什么会认为右上角的关闭和确定按钮会是两个不同的操作? 首先我觉得可能是 Alert 对话框的滥用。初学者喜欢在任何一个操作之后都弹出对话框提示这个提示那原创 2009-04-16 10:13:00 · 1309 阅读 · 0 评论 -
获取当前 jar 包的路径
最开始我是用能够这种方式来获取当前 jar 包的文件的:private static String LOCATION = [MainClass].class.getProtectionDomain() .getCodeSource().getLocation().getFile(); 但是如果路径中包含中文,就会变成带“%xx%xx”格式的字符串。所以应该这样写才对:原创 2007-01-03 18:26:00 · 1715 阅读 · 0 评论