自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YidingHe's Blog

“对自己要求越高,对别人要求则越低。”

  • 博客(139)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 如何修改 Java 中的 DialogInput 字体

Java 中的 DialogInput 字体实际上并不存在,Java 使用一个配置文件将其映射到其他字体。在 Windows 下,DialogInput 被映射到 Courier New 字体上。如果你觉得不爽,你可以用其他的字体来代替。 参考文档:http://java.sun.com/j2se/1.5.0/docs/guide/intl/fontconfig.html 

2009-06-09 23:01:00 5697

原创 关于需求的一点想法

回顾这半年多来,项目中的需求带开发都是我一个人做的。在此之前还没有这么正式的做过需求。所以有一些感慨。 1、需求的重要性不言自明,所以对理解能力要求很高。在做需求的时候,必须不厌其烦的对每一个功能点从不同的角度向客户说明,以求让双方想法一致。即使客户表达能力不好,责任也不是他的。用“挖掘”来形容这个过程太恰当了。 2、需求文档对表达能力要求也很高。需求描述偏差一点点,人家的理解就会

2009-06-09 12:45:00 1004

原创 JSP 入门的几个小视频

下面三个视频都是我自己录制的。全部都是实际操作过程的录像,虽然没有讲解,但是因为步骤很简单,很容易就能看懂。 http://sites.google.com/site/yidinghe/Home/videos-1/install_tomcat.mkv如何解压和运行 Tomcat  http://sites.google.com/site/yidinghe/Home/vi

2009-06-07 11:37:00 833

原创 BUG 是如何发生的

高中数学老师(我们管他叫娃哈哈)给我印象最深的一句话就是:“数学不存在粗心!做错题目只有一个原因,那就是没搞懂!”  因为我讨厌数学,所以一直没理解这句话的含义。但是我发现,把这句话套在编程上是可以的,那就是:  编程不存在粗心!出现 BUG 只有一个原因,那就是没搞懂!  经验是如何来的?你可能会说:经验是学来的。——错。  经验不是在成功中学

2009-06-06 21:01:00 1102 1

原创 今天的面试有感

今天下午是在拓维的最后一次面试,为了请假我撒了次谎。 最后一次面试当然没有任何悬念了,主要就是谈待遇,很快就结束了。这也让我有点时间观察了一下拓维。 首先我发现,我将来的部门经理,也就是第一次面试我的那位,正在网上下象棋。他坐的位置很有意思,他的屏幕就对着走廊。而他坐的隔间和走廊之间是一堵玻璃墙,谁经过都看得到他在干什么。我担心如果他的上司看见了怎么办?他还不止一个人,还两个人跟他

2009-05-25 21:06:00 1119 3

原创 团队自杀

其实很多书你不必按顺序看。今天我打开《人件》随手翻到 28 章,马上被其中的一个子标题吸引了:团队自杀。对开发组的每个成员进行绩效考核,等级评定,奖金挂钩,加减薪水,在一些人看来是顺理成章的事情。但实际上这样做等于是在实行 “团队自杀”。因为一个事实被严重忽略了:项目的开发不是个人为单位进行的,而是以团队为单位进行的。以个人为单位进行管理,意

2009-05-23 10:11:00 1310 1

原创 Java: 变量的值和引用

广义的说,在 Java 中,凡是可以指向一个对象或包含一个值的标识符,都可以称为变量。变量的内容,有可能是一个值,也有可能是指向一个对象的引用。当变量的类型为基本型别(short, byte, int, long, float, double, boolean, char)时,变量的内容是一个值;当变量的类型为 Object 及其子类时,变量的内容是指向一个对象的引用。例如:int a = 3;

2009-05-21 10:31:00 6106

原创 《实现模式》是一本好书

书是死的,人是活的。一本书带给每个读者的好处都不一样。所以每个人做出的评价都可能不同。 我觉得《实现模式》是一本好书。 编程是一个充满创造性的活动,每一个需要都能以许多不同的方式来实现。所以,当有了一定的编程经验之后,就迫切的需要一组原则,来确定如何在这许多方式之间作出取舍。 《Practical Java》和《重构》就是这样的书,他们的区别在于前者从小处着眼,后者从大处着

2009-05-16 23:14:00 1036

原创 Java 小例子:简单秒表

