
Java
文章平均质量分 78
DaveeChen
呵呵
展开
-
深入了解JAVA中的equals 和 ==
简介:equals和==都是Object的功能,equals和==都表示比较两个对象的引用是否相等,但是有些类重写了equals方法,使得它比较两个对象的值是否相等,这些重写了equals方法的类有String,Date和所有基本类型的封装类.下面以String类来介绍equals和==.1.equals和== : 判断两个引用是否指向同一对象,即是否指向同一片内存区域....2009-05-20 15:16:12 · 94 阅读 · 0 评论 -
更深入地理解自增自减运算符
public class DeepTest { public static void main(String[] args) { int a = 0; int b = 0; int i = 10; while (i > 0) { i--; a = a++; b = ++b; } System.out.println("a=" + a)...原创 2010-08-20 17:27:28 · 103 阅读 · 0 评论 -
理解+=操作符
今天看到一篇文章(下面给出原文链接),对作者的错误理解予以纠正。http://www.blogjava.net/DoubleJ/archive/2008/03/09/184860.htmlpublic static void main(String[] args) { Object x = "Buy"; String i = "Effective Java!"; x = ...2010-08-23 14:52:36 · 150 阅读 · 0 评论 -
一道Java面试题
有两组字符串,A组["A","B","C"]、B组["B","C","D","E"]1.取A组和B组都有的2.取A组有B组没有的和B组有A组没有的分析:1.意思是要取A组和B组的交集2.意思是要取A组和B组交集以外的元素public class Test { public static void main(String[] args2010-08-25 15:40:25 · 103 阅读 · 0 评论 -
理解TreeSet.add()方法
Set存放不同元素,TreeSet存放不同元素,并且对元素进行排序。Set set = new TreeSet();set.add(new Integer(18));set.add(new String("Bruce")); //Error上面代码有错吗?以上代码会抛出以下异常java.lang.ClassCastException: java.lang.I...2010-08-31 17:35:06 · 608 阅读 · 0 评论 -
理解Socket
服务器端代码:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.ServerSocket;import java.net.Socket;public class Server { public stat...2010-09-03 00:31:34 · 100 阅读 · 0 评论 -
文件上传
我用Excel数据导入来说明文件上传问题<form action="fileupload.do" method="post" enctype="multipart/form-data"> <input type="hidden" name="param" value="excelImport"/> Excel数据导入:&a2010-12-16 09:42:16 · 102 阅读 · 0 评论 -
AOP之Hello World
目标package com.aop.joinpoint;public class Greeting { public void greet() { System.out.print("World"); } public String greetWithParam(String param) { System.out.println("Param is...原创 2010-09-14 23:41:43 · 92 阅读 · 0 评论 -
Java创建对象的四种方法
package test;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.ObjectInputStream;import java.io.Serializable;public class Test implements Serial...2010-12-24 15:10:51 · 105 阅读 · 0 评论 -
ThreadLocal解决线程安全问题
//以下代码存在问题public class ThreadLocalDemo { //private static ThreadLocal<String> tl = new ThreadLocal<String>(); //① private String name; //线程不安全的变量 public String getName() { ...2010-09-25 16:55:58 · 164 阅读 · 0 评论 -
有状态会话Bean(SLSB)和无状态会话Bean(SFSB)的区别(转)
Session Bean:分有状态会话Bean和无状态会话Bean两种,主要目的是提供程序逻辑层;Entity Bean:资料组件,主要目的是提供程序资料; 下面主要对Session Bean讨论 现实中,很多朋友对两种session bean存在误解,认为有状态是实例一直存在,保存每次调用后的状态,并对下一次调用起作用,而认为无状态是每次调用实例化一次,不保留用户信息。仔细...原创 2010-09-26 10:01:59 · 239 阅读 · 0 评论 -
理解并解决GBK转UTF-8奇数中文乱码
最近在做一个反馈功能,把数据反馈到对方公司网站,我公司是GBK编码,对方公司是UTF-8编码。因此,我需要将GBK编码数据转换成UTF-8编码数据,这样对方网站才不会乱码。最简单的方法是将HttpClient的ContentCharset设置为utf-8;如果ContentCharset是gbk并且又不想设置为utf-8,那么就需要将数据转换成UTF-8编码再发到对方网站。 问题出现:GB...2011-06-18 21:29:55 · 1867 阅读 · 0 评论 -
接收任意个字符串的方法
public class MutilStringParamsDemo { public static void main(String[] args) { method(); method("Bruce", "David", "Phil"); method(new String[]{"Yes", "No"}); } /** * 可接收0个或者多个字符...2010-11-10 11:32:50 · 414 阅读 · 0 评论 -
HttpClient请求
一个apache的httpclient简单范本,常用在WebService调用public void httpInvoke(String url) throws HttpException, IOException { HttpClient client = new HttpClient(); client.getParams().setContentCharset("utf-8"...2010-11-24 18:22:37 · 115 阅读 · 0 评论 -
理解重载与重写
今天有个朋友问我重载与覆盖的区别,所以我就写好了发给他。在这贴出来让不明白的软件工程师也看看。 Overload译为重载;Override译为重写或者覆盖;Overload讨论: Java中同一个类不可以有两个相同的方法(方法名、参数类型、参数个数和参数位置都相同)。但可以有方法名相同,参数不同(参数类型、参数个数和参数位置不相同)的方法。这种相同的方...2010-08-20 15:51:55 · 248 阅读 · 0 评论 -
中文字符按拼音排序
java.util.Comparator cmp = java.text.Collator.getInstance(java.util.Locale.CHINA);String[] districts = {"宝山六村","好旺苑", "大华二村", "康泰新城", "月亮湾园", "宝钢八村"};java.util.Arrays.sort(districts, cmp);fo2010-06-01 13:12:07 · 111 阅读 · 0 评论 -
线程并发
进程:表示一个任务。线程:一种比进程更小的执行单位,依附在进程中,多个线程共享一个进程的资源。假设有一项任务是修建一条10公里的马路,需要费用100万元,给某建筑公司修建需要10个月,这可以看作是一个进程;然而我需要更快时间完成这项任务,于是我把这个任务分成子任务由10个建筑公司同时修建,每个公司10万元修建一公里,这可以看作是多个线程。下面是个示例public class...2010-05-25 21:01:08 · 106 阅读 · 0 评论 -
java连接SQL Server 2000 数据库
步骤:1.下载JDBC Driver.进入http://www.microsoft.com/downloads/en/results.aspx?displaylang=en&freeText=sql+server+2000+driver+for+jdbc选择SQL Server 2000 Driver for JDBC SP3 .下载 setup.exe(2.3MB)2.安装下...2009-05-23 23:49:05 · 141 阅读 · 0 评论 -
了解值传递和引用传递
Java中,String、Date、基本类型和基本类型的封装类都是以值的方式参数传递,而其他类型都是以引用的方式参数传递。值参数传递示例: //基本类型 public static void main(String[] args) { int i = 5; counter(i); System.out.println(i); //5 } static void...2010-03-12 22:36:45 · 87 阅读 · 0 评论 -
理解Java对象序列化——Serializable接口
概述:当一个类实现了Serializable接口(该接口仅为标记接口,不包含任何方法定义),表示该类可以序列化.序列化的目的是将一个实现了Serializable接口的对象转换成一个字节序列,可以。把该字节序列保存起来(例如:保存在一个文件里),以后可以随时将该字节序列恢复为原来的对象。甚至可以将该字节序列放到其他计算机上或者通过网络传输到其他计算机上恢复,只要该计算机平台存在相应...2010-03-20 22:31:16 · 192 阅读 · 0 评论 -
Java I/O系统简述
File类:代表文件或者目录,可以操作文件和目录(例如:判断是否存在该文件或者目录,生成该文件或者目录,删除文件)。输入输出类型:1.InputStream和OutputStream类型:原始Java I/O流类(InputStream和OutputStream)是面向字节的类库,仅支持8位字节流,不太好处理16位的Unicode字符。2.Reader和Writer类型:...2010-03-20 22:53:12 · 93 阅读 · 0 评论 -
理解String的compareTo()方法返回值
前言:今天浏览网页时看见有人对String类的compareTo()方法的返回值感到疑惑不解,所以我写了这篇文章,希望能帮助这些有疑惑的人.compareTo()的返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至...2009-06-17 09:56:26 · 1105 阅读 · 0 评论 -
MD5加密
import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/** * Encodes a string using MD5 hashing * * @author Rafael Steil * @version $Id: MD5.java,v 1.7 2006/08...原创 2010-05-07 17:11:03 · 172 阅读 · 0 评论 -
日期格式转换
日期类型转换String needFormatedDate = "10/May/2010";java.text.SimpleDateFormat formatFrom = new java.text.SimpleDateFormat("dd/MMM/yyyy",java.util.Locale.US);java.text.SimpleDateFormat formatTo = new ...原创 2010-05-12 17:47:15 · 113 阅读 · 0 评论 -
获取properties配置文件信息
import java.io.IOException;import java.io.InputStream;import java.util.Properties;import java.util.Set;import java.util.Map.Entry;public class ParseFile { public static void main(String[] ...2010-08-10 11:32:09 · 120 阅读 · 0 评论 -
理解继承
这个例子涉及到继承与多态的知识,先看看这个例子的输出是否是你的预期。class Parent {}class Son extends Parent {}class Sub1 { public void fn(Parent P) {System.out.println("Sub1");}}class Sub2 extends Sub1 { public void fn...2010-08-10 11:52:25 · 107 阅读 · 0 评论 -
Java抓区网页信息
形式像下面这样String content = "";HttpURLConnection conn = null;try { conn = (HttpURLConnection) (new URL(url).openConnection()); BufferedReader reader = new BufferedReader(new InputStreamRea...2010-05-18 15:55:22 · 92 阅读 · 0 评论 -
Java反射
package com;interface Food {}public class Fruit implements Food { private int weight; String name; protected int size; public String color; private void grow() {} public static voi...2010-05-23 10:25:57 · 115 阅读 · 0 评论 -
了解枚举
为了了解枚举,先利用反射分析一下它import java.lang.reflect.*;//定义枚举enum Car { FORD,NISSION,BMW}public class EnumAnalyze { public static void main(String[] args) { System.out.println("Superclass:...2010-05-23 19:05:43 · 109 阅读 · 0 评论 -
暴露属性不安全?
我们在看书的时候常常看到书上说暴露属性不安全,那么请问下哪里不安全呢?不安全在何处呢? 上网查了些资料,似乎看不出网上说的那些有何不安全。 IBM网站的一篇文章(您的 Java 代码安全吗 — 还是暴露在外?-->限制对变量的访问)写道:因为变量为 public 的,所以它暴露了。将其改成以private修饰,用get/set赋值的方式来使之安全的代码。文章链接:http:/...2010-08-17 20:19:56 · 281 阅读 · 0 评论 -
GBK编码转成UTF-8编码
从GBK编码转成UTF-8编码private String gbk2utf8(String gbkText) { char[] c = gbkText.toCharArray(); byte[] fullByte =new byte[3*c.length]; for (int i=0; i<c.length; i++) { int m =...2010-12-03 15:49:28 · 245 阅读 · 0 评论