随笔 - 312, 文章 - 14, 评论 - 1393, 引用 - 0
数据加载中……

05 2008 档案

Web上传文件的原理及实现
     摘要: 虽然现在有很多上传组件可以利用,但是了解Web上传文件的原理,对于处理突然出现的问题会有很大的帮助,下面就来讲一下通过浏览器上传文件的基本原理。在了解了原理之后,就可以非常容易地自制满足自身需要的上传组件了。
  阅读全文

posted @ 2008-05-29 12:42 银河使者 阅读(6765) | 评论 (1)  编辑

it人35岁时 转型不能转行
     摘要: “35岁,技术生涯即告终结。”这种说法在IT界得到众多人认可,也令很多IT人为自己的未来担忧。其实,如果从另一个角度来理解,技术生涯结束,意味着新职业的开始。与其被动等待,不如换个思维,早作准备,在35岁来到之前完成转型,把握职业生涯的主动权。  阅读全文

posted @ 2008-05-26 14:16 银河使者 阅读(814) | 评论 (3)  编辑

AJAX从服务端获取数据的三种方法
     摘要: 在本文中将给出一个例子来介绍使用AJAX技术从服务端获得数据的三种方法。这个例子很简单,就是两个选择框(html中的<select>标签),通过选中第一个select的某一项后,会从服务端得到一些数据,并加载到第2个select中。这三种方法是获得XML数据,直接获得<option>字符串,以及获得在客户端可执行的javascript代码。 本文还给出了一种ajax向服务端发送中文请求时出现乱码的解决方案。  阅读全文

posted @ 2008-05-25 23:16 银河使者 阅读(7769) | 评论 (18)  编辑

MySQL查询的性能优化
     摘要: 查询是数据库技术中最常用的操作。查询操作的过程比较简单,首先从客户端发出查询的SQL语句,数据库服务端在接收到由客户端发来的SQL语句后,执行这条SQL语句,然后将查询到的结果返回给客户端。虽然过程很简单,但不同的查询方式和数据库设置,对查询的性能将会有很在的影响。因此,本文就在 MySQL中常用的查询优化技术进行讨论。  阅读全文

posted @ 2008-05-24 08:54 银河使者 阅读(4201) | 评论 (2)  编辑

使用Transact-SQL进行数据导入导出方法详解
     摘要: 本文讨论了如何通过Transact-SQL以及系统函数OPENDATASOURCE和OPENROWSET在同构和异构数据库之间进行数据的导入导出,并给出了详细的例子以供参考。  阅读全文

posted @ 2008-05-21 10:02 银河使者 阅读(2593) | 评论 (0)  编辑

Struts2教程10:国际化
     摘要: 国际化的作用就是根据不同国家的用户在访问Web或其他类型的程序时,将各种信息以本地的常用形式显示出来,如界面信息在中国,就会显示中文信息,在以英文为主的国家里,就会显示英文信息。还有就是一些信息的格式,如日期格式等。
  阅读全文

posted @ 2008-05-20 16:06 银河使者 阅读(9608) | 评论 (10)  编辑

将网页变成灰色(只限IE)
     摘要: <body style="FILTER: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);"> </body>

谁知道在firefox里如何通过css将网页变为灰色!  阅读全文

posted @ 2008-05-19 19:36 银河使者 阅读(735) | 评论 (1)  编辑

通过MVC模式将Web视图和逻辑代码分离
     摘要: 在客户端也存在着一个MVC体系结构。我们可以将视图(V)看成是描述界面的html、css和javascript代码,而模型(M)可以看成是处理业务逻辑的javascript代码,而控制器(C)就是将这两类代码连接起来的代码(一般也是javascript代码)。  阅读全文

posted @ 2008-05-19 16:11 银河使者 阅读(4144) | 评论 (10)  编辑

