自定义博客皮肤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

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

  • 博客(12)
  • 资源 (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 1837

原创 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

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

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