这是一个简单的秒表。看起来很简单,但是这里有一个设计上的问题。一般初学者会创建一个循环的线程讲一个整数叠加,该线程隔一段时间暂停一下,比如暂停 10 毫秒,然后往这个整数上加 10。 这样设计的问题在于,线程的暂停和继续,以及计数和显示都是要花费时间的。所以这样的程序运行越久,误差就会越大。下面这个例子就是经过改良的,能够将时间误差维持在极低的水平上。 import javax

2009-05-06 22:12:00 2518

原创 Java: 命名的讲究

这样的文章很多,但这里是对我观察到的和我个人经验的总结。 1、类名类名通常以名词结尾。而且在类名中要体现它是以保存数据为主还是提供功能为主。例如 ConnectionBuilder 这个类我们都可以猜到它的主要功能是创建 Connection 对象,以动词-er/or 结尾的类名,至少应该包含一个以该动词开头的方法。例如 ConnectionBuilder 这个类,它至少应该包含一个以 b

2009-05-04 11:54:00 1619 1

原创 Java 小例子:猜数字游戏

这是一个猜数字的游戏。用户输入 1~1000 以内的任意数字,程序给出它是大了还是小了,直到猜出正确的结果。程序编写的过程在这里,给初学者参考:http://yidinghesarchives.googlecode.com/files/GuessNumber.mkv注意:1、代码不是写出来就不改了。编写代码的过程是一个不断调整的过程。2、不要把所有的东西都写完才去运

2009-05-03 16:51:00 1997

原创 Java: 如何访问一个对象

对 Java 初学者来说一个头疼的问题是,如何决定把一个对象是定义为方法变量,还是定义为成员变量?最开始初学者还不会关心这点。但是当写出来的程序越来越大,类越来越多时,这种苦恼也应运而生。但我这里要写的是:如何随心所欲的安排一个对象,让你随时可以访问。掌握了这点,你就可以自由的决定将一个对象放在什么地方了。下面举一个简单的例子:public class Acces

2009-05-03 10:03:00 1531

原创 Java: equals 和 ==

谈论 equals() 和 hashCode() 的文章太多了,而关于 equals() 和 == 之间的区别,能找到的文章很少。但是搞清楚这点非常重要。如果没搞清楚的话,很容易写出 BUG 而不自知。二者的区别在于:equals() 方法用于比较两个对象,比较它们的值是否相等;== 运算符用于比较两个变量,比较它们是否引用到同一个对象。我们在写 Java 代码的时候,

2009-05-02 16:47:00 1243 1

原创 Java 小例子:不通过逻辑运算和类库,比较两个 integer 大小

这个问题在论坛上引起了热烈讨论!同时也得到了精彩的答案。 不能通过逻辑运算和类库的话,就只有用位运算了。将两个数相减之后,直接取结果的符号位。考虑到可能溢出,所以做减法之前先要扩展为 long。 下面是完整的代码:import java.util.Random; /** * 不通过逻辑运算和类库,比较两个 integer 大小 */public class

2009-05-01 08:20:00 1850

原创 Java 小例子:一个测试正则表达式的工具

这是一个例子,也是一个工具,用来测试指定的文本中是否包含指定的正则表达式匹配。  下面是代码:import javax.swing.*;import javax.swing.text.DefaultHighlighter;import javax.swing.text.BadLocationException;import java.awt.BorderLayout

2009-04-27 09:44:00 4493

原创 传说中的猫扑 0 楼续

其实原理很简单。MOP 发帖并不是 BBCODE,而是允许一些 HTML 代码的。比如 。img 元素有一个 onerror 的非标准属性,它的值是一串脚本。当图片不能加载时,这段脚本便会执行。再加上 mop 的页面中加载了 jquery,这使得 onerror 中脚本的复杂度大大降低了。查看帖子的 HTML 源代码就知道所谓的 0 楼实际上都是摆在十几二十楼,反正看得出来。作者再稍微做点手脚,把

2009-04-24 21:04:00 1034 1

原创 传说中的猫扑 0 楼

今天见到了传说中的猫扑 0 楼。鉴于猫扑也是用 JSP 做的,这个 0 楼对我们广大的 JSP 工作者具有深刻的教育意义。而且作者不但有技术,更是有文采,这也应该作为程序员学习的榜样。  这行很重要:MB的,昨天写错了。我要的是:-->无双姑娘这行留言:亲爱的管理员,与忙碌的程序员们,虽然猫扑一次再次一次又一次的更新,但很不幸的告诉你,那层坚韧的莫又破了。游戏即将结束,哥今天就华丽

2009-04-24 20:20:00 1402

