自定义博客皮肤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)
  • 收藏
  • 关注

原创 通过反射构造内部类对象

今天折腾了好一阵子,终于明白怎么通过反射来构造内部类对象了。这里头名堂不少,只能一一道来。首先在 javalang 包下写一个包含内部类的类:package javalang;public class Outer {    public static class Inner1{}}注意这个类是 public static,后面我们慢慢把这些修饰符去掉。要想通过反射来创建 Inner1 对象,首先要

2009-02-27 19:18:00 5532

原创 关于 static 块是否是同步的

要理解 synchronized 关键字,可以先看看这篇文章: http://www.learndiary.com/archives/diaries/2910.htm 本文是对该文的补充。 作者在最后对类中的 static 块是否是同步的抱有疑惑。其实想鉴定也不难。通过编译代码我们就知道,synchronized static {} 这样写是不允许的。为什么呢?因为 sta

2009-02-27 17:03:00 1827

原创 Java 小例子:图书馆课程设计

用 Java 模拟一个图书馆。包括创建图书、创建读者、借书、还书、列出所有图书、列出所有读者、列出已借出的图书、列出过期未还的图书等功能。每个读者最多只能借 3 本书,每个书最多只能借 3 个星期,超过就算过期。 下面是一个命令行下的实现。这个例子的主要目的是向初学者展示内部类的好处。

2009-02-26 19:30:00 7564 19

原创 工作时该不该听音乐

不是每个公司都允许程序员工作的时候带耳塞听音乐。其实听音乐不是为了享受,而是为了清静。为什么呢?因为音乐屏蔽了周围的声音,像击键声、点鼠标声、讨论的声音。 特别是人的说话声。人的大脑处理说话声跟其他声音不一样,是有特别的区域的。它首先将说话声翻译成语言,然后交给大脑处理。这一过程是在潜意识里进行的,所以我们听到别人用自己听得懂的语言说话,就明白他/她的意思。 如果我在工作的时候,别

2009-02-22 10:11:00 3350 1

原创 介绍 Java 自带的线程池(2)