一个智能机器人的语录
     摘要: 这个宇宙在我出生的时侯被创造,在我死亡时它也将结束。当我行走时,我并不移动--相反,是世界在我的脚下移动。当我闭上眼睛时,除了虚空以外不存在任何事物,但当我再次睁开眼睛时,世界便一眨眼又回到了现实中来。没有什么东西是真实的,没有什么东西是永恒的。当我离开一个地方时,这个地方就像烟雾一样散去;只有当我回来时,它才又重新出现。除了我本身以外,没有任何东西存在,我就是虚无的上帝。   阅读全文

posted @ 2008-05-17 09:50 银河使者 阅读(440) | 评论 (2)  编辑

选择排序(selection sort)算法实现
     摘要: 从字面上理解,就是通过不断地选择数组元素,从而达到排序的目的。我插入排序类似,假设第i(i阅读全文

posted @ 2008-05-16 13:21 银河使者 阅读(1547) | 评论 (0)  编辑

希尔排序(shellsort)算法实现
     摘要: 希尔排序(shellsort)又叫增量递减(diminishing increment)排序,是由D.L. Shell发明的,这个算法是通过一个逐渐减小的增量使一个数组逐渐趋近于有序从而达到排序的目的。  阅读全文

posted @ 2008-05-15 22:01 银河使者 阅读(2367) | 评论 (1)  编辑

在Firefox中通过AJAX跨域访问Web资源
     摘要: 本文讨论了如何解决ajax跨域访问的问题,以及阐述了XMLHttpRequest中某些属性和方法在不同浏览器中的区别。  阅读全文

posted @ 2008-05-15 16:46 银河使者 阅读(9309) | 评论 (6)  编辑

归并排序(merge sort)算法实现
     摘要: 归并排序(merge sort)体现了分治的思想,即将一个待排序数组分为两部分,对这两个部分进行归并排序,排序后,再对两个已经排序好的数组进行合并。这种思想可以用递归方式很容易实现。归并排序的时间复杂度为O(nlogn),空间复杂度为O(n)。  阅读全文

posted @ 2008-05-14 22:57 银河使者 阅读(3259) | 评论 (4)  编辑

快速排序(quicksort)算法实现
     摘要: 快速排序(quicksort)是分治法的典型例子,它的主要思想是将一个待排序的数组以数组的某一个元素X为轴,使这个轴的左侧元素都比X大,而右侧元素都比X小(从大到小排序)。然后以这个X在变换后数组的位置i分为左右两个子数组,再分别进行快速排序,直到子数组中只有一个元素为止。
  阅读全文

posted @ 2008-05-14 20:14 银河使者 阅读(6537) | 评论 (1)  编辑

Java 6 Hotspot的性能将有可能超越编译型语言
     摘要: Sun公司的Kohsuke Kawaguchi考察了Hotspot JIT在JDK6 u10 b14 debug版中产生的汇编代码,并将其记录在博客中。该博文着重阐述了Java优化的程度。  阅读全文

posted @ 2008-05-14 17:16 银河使者 阅读(883) | 评论 (6)  编辑

SQL Server各种导入导出数据方式的比较
     摘要: 在SQL Server中主要有三种方式导入导出数据:使用Transact-SQL对数据进行处理;调用命令行工具bcp处理数据;使用数据转换服务(DTS)对数据进行处理。这三种方法各有其特点,下面就它们的主要特点进行比较。   阅读全文

posted @ 2008-05-14 12:22 银河使者 阅读(4000) | 评论 (2)  编辑

【转载】如何从课堂与教学内容两方面提高培训效率
     摘要: 中国好的软件工程师很多很多,可是要找出几个好的软件培训教师,却是很难很难!因为一个好的软件培训教师不仅要求本身具有很强的技术实力和对所讲授的技术明明白白,还要求老师认真负责,对整个讲课过程也精益求精,力争让所有学员到达一种最佳学习效果和最高的学习效率。下面是我根据自己的教学心得和旁听其他一些老师的讲课发现一些问题后,总结出的一些教学技巧,作为传智播课的教学指导,供其我们所有老师参考,现在公布出来,希望志同道合的朋友与我联系,一同做大做强中国的软件培训:  阅读全文

posted @ 2008-05-13 19:03 银河使者 阅读(304) | 评论 (1)  编辑

【转载】李开复宣布与金山合作 谷歌迈出中国第三步
     摘要: 5月8日,谷歌中国区总裁李开复宣布谷歌与金山开展了合作,免费之后,将试用谷歌关键字收费模式——当用户输入翻译请求时,翻译结果可能来自金山的词库,谷歌的语料库,互联网维基百科,还可能来自互联网网页,这就有了销售关键字的可能.   阅读全文

posted @ 2008-05-13 12:20 银河使者 阅读(229) | 评论 (0)  编辑

Java SE6调用Java编译器的两种新方法
     摘要: 在很多Java应用中需要在程序中调用Java编译器来编译和运行。但在早期的版本中(Java SE5及以前版本)中只能通过tools.jar中的com.sun.tools.javac包来调用Java编译器,但由于tools.jar不是标准的Java库,在使用时必须要设置这个jar的路径。而在Java SE6中为我们提供了标准的包来操作Java编译器,这就是javax.tools包。使用这个包,我们可以不用将jar文件路径添加到classpath中了。  阅读全文

posted @ 2008-05-13 10:25 银河使者 阅读(3011) | 评论 (3)  编辑

得到第K个大的数算法研究
     摘要: 第一种算法是最容易想到的,就是利用快速排序的思想,将一个数组分成以某一个数X为轴,左边的所有的数都比X小,而右边的数都比X大。但我快速排序不同的是,在这个算法中只考虑X的一边,而不是两边都考虑。   阅读全文

posted @ 2008-05-12 20:55 银河使者 阅读(2022) | 评论 (0)  编辑

【转载】OpenEJB 3.0支持对枚举和集合的依赖注入及OSGi和EJB 3.0特性
     摘要: 开源轻量级EJB实现框架OpenEJB的最新版支持对枚举、集合和Maps的依赖注入(Dependency Injection,即DI),并且支持OSGi和EJB 3.0规范。在经历了一年半的开发后,OpenEJB 3.0最终版近期发布了。该版本还支持@EJB引用其他EAR文件中的本地接口、事务日志及基于HTTP协议的EJBd,同时它还支持EJB 3.0的新特性如Business Interfaces、Java Persistence API (JPA)及JAX-WS Web Services。  阅读全文

posted @ 2008-05-12 19:36 银河使者 阅读(390) | 评论 (0)  编辑

棋盘覆盖问题的算法实现
     摘要: 在一个2^k * 2^k个方格组成的棋盘中,有一个方格与其它的不同,若使用以下四种L型骨牌覆盖除这个特殊方格的其它方格,如何覆盖。  阅读全文

posted @ 2008-05-11 22:29 银河使者 阅读(4097) | 评论 (1)  编辑

拆半查找的递归和非递归算法
     摘要: 本文给出了折半查找在递归和非递归实现   阅读全文

posted @ 2008-05-11 22:26 银河使者 阅读(2905) | 评论 (4)  编辑

全排列算法原理和实现
     摘要: 全排列是将一组数按一定顺序进行排列,如果这组数有n个,那么全排列数为n!个。现以{1, 2, 3, 4, 5}为
例说明如何编写全排列的递归算法。   阅读全文

posted @ 2008-05-11 15:43 银河使者 阅读(7848) | 评论 (11)  编辑

整数划分算法原理与实现
     摘要: 整数划分问题是将一个正整数n拆成一组数连加并等于n的形式,且这组数中的最大加数不大于n。  阅读全文

posted @ 2008-05-11 15:41 银河使者 阅读(2003) | 评论 (0)  编辑

PHP + Apache + Windows的设置

posted @ 2008-05-10 19:24 银河使者 阅读(316) | 评论 (0)  编辑

Delphi使用资源文件全攻略
     摘要: 在通常情况下使用delphi设计程序,都是将字符串、图像等资源直接使用delphi提供的vcl控件加到*.dfm中,这样做会合修改这些资源时带来不便,如果资源被多次引用,这些资源在程序启动时都被加载到内存中,非常耗费系统资源。因此,这就需要一种新的引用资源的文件:资源文件。资源文件就是将一些资源,如字符串、图像等信息进行编译,然后在程序中引用编译后的资源文件,最后和源程序一起编译生成可执行文件。由于在资源文件中的资源是在需要时加载,因此,比较节省系统资源,而且,如果要做国际化版本的系统,只需要将资源文件一换,重新编译即可。下面就详细介绍delphi中资源文件的建立和使用。  阅读全文

posted @ 2008-05-10 19:19 银河使者 阅读(648) | 评论 (0)  编辑

在delphi中如何动态建立类的实例
     摘要: 在面向对象语言中,用两种方法建立类的实例:静态建立和动态建立。静态建立就是在程序中显式地建立类的实例,如c1 = TClass1.Create()。而动态建立是在只知道类名的前题下建立类的实例。动态建立在实现上要比静态建立更灵活,因为动态建立无需引用被建立类,并且更容易实现如多态等面向对象特性。  阅读全文

posted @ 2008-05-10 19:10 银河使者 阅读(3160) | 评论 (0)  编辑

Java的多进程运行模式分析
     摘要: 一般我们在java中运行其它类中的方法时,无论是静态调用,还是动态调用,都是在当前的进程中执行的,也就是说,只有一个java虚拟机实例在运行。而有的时候,我们需要通过java代码启动多个java子进程。这样做虽然占用了一些系统资源,但会使程序更加稳定,因为新启动的程序是在不同的虚拟机进程中运行的,如果有一个进程发生异常,并不影响其它的子进程。  阅读全文

posted @ 2008-05-10 19:02 银河使者 阅读(2962) | 评论 (1)  编辑

《程序员》第9期智慧擂台题目——高频词汇提取
     摘要: 这次智慧擂台请大家在一个比较庞大的英文文本中找出M个数量最多的短语(由N个单词组成)。统一处理相同的文本文件,该文本只包含英文单词、空格和回行符,比较谁的程序效率最高。  阅读全文

posted @ 2008-05-10 09:37 银河使者 阅读(1649) | 评论 (1)  编辑

百度面试题的java实现
     摘要: 有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间。  阅读全文

posted @ 2008-05-10 09:23 银河使者 阅读(6639) | 评论 (10)  编辑

一著名软件公司的java笔试算法题的答案
     摘要: 原题如下:用1、2、2、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。  阅读全文

posted @ 2008-05-10 09:19 银河使者 阅读(8048) | 评论 (11)  编辑

Java正则表达式初学者指南
     摘要: 本文将介绍如何在Java中使用正则表达式来处理文本数据。正则表达式就是一个字符串,但和普通的字符串不同的是,正则表达式是对一组相似字符串的抽象  阅读全文

posted @ 2008-05-10 09:14 银河使者 阅读(14244) | 评论 (8)  编辑

Struts2教程9:实现自已的拦截器
     摘要: 在上一篇中介绍了Struts2拦截器的原理,在这一篇中我们将学习一下如何编写自己的拦截器。实现一个拦截器非常简单。实际上,一个拦截器就是一个普通的类,只是这个类必须实现com.opensymphony.xwork2.interceptor.Interceptor接口。  阅读全文

posted @ 2008-05-09 20:14 银河使者 阅读(18633) | 评论 (10)  编辑

J2SE5.0中最有趣的新特性:注释(annotation)
     摘要: 本文将向你介绍J2SE5.0中的新特性之一:注释。本文将从什么是注释;J2SE5.0中预定义的注释;如何自定义注释;如何对注释进行注释以及如何在程序中读取注释5个方面进行讨论。  阅读全文

posted @ 2008-05-09 12:46 银河使者 阅读(3060) | 评论 (6)  编辑

在SQL Server2005中进行错误捕捉
     摘要: 任何程序都可能出现错误,在SQL Server中执行Transact-SQL也不例外。如果在Transact-SQL中发生了错误,一般有两种捕捉错误的方法,一种是在客户端代码(如 c#、delphi等)中使用类似try...catch的语句进行捕捉;另外一种就是在Transact-SQL中利用Transact-SQL本身提供的错误捕捉机制进行捕捉。如果是因为Transact-SQL语句的执行而产生的错误,如键值冲突,使用第一种和第二种方法都可以捕捉,但是如果是逻辑错误,使用客户端代码进行捕捉就不太方便。因此,本文就如何使用Transact-SQL进行错误捕捉进行了讨论。  阅读全文

posted @ 2008-05-09 09:57 银河使者 阅读(1336) | 评论 (0)  编辑

在Tomcat中通过JOTM支持JTA
     摘要: 因为需要将项目从IBM WebSphere Application Server移植到Tomcat上开发,所以研究了一下在Tomcat中通过JNDI查找和使用JDBC及JTA的方法。  阅读全文

posted @ 2008-05-08 10:13 银河使者 阅读(3155) | 评论 (0)  编辑

如何防止覆盖(override)toString方法时产生递归调用
     摘要: 在Java中任何对象都继承于Object类,因此,每个类都有一个toString方法用于返回当前对象的字符串形式(可能是对象地址或其他和对象相关的信息)。在每个类中也可以覆盖toString方法以返回自定义的字符串。  阅读全文

posted @ 2008-05-07 16:07 银河使者 阅读(1965) | 评论 (7)  编辑

在Java中连接字符串时是使用+号还是使用StringBuilder
     摘要: 字符串是Java程序中最常用的一种数据结构之一。在Java中的String类已经重载的"+"。也就是说,字符串可以直接使用"+"进行连接,如String s = "abc" + "ddd";但这样做真的好吗?当然,这个问题不能简单地回答yes or no。要根据具体情况来定。在Java中提供了一个StringBuilder类(这个类只在J2SE5及以上版本提供,以前的版本使用StringBuffer类),这个类也可以起到"+"的作用。那么我们应该用哪个呢?  阅读全文

posted @ 2008-05-07 16:04 银河使者 阅读(25442) | 评论 (15)  编辑

在Spring2.5中定制自己的属性编辑器
     摘要: 在装载Bean时,如果属性类型是复杂类型,如是一个类。在装配时就要先装配这个属性类型(一般为一个类),才能装配Bean,但如果使用了属性编辑器,就可以无需装载属性类型,而直接装载Bean了。  阅读全文

posted @ 2008-05-07 12:21 银河使者 阅读(1718) | 评论 (0)  编辑

java.lang.Object是如何成为默认父类的
     摘要: 经常有Java初学者会问为什么一个没有父类的Java类会自动从java.lang.Object类继承。如下面是一个普通的Java类:
public class Test // 从Object类继承
{
public static void main(String[] args)
{
System.out.println(new Test().toString());
}
}
从上面的代码可以看出,实际上,Test类的父类就是Object,因此,在Test中可以使用Object类的public或protected资源,如toString方法。那么Java编译器和JVM到底是如何做的呢?  阅读全文

posted @ 2008-05-06 15:14 银河使者 阅读(2757) | 评论 (0)  编辑

Struts2教程8:拦截器概述
     摘要: Struts2的拦截器和Servlet过滤器类似。在执行Action的execute方法之前,Struts2会首先执行在struts.xml中引用的拦截器,在执行完所有引用的拦截器的intercept方法后,会执行Action的execute方法。  阅读全文

posted @ 2008-05-04 14:42 银河使者 阅读(15351) | 评论 (6)  编辑