原创 Java 小例子:通过 WSAD 来移动的窗口

这是一个小例子,演示如何使用 wsad 来控制窗口的移动。这里面有一点技巧。如果简单的使用 keyPressed 或 keyTyped 直接处理按键事件的话,会出现“首次-停顿”现象。解决办法是使用 keyPressed/keyReleased 两个事件来处理,并将控制移动的代码移到另外的线程当中去。 import javax.swing.*;import java.awt.Headl

2009-04-23 09:48:00 1929 2

原创 如何设置双击执行 jar 文件

首先,这个 jar 文件要是可执行的,也就是说能够通过 java -jar 命令执行。 在 Windows 下,我们还可以通过设置资源管理器的方式实现双击 jar 文件执行它。 首先打开资源管理器的文件夹选项,在“文件类型”中找到 jar 文件。如果找不到,也可以自己新建一个。 接着单击“高级”按钮,打开编辑文件类型对话框。在对话框中单击“新建”,打开新操作对话框。 

2009-04-22 18:55:00 4208 2

原创 Java 流(Stream)简介:3、对象序列化

对象序列化也是流应用的一个重要方面。序列化就是把一个对象转换成一串字节,既可以保存起来,也可以传给另外的 Java 程序使用。ObjectOutputStream 和 ObjectInputStream 就是专门用来进行序列化和反序列化的。下面就是一个简单的例子:import java.io.ObjectOutputStream;import java.io.FileOutputStrea

2009-04-21 20:52:00 1801

原创 Java 流(Stream)简介:2、Reader 和 Writer

介绍了 InputStream 和 OutputStream,接下来介绍 Reader 和 Writer。这两个类其实就是将 InputStream 和 OutputStream 包装了一下。不过它们处理的不是字节(byte),而是字符(char)。如果一个流当中的内容都是文本,那么用 Reader/Writer 处理起来会简单些。下面是一个用 Reader 读取文本文件的例子:import ja

2009-04-20 11:39:00 4785 2

原创 Java 流(Stream)简介:1、基本的输入流和输出流

本人打算写几篇文章,介绍一下流。本文是针对初学者的,加上本人水平有限,所以不敢说写得很高深。如果你是初学者,而且对流这个东西很头疼,你就应该看看这个。本文发表在:http://blog.csdn.net/YidingHe,转载请保留出处。流是 Java 中最重要的基本概念之一。文件读写、网络收发、进程通信,几乎所有需要输入输出的地方,都要用到流。流是做什么用的呢

2009-04-20 11:14:00 10785 4

原创 无法实现的需求

今天同事来问,页面上的 Alert 弹出框能不能没有右上角的关闭?当然不能。再说了,单击右上角的关闭和确定按钮都是一样的。  不过同事说用户这么提出来的。用户为什么会提这种需求?Alert 弹出框仅仅是作为消息提示用,用户为什么会认为右上角的关闭和确定按钮会是两个不同的操作? 首先我觉得可能是 Alert 对话框的滥用。初学者喜欢在任何一个操作之后都弹出对话框提示这个提示那

2009-04-16 10:13:00 1266

原创 Java 小例子:老手如何编写计算器

计算器不单单是练习如何布局,更重要的是如何实现复杂的运算逻辑。新手编写计算器,无疑会用到大量的 if-else。而熟练的开发人员知道如何避开这点。下面是代码。PS:我终于找到空间了。这里是编写过程的视频。import javax.swing.*;import javax.swing.border.Border;import java.awt.*;import

2009-04-15 17:24:00 11127 15

原创 Java 小例子:如何使用 Enum

Java 在 1.5 以前,常量是个头疼的问题。因为一些参数只能取那么几个值,而从参数类型上又看不出来有哪些值可以取。从 1.5 开始 Java 引进了 Enum 枚举类型,并根据 Java 自身的特点将其进行了强化。实际上现在所有的常量都可以通过 Enum 来定义了。下面是一个例子,演示了 Enum 的基本用法,以及如何向 Enum 类型加入自定义属性。

2009-04-11 14:42:00 9266 2

原创 Java 小例子:使你的 Java 程序使用单独的分辨率

