`
nmj1987
  • 浏览: 30305 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
文章分类
社区版块
存档分类
最新评论
文章列表
最近编程序到一个问题,就是要把汉字转换成UTF-8编码。一想到编码,我的头就大了,各种各样的码,转来转去的,为什么就不能统一下呢?闲话少说,其实这种问题看似复杂,但只要找到了合适的类,其它事情小菜一碟了。那么合适的类到底是什么呢?就是URLEncoder和URLDecoder。这两个类使用十分方便,因为它们各自只有一个方法,而且都是静态方法(详细信息参见jdk文档)。下面是我稍加封装后的新类。 import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; ...
今天突发奇想,想用VC做点小东西,顺便把VC复习一下,自从半年前开始用java,vs2005已经很少碰了。于是自己想了个小题目,参考网上的一些资料。做了一个很简单的邮件发送程序。不过程序还有些bug,比如附件稍微大一点就发不全,接收方收到的附件都是损坏的,当然附件很小的话就没有问题了(1、2K就能发过去)自己调试也调试不出问题(感觉是中途丢包了)。下面贴一张图:      
再过两个月就要软考了,在准备的过程中,我发现算法是我的软肋,尤其是递归和回溯,一直不是很明白。最近在书上看了个题目,是迷宫问题。虽然我知道这种问题要采用回溯,反复试探,但具体到代码实现,就力不从心。于是认真阅读了C代码,自认为有点头绪了,就改成java重新实现一下。虽然大致结构没变,但通过自己写,感觉提高了不少。以下是代码: public class Maze { /*迷宫行数*/ public static final int M = 12; /*迷宫列数*/ public static final int N = 15; /*迷宫图,0代表通,1代表不通*/ /*最终解的路径上 ...
网上有个很经典的java32问,其中有一题问java参数传递方式是按值还是按引用,一般答案都说是按值。对此我有一些疑惑,查了相关资料,终于基本弄清楚了。下面是一个测试: public class People { private int age; private String name; publ ...
因为以后信息检索要做个作业,今天正好有空,写了个简单的爬虫,真是不能再简单了。先爬了1000个网页,留作以后处理。 接口:WebPage.java import java.io.File; import java.net.MalformedURLException; /* * 定义了WebPage对象的基本操作 */ public interface WebPage { /**根据网页地址将该网页转换成本地文件*/ public File getPageFile(); /**分析网页的内容 * @throws MalformedURLException */ public ...
今年大三了,人生面临着许多选择。我就读于软件学院,学校是不错的,我本人的成绩还可以,但不是属于特别好的那种。所以不能保外校,只能读软件学院的硕士。软件学院是02年才起家的,目前形势还不错。至少在我们学校,拿本科而言,就业决不逊色于计算机学院。但研究生就不一样了,计算机学院没有330免谈,但我们学院200多的都可以进来。而且这些人都是调剂过来的,实践能力也不行。 本来我决定了保我们学院的研究生,这对我来说是十拿九稳的。但最近我一直在怀疑,我是不是在逃避什么呢?我们学院的几个女生,好多都能保研,但没有一个人保。她们要么直接就业,要么考计算机学院研究生,真的很有魄力。对此,我感到很惭愧。自己连追求自己 ...
上次写的连接池一旦得不到连接就返回null,个人觉得很不合理。稍微改了一下,增加了等待时间。另外,连接池的容量改成了缓慢增加,而不是一下子就翻一倍。 ConnectionPool.java import java.io.FileInputStream; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; import java.util.Vector; public class ConnectionPool { ...
数据库常用操作也就增删改查,其中查有返回结果,而增删改不返回结果。一般用java访问数据库,需要经过以下几个步骤:获得Connection,executeXXX(),释放Connection。而对于executeQuery(),还要依次遍历ResultSet。遍历的代码基本都是相似的,但你又不得不在每一个方法里都重复写。虽然对于小型的项目,Ctrl+C、Ctrl+V也很方便,但这种形式的代码复用绝对不是OO思想所能容忍的。我们要善于运用OO的继承体制真正实现代码的复用。下面的代码中需要用到数据库连接池,其具体代码请参考我的上一篇博客。 DbBean.java import java.sql.Co ...
以前写一些作业性质的网站,在对数据库操作时,都会写一个DBConnection类,用来获取数据库的连接,操作完数据之后,马上释放该连接。这是最简单的方法,但性能上是有很大问题的。比如我曾经用单线程循环1000次数据操作,就会出现异常。这时,使用连接池效果会好不少。下面的代码是在别人基础上稍加修改而来的。 以下是一个数据库连接池,启动时先从属性文件中读出一些参数,并启动最小连接数。有外来请求,就从连接池中移走一个对象。当前连接池大小为0时,参考最大连接数,新建若干个链接。当连接数超出最大限制时,则不再新建连接,这时如果有新的连接请求,而连接池目前又没有空闲的连接的话,那就很抱歉,只能返回空了。(返 ...
   Timer与TimerTask是java中比较常用的类,可以定期重复执行某项任务。以前我还不知道这两个类是,一般用Thread来处理,虽然同样可以解决问题,但效率上可能就差了些。既然java内建了这两个类,那就必然有它们的好处了。    ...
Global site tag (gtag.js) - Google Analytics