续前文:java.util.concurrent.ThreadPoolExecutor 类提供了丰富的可扩展性。你可以通过创建它的子类来自定义它的行为。例如,我希望当每个任务结束之后打印一条消息,但我又无法修改任务对象,那么我可以这样写:ThreadPoolExecutor executor = new ThreadPoolExecutor(size, maxSize, 1,

2009-02-15 11:26:00 1836

原创 Java 小例子:创建一个可拖拽图片的面板

今天在论坛上看到帖子希望能在 Swing 中实现像拖地图一样拖拽图片。这里是一个最简单的实现,提供了一个基本思路。import javax.swing.*;import javax.swing.filechooser.FileNameExtensionFilter;import java.awt.*;import java.awt.event.MouseEvent;import

2009-02-14 17:29:00 5197 2

原创 介绍 Java 自带的线程池(1)

从 Java 5 开始,Java 提供了自己的线程池。线程池就是一个线程的容器,每次只执行额定数量的线程。 java.util.concurrent.ThreadPoolExecutor 就是这样的线程池。它很灵活,但使用起来也比较复杂,本文就对其做一个介绍。首先是构造函数。以最简单的构造函数为例:public ThreadPoolExecutor( int

2009-02-14 12:58:00 3142 1

原创 面子驱动编程

面子驱动编程?这当然是玩笑话。在经历了文档驱动、进度驱动之后,我又遇上了“面子驱动编程”。首先声明我其实很喜欢我们公司,否则的话不会从毕业到现在一直呆了四年。但世上没有完美的公司,项目中碰到问题是很自然的。什么是面子驱动?我也是昨天开会后悟出来的。当时小组长(不怕你笑话,我还在干程序员)问我,我负责的模块,权限方面如何设计的。我说根据用户岗位来判断权限。他问,有没有使用现有的权限数据库表(包含角色

2009-02-10 10:16:00 908 1

原创 《实现模式》到手,炫耀一下

今天快递公司终于把《实现模式》送来了。在这里抄几段:本书的目的是帮助你通过代码表达自己的意图。首先,必须在编程时保持清醒。……迈向沟通的第一步就是让自己慢下来,弄明白自己究竟想了些什么,不再假装自己是在凭本能编程。第二步是承认他人的重要性。……必须学会相信其他人也和我一样重要,然后才能写出能与他人沟通的代码。我早已发现,在那种没有模式可以应用,或是两个相互排斥的模式可以同等应用

2009-02-09 16:29:00 1185 2

原创 classpath 简介

本文的目的是向初学者介绍什么是 classpath,以及如何在项目中组织 classpath。熟悉 classpath 是熟练使用 java/javac 命令的前提。虽然类似的文章非常多,但本文力求做到简单易读。一、基本用法classpath 是 Java 最重要的基础概念之一。它是一个编译和运行时都要用到的参数。当没有这个参数时,java 和 javac 命令会取环境变量 CLASS

2009-02-07 12:26:00 1558

原创 一个方法不超过 5 行有多难?

之前发的文章 给初学者一点建议:学习设计之前 不管是论坛上还是 Blog 上都得到不少回复(相对而言啦)。大家对我的想法都是肯定的,然而同时不少人也说:“所谓一个方法5行程序仅仅是一种很夸张的说法。” 这里先更正一下,5 行不是准确的说法,应该说 5 句比较恰当。一个方法不超过 5 句。 出现这样的回复,是个问题。因为这是写给初学者看的,如果你看完后相信的是回复里的说法,那我这文章

2009-02-05 19:57:00 5567 38

原创 给初学者一点建议:学习设计之前

这是写给初学者看的,虽然有点吹牛,但高人面前不敢班门弄斧,我写的都是来自我的切身经验。) 初学者学习设计模式之类的东西之前,如果能打好基础,将来必能事半功倍。 初学者不太讲究的一个地方,就是不考虑将来要修改代码的可能性。一个计算器写出来,就觉得“好,我会了”,马上丢到一边。 高水平的程序员,写出来的代码都是易于修改的。但是初学者很难有这种机会要修改自己的程序,怎么办呢? 就

2009-02-05 08:21:00 5945 36

原创 李宇春与女性价值观

这两天回家,用手机看网页,猫扑大杂烩。春哥永远是愤青们不灭的话题。 05 年夏天我刚离开学校,跟一个同事一起租了间房。那家伙周末晚上准点看超女,我才知道有超女这么个节目。我虽然不喜欢看,但同住一个屋子,不看也得看。说实话我挺鄙视他这一点,一个男的看什么超女,看看节目里面一帮人那肉麻做作的吹捧就恶心。 而且我注意到节目里头台上台下几乎都是女的,短信投票最踊跃的也是女的。很有意思,一个

2009-01-25 12:39:00 993

原创 Java 小例子:根据 Map 对象的内容创建 JavaBean

Java 提供 java.beans.Introspector 类,帮助我们分析 JavaBean 类当中有哪些属性,通过它可以方便的对 JavaBean 对象属性进行取值和赋值操作。下面是一个例子,根据 Map 对象中的内容创建 JavaBean 对象。import java.beans.BeanInfo;import java.beans.IntrospectionException;

2009-01-21 15:59:00 3541 1

原创 Java 构造函数的执行

Java 在创建对象的时候会要执行它的构造函数。不仅如此,Java 还要执行父类的构造函数,往上一级一级直到没有父类为止。对于初学者来说,有三个问题不容易搞懂: 1、父类的构造函数是否一定会执行?2、是先执行子类的构造函数还是先执行父类的构造函数?3、如果父类有多个构造函数,那么 Java 会选择哪一个? - 父类的构造函数是否一定会执行?是的,父类的构造函数一定会执行

2009-01-20 14:48:00 9452 4

原创 Java 小例子:按指定的编码读取文本文件内容

InputStreamReader 的构造函数提供了一个参数,用于指定通过什么编码将读取到的字节流转换成字符。下面是一个例子:/** * 读取指定的文本文件,并返回内容 * * @param path 文件路径 * @param charset 文件编码 * * @return 文件内容 * * @throws IOException 如果文件不存在、打开

2009-01-20 09:56:00 3952 6

原创 给游戏角色起名

起名字是很伤脑筋的事情。有霸道嚣张的,有酥软柔媚的,有俏皮的,有深沉的,也有火星的,无非是希望给别的玩家深刻的印象。我也起过几个自认为还算可以的名字:1、“蓬头傀儡”。本来应该是“棚头傀儡”,我选了一个披头散发的矮人,于是叫“蓬头傀儡”了。我很多角色都是以傀儡结尾,傀儡二字算是一种提醒:游戏角色不是我自己,离开了游戏,角色就不存在了,但我还是我。2、“捏造的信仰”。来自攻壳机动队的一句台词。捏造是

2009-01-20 08:55:00 4159 2

原创 对 List 元素中的多个属性进行排序(用到 commons-beanutils)

commons-beanutils 类库中有一个 BeanComparator 类,可以用来给 JavaBean 排序。但是这个类一次只能对一个属性排序。下面是一个利用 BeanComparator 实现对 JavaBean 的多个属性进行排序的例子,非常简单:import org.apache.commons.beanutils.BeanComparator;import java.util.C

2009-01-07 19:35:00 2437

原创 找了一个猩猩做宝宝,爽

今天找了一个猩猩,震地技能很爽!这样就不怕给 BB 加血的时候引来怪了。另外,还可以安心的放乱射,效率提高不少!

2009-01-07 19:08:00 1078 2

原创 兼具 List 和 Map 的“容器”类 ListMap

“容器”两个字之所以打上引号,是因为这个类没有实现 Collection 接口。要写一个兼具 List 功能和 Map 功能的类,有几个困难,一是 Java 不允许同时实现 List 和 Map 两个接口,二是这个 ListMap 结合了二者的功能之后,产生了特殊的接口。例如 Collection 的 contains 方法,在 ListMap 中就需要衍生出 containsKey 和 cont

2009-01-05 11:18:00 2190 13

原创 好用的视频格式转换工具:HandBrake

昨天在 CB 上看到了一款开源视频转换工具 MeGUI,下下来之后才发现这软件界面十分诡异,不知道怎么用。于是继续在网上找,最后找到了这款 GPL 的 HandBrake。这款软件提供多个平台版本,Windows 版本需要 .net Framework 2.0 运行。这款软件界面美观布局合理,我尝试将我的《WALL.E》DVD 转为mkv,近 7G 的 DVD 生成的 mkv 大小不到 1G,画面

2008-12-30 08:41:00 2783 3

原创 马克思进文庙——存档

(网上搜索“马克思进文庙”, 都是求文的帖子。好不容易找到,立此存照)《马克思进文庙》郭沫若1926年1月1日出版的《洪水》第一卷第七期,十月十五日丁祭过后的第二天,孔子和他的得意门生颜回子路子贡三位在上海的文庙里吃着冷猪头肉的时候,有四位年轻的大班抬了一乘朱红漆的四轿,一直闯进庙来。子路先看见了,便不由得怒发冲冠,把筷子一掼,便想上前去干涉。孔子急忙制止他道:由哟,你好勇

2008-12-29 10:09:00 2798

原创 Java 小例子:输出格式化数字

我们经常要将数字进行格式化,比如取2位小数,这是最常见的。Java 提供 DecimalFormat  类,帮你用最快的速度将数字格式化为你需要的样子。下面是一个例子:import java.text.DecimalFormat; public class TestNumberFormat { public static void main(String[] arg

2008-12-28 19:37:00 9153 1

原创 Java 小例子:读取文件内容

Java 提供 BufferedReader 类用来从流中读取字符串、FileReader 类用来读取文件。我们用这两个类来读取文件中的字符串。下面是一个例子:import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException; public class ReadFile {

2008-12-27 19:48:00 2581 3

原创 Java 小例子:读取控制台的用户输入

想当年学 BASIC 的时候,获取用户输入多简单,就一个 input;后来学 C,也挺简单,一个 scanf();后来学 c++,同样简单,一个 cin 1、简单的获取用户输入下面是一个基本的例子,包含解释:import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.IOException;public

2008-12-26 18:43:00 9352 3

原创 关于同 Struts 2.0.6 配合使用 Spring 出现的问题

我在运行某个项目时发现在 Tomcat 下部署失败。失败原因是 Spring 配置文件的解析过程中需要连接到:http://www.springframework.org/dtd/spring-beans-2.0.dtd经检查,发现原因在于 Struts2。项目使用的 Struts2 版本是 2.0.6,该版本使用 gnujaxp.jar。一旦加上了这个 jar 包,Spring 就会尝试用它来解

2008-12-25 11:11:00 1157

原创 为什么“汉编”没搞头

根据我们现在的了解,汉语编程主要有两家:一家是北京国之经典汉语编程科技有限公司的“汉编”,另一家是大连大有吴涛易语言软件开发有限公司的“易语言”。徽剑同学针对的是“汉编”,将“汉编”骂了个狗血淋头。而看看“汉编”的回应,不是人身攻击就是偷换概念,甚至还装娘们,丑态十足。“汉编”的回应当中,徽剑反驳过的地方我就不说了,我想谈谈其他一些容易迷惑人的地方。 在回应中,“汉编”回应中口口声声说徽剑

2007-11-05 12:07:00 7424 9

原创 看《Linux:有光明没前途》

看到一篇比较受关注的文章:《Linux:有光明没前途》http://sunyongjie68.blog.sohu.com/66134395.html这里就文中观点提出几点看法:1、用户习惯问题。文章举Vista为例,认为“用户使用习惯的差异”会导致新产品难以被接受。同是微软的产品,Office2007却不一样。人们在开始时也难以适应界面的改变,但是经过短时间的熟悉很多人都喜欢上了这种更漂亮更高效的

2007-10-10 17:32:00 1913

原创 关注竞价排名

今天关注了一下一些主要的搜索网站的竞价排名,不是想要做广告,而是想了解一下这些竞价排名系统对搜索结果会有什么影响。 首先是 Google AdWords,广告被放在页面右上方,并被明确标明为“赞助商链接”。搜索结果中除了将宣传 Google 自己服务的内容放在顶部外,不含其他广告。 然后是百度,竞价排名被放在搜索结果的顶部,每条广告末尾有灰色的“推广”二字。如果不仔细看,还真以为是搜索结果。比

2007-08-25 15:31:00 1105

原创 反对 OOXML 的理由

即使 Google 一下“支持 OOXML”,得到的也几乎都是反对 OOXML 的页面。这算是一种讽刺吧。要了解 OOXML 哪里不好,首推 http://www.noooxml.org。如今全世界有那么多文档,那么多格式,推出一个标准来是有必要的,而且这个标准要能够在尽量多的系统和平台上实现,否则就没有意义了。另外,这个标准应该精确无歧义,否则大家的不同理解会造成兼容上的问题,标准就不是标准了。

2007-07-24 10:14:00 4436 6

原创 拒绝 IE 的网站

如果你用 IE 访问 http://www.openaddict.com/ ,你将被拒绝:If youre reading this it means youre using Microsofts Internet Explorer to attempt to view Open Addict.com. Youre being blocked because Internet Exp

2007-07-20 08:13:00 1297

原创 对“对倪光南院士关于文档格式国际标准之争观点的不同看法”的不同看法

(本文允许转载,转载时请不要做任何删节或修改,并保留这句话。) 《对倪光南院士关于文档格式国际标准之争观点的不同看法》原文地址: http://blog.sina.com.cn/u/4dce9bed010008yl 废话不说了,这篇文章的问题之处列在下面: 1、“微软并没有寻求标准的单一化,而是寻求标准的共存,而且在ODF成为国际标准,微软是投了赞成票的,并且微软在它的Office 200

2007-07-17 19:15:00 1537

原创 保护我的代码

我创建了一个项目,用来保护我的代码。 我在家里写的代码,与公司没有任何关系,版权当属我自己。但是我也不排除将这些代码拷贝到公司项目中使用的可能性。然而根据协议,在公司编写的代码属公司所有。所以我只需要证明这些代码并非在公司所写,而是来自于某个开源项目,公司自当无权禁止我在其他地方使用我自己的代码。

2007-06-12 21:59:00 1278

原创 我毕业那时候怎么面试的

那时候快要毕业,到公司面试的时候是和很多毕业生一起。一共十个人左右,围坐在圆桌子边上。经理先问了每个人的经历之类的。我说了一下做过的课程设计和写过的一些小程序。实际上读高校的时候班上课程设计总是有相当一部分是拿着我的去改的。有时候我怕逼急了,自己还改出两三个版本来给他们交差。所以我说“虽然是和同学一起做,但实际上基本上都是我写的。”也不晓得经理信不信。然后是笔试。考的是 C 语言和 SQL。我不喜

2007-06-04 19:21:00 1273

原创 关于“八大原因让Linux远离普通用户”

八大原因让Linux远离普通用户“远离”是一个动词,表示由近而远的离开。所谓“Linux 远离普通用户”,言下之意便是, Linux 原本和普通用户很近,而现在是越来越远了?恰恰相反,Linux 现在在不断的贴近普通用户。然而要注意的是,和 Windows、MacOS 不一样,Linux 并非一开始就将“贴近普通用户”作为目标。Linux 是开源免费的,这意味着它可以自由的发展,不受任何经济方面的

2007-05-29 23:21:00 2185

原创 国人终于将要开始接触“开源”二字了

下面是几个链接:漫谈自由与开源开源软件的精神及终极追求徐继哲:被误读的软件开源开源软件的安全性究竟如何? 了解开源软件七种盈利模式也有一些不了解开源精神的人对开源的恶意攻击:开源 GPL 中触目惊心的学术腐败

2007-04-21 18:51:00 1448

原创 Prototype, IE 的痛

今天用了一下 Prototype 1.5,发现在 IE 下很多元素没有被扩展,脚本执行报错。仔细看发现了原因。Prototype 用 Element.addMethods() 方法对页面所有元素进行扩展:Element.addMethods = function(methods) {  Object.extend(Element.Methods, methods || {});  func

2007-04-08 14:27:00 6485

原创 摆脱星空极速续

 今天下了班回家再次上网,发现上不了了,MODEM 日志中看到登录失败。碰到鬼了。重新把星空极速装起来登录,又可以。唉,还是被做了手脚。算了,只能是让 Sniffer 出马了。临时下载并装了一个,将星空极速登录过程录下来(网上文章多得很,这里不废话了)。一看,我操,原来用户名前面加上了个“~4”。用新的用户名一试,果不其然。电信就一个贱字。看来这下稍微麻烦了,明天搞不好来个“~5”、"~6"什么的

2007-01-29 20:53:00 1846

原创 摆脱星空极速

今天装了宽带,令我不爽的是被装上了“星空极速” 这种莫名其妙的东西。工作人员明显不愿意告诉我怎么在MODEM 上设置。不过我读书的时候在寝室里摆弄过宽带猫的配置,最终还是把星空极速请了出去:1、工作人员走的时候,我抄下了用户名和密码。根据网上的资料,别地方的星空极速似乎把用户名和密码作了修改,需要用 Sniffer 才能得到;而长沙的不需要,用户名和密码是真实的。2、打开 IE 选项,发现果然新建

2007-01-28 20:19:00 2203

原创 编程是什么

进高校之前,以为编程是一门科学; 进了高校,才发现编程是一门手艺。科学是研究出来的,研究搞得牛逼,就叫科学家;手艺是积累出来的,经验积累得丰富,就叫大师。我听说过“编程大师”,却没听说过“编程学家”。编程从来就被人们看作是一门手艺。这就解释了为什么在程序员里面,研究生的水平不见得比专科生高。软件是怎么来的?是编译出来的。编译器不会关心你的学历。

2007-01-28 17:43:00 1991

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关注的人

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