如果你想在你的 Java 程序中使用单独的分辨率,下面是一个例子。注意这种改变不是永久性的,程序退出就恢复了。其实我也不清楚这到底有什么用。 import javax.swing.*;import java.awt.*;import java.awt.event.ActionListener;import java.awt.event.ActionEvent; /**

2009-04-10 16:47:00 2031

原创 分享:家园2(Homeworld 2)游戏音乐

很早以前从游戏中提取出来的,放在这里下载: http://www.live-share.com/files/384848/Music_Homeworld_2.7z.html   

2009-04-07 12:50:00 2289 1

原创 Java 小例子:求素数

素数(质数)指的是不能被分解的数,除了 1 和它本身之外就没有其它数能够整除。这里是一个小例子,说明如何求取十万以内的所有素数。 素数的分布没有规律可言,所以要检验一个数是不是素数,就必须将它同所有小于它的数作除法。不过有一个简便的方法,就是不需要检验所有小于它的数,而只要检验所有小于它的素数。如果所有小于它的素数都不能将其整除,那么它就是素数。 public class Prim

2009-04-07 10:45:00 1600

原创 Java 小例子:模拟分数的类 Fraction

前一阵子 CSDN 博客奇慢无比,今天好些了。 这里是一个模拟分数运算的例子:Fraction 类。分数运算完后要用最大公约数除分子分母。所以这里也有个用辗转相除法求最大公约数的例子。另外在构造 Fraction 对象时如果分母为零将会抛出异常,这也是必要的检查。public class FractionTest { public static void main(St

2009-04-03 10:15:00 4784

原创 Java 小例子:轮询淘汰

一架飞机快要掉了,上面有 20 个人,但是只有 3 包降落伞。于是 20 个人凑成一圈,每数到第 7 个,就将他踢下去。——最后三包降落伞将落在哪几个人手里? 下面是示例代码。编写过程的录像在这里下载。 import java.util.ArrayList;import java.util.List; /** * 一架飞机快要掉了,上面有 20 个人,但是只有 3

2009-03-28 15:27:00 3163

原创 哪些 JavaSE 类库最应该掌握

Java 自带的类库很庞大,初学者应该尽量多熟悉一些。首先你应该有一个 Java API 文档,文档对 Java 的组织架构有一个如下的图示:  但是并不是所有的类都要会用,那也不可能。主要是看你将来从事哪方面开发。像我做 Web 开发的,AWT/Swing、Java2D 和 JNI 等方面就了解的很少,JDBC、XML 等方面就熟悉一些。 但是有些类,不管做哪方面的开发都

2009-03-23 11:36:00 2066

原创 《利维坦》:人性(2)

承上文:当人们具有能达成的看法时,欲望就称为希望。同样,不具有能达成的看法时就成为失望。当人们具有对象将造成伤害的看法时,嫌恶就称为畏惧。同样具有通过抵抗免除伤害的希望时就称为勇气。常存的希望称为自信。常存的失望就是不自信。希望他人好的欲望称为仁慈。这种欲望如果是对人类普遍存在的,便称为善良的天性。对财富的欲望称为贪婪。这一名词永远用于贬义,因为竞求财富的人,在

2009-03-23 10:46:00 1070

原创 《利维坦》:人性(1)

郭德纲经常说:不要和人性作斗争。很多愤青喜欢提“人权”,但是人权的根本在于人性,不了解什么是人性,又怎么知道什么是人权?中国人对人性的认识还是停留在蒙昧的阶段,仅仅总结出“七情六欲”的说法,没有再更进一步。“修身养性”并不是推崇人性,而是压抑欲望,排挤人性。《利维坦》关于人性的方面的介绍,就是从最基础的概念开始,一步步深入阐述,阐述的过程浅显易懂。这里

2009-03-21 13:11:00 1475

原创 程序员和网络游戏

我发现程序员生涯和网游非常像。网游中的级别高低,完全取决于其经验值的多少。程序员也是一样。程序员的水平高低,不在于会用多少框架,不在于学过多少教程。为什么程序员这行对学历特别的不看重?程序员到底看重什么?经验。但是这个经验不是按时间计算的。同样干了几年的程序员,水平为什么有高有低?我总结无非是这几个方面:1、有的公司本身经验值高。比方泰罗卡公司就有 5% 的经验值加成。2、有的公司环境好。比如蓝天

2009-03-20 09:07:00 1625

原创 付出还是有回报的

 昨天测试人员从用户那里做完用户测试回来。这已经是第三次用户测试了。下星期还会有第四次。 在公司一般来说,一个项目/模块经过三次用户测试还不能通过,是极少发生的。所以我心里也很忐忑,虽然用户并不急,但是心底总是担心:这么长时间没上线,万一用户翻脸(用户也有他的上级啊)怎么办? 昨天的第三次用户测试,让我心里比较有底了。用户将他的上级请来一起做测试(可见他对这套系统很得意),测试

2009-03-12 10:25:00 877

原创 Java 小例子:数据持久化(保存数据到文件)

说数据持久化,初学者可能还不太懂;但要说把数据保存到文件,这谁都懂了。为什么说持久化就是把数据保存到文件?持久化指的就是当程序退出后,其中的数据能够保留下来,供程序再次运行的时候使用。这些数据保留在什么地方最好呢?当然是文件里。保存到文件是数据持久化最常用的方式,除此之外,还可以把数据保存到数据库,或者发送到其它机器,这都是持久化。不过保存在文件是最简单的方式。具体来说就是:选取需要保存

2009-03-09 09:07:00 15998 10

原创 Java 小例子:通过 Socket 发送和接收文件

这是一个简单的包含发送端和接收端的例子。发送端向接收端发送文件名和文件内容,接收端将收到的文件保存在磁盘上。接收端可以同时接收多个发送端传来的文件,但没有处理文件同名的情况。这个例子中设计了一个简单的协议。发送的内容是这样的:文件名长度(4字节)—文件名—文件内容长度(4字节)—文件内容。接收端也按照这个结构进行解析。建议先看 Client 类,再看 Server 类。

2009-03-04 08:44:00 15827 18

原创 Java 小例子:分解质因数

这个例子演示如何利用递归来完成分解质因数。 import java.util.List;import java.util.ArrayList; /** * 分解质因数 */public class GetFactor { public static void main(String[] args) { List factors =

2009-03-03 13:48:00 3898 5

原创 Java 小例子:打印一个金字塔

这是最基础的例子了,每个初学者都会要做这个题目。这个题目的目的是熟悉循环特别是嵌套循环的使用。但是如果对 Java 足够熟悉,回头来再写这个程序,就完全不是这么写的了。 嵌套循环是非常复杂的逻辑。特别是写得很长的嵌套循环,一个不小心把 j 写成 i,就够你调试半天的。所以嵌套循环应该尽量避免。怎么避免?将内部循环提取成一个方法。这样每个方法里都只有一层循环,容易看,容易改,而且不容易出错。

2009-03-01 17:19:00 3260 2

原创 介绍 abstract、static 和 final

Java 中有很多修饰符。今天看到一篇文章,作者对这些修饰符做了一个总结,并画了张表(http://blog.csdn.net/cdsnmdl/archive/2009/02/26/3940417.aspx)。不过这张表不够详尽也不够准确,我想补充一些东西。初学者死记这张表是没用的,主要是在写代码的过程中了解,多练多写才是正途。有了一定的经验之后再来总结一下,能够对这些修饰符之间的关系有更深刻的了

2009-03-01 13:44:00 2506 3

JDK 11.0.18 微软发行版,1积分

Java 开发工具包(JDK)版本 11.0.18,适用于 Windows 操作系统

2023-04-14

在 Windows 下运行的 Redis 服务,版本 5.0.14.1,下载 1 积分

【1积分】在 Windows 下运行的 Redis 服务,版本 5.0.14.1 Redis 是原生运行在 Linux 下的,但热心的开发者网友自行编译了 Windows 下可运行的版本,并放在 GitHub 上(项目路径为 tporadowski/redis)。 到 2023 年 4 月 5 日为止,该项目最新版本号为 5.0.14.1。 本人会持续关注该项目的最新版本,并每隔几个月上传最新版本,如果有大版本更新,会尽可能在第一时间上传。 最重要的是,我所有上传的内容都是 1 个积分!因为我将其上传到 CSDN,首先目的是给自己下载用,其次是分享给大家,1 积分是考虑有可能我也要下载别人的东西。

2023-04-05

wxWidgets API 文档(chm)

官方最新的 wxWidgets API 文档(看上传日期)。wxWidgets 是开源跨平台的 GUI 控件库,除了C/C++外,很多动态语言(Python、Lua)都可以调用它。

2008-12-09

ONGL 语言指南(官方,英文,pdf)

ONGL 是在 Struts2 的标签中用到的表达式语言。本指南介绍了 ONGL 的基本语法,有助于让你更加高效的编写 Struts2 标签。

2008-12-09

PyGTK2 教程 - 用 Python 进行 GTK 开发

PyGTK2 教程 - 用 Python 进行 GTK 开发

2008-11-18

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除