【爪哇归来】
itm_hadf
这个作者很懒,什么都没留下…
展开
-
GBK GB2312 UTF-8 区别于联系
首先 运行 一段程序: public static void main(String[] args) throws IOException{ System.out.println("徐".getBytes("UTF-8").length); System.out.print原创 2012-03-23 16:11:46 · 1105 阅读 · 1 评论 -
用于学习 Java 集合的 小例子(ArrayList,map)
package com.itm.arraylist;import java.util.Arrays;import java.util.List;public class ArrayList { /** * @param args */ @SuppressWarnings("unchecked") public static void main(String[] args)原创 2012-03-26 17:11:43 · 1650 阅读 · 0 评论 -
java.lang.Comparable 接口 详解
public interface Comparable此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比较方法。实现此接口的对象列表(和数组)可以通过 Collections.sort(和 Arrays.sort)进行自动排序。实现此接口的对象可以用作有序映射中的键或有序集合中的元素,无需指定比较器。对于类 C原创 2012-04-06 16:21:09 · 17948 阅读 · 0 评论 -
从JVM内存管理的角度谈谈静态方法和静态属性 和 java对象引用与JVM自动内存管理
试着从JVM的内存管理原理的角度来谈一下静态方法和静态属性的问题,不对的地方请指正。 (joezheng123.javaeye.com/blog/264695)JVM的内存分为两部分:stack和heap :stack(栈)是JVM的内存指令区。stack管理很简单,push一定长度字节的数据或者指令,stack指针压栈相应的字节位移;pop一定字节长度数据或者指令,stack指针转载 2012-03-22 15:12:32 · 4270 阅读 · 2 评论 -
经典 求 两个 日期间的间隔。。。
注明:如果想要看两日期间隔天数,则直接跳到"五";前面为预备知识;一、需要使用的类(1)java.util.Date;(2)java.util.Calendar;(3)java.util.GregorianCalendar;(4)java.text.SimpleDateFormat;二、Date的用途Date由于基本已经过时,现在所能使用转载 2012-03-22 17:04:33 · 661 阅读 · 0 评论 -
(1)传统线程技术回顾
1,java中线程的创建可以有两种方法:1、继承Thread类 2、实现Runnable接口两者区别:(1)、继承Thread类创建线程的方法, 在继承了Thread类之后, 不能再继承其他的方法, (在java中支持单继承),这样灵活性就不如实现Runnable接口来创建线程的方法了;(2)、使用实现Runnable接口来创建线程可以达到资源共享!(继承Thread类原创 2012-04-10 13:21:25 · 893 阅读 · 0 评论 -
(8)java5线程 Callable与Future的应用
Callable和Future Callable接口定义了一个call方法可以作为线程的执行体,但call方法比run方法更强大: A、call方法可以有返回值 B、call方法可以申明抛出异常 Callable接口是JDK5后新增的接口,而且不是Runnable的子接口,所以Callable对象不能直接作为Thread的target。而且ca原创 2012-04-19 22:03:05 · 1416 阅读 · 0 评论 -
(11)java5的Semaphere、CyclicBarrier同步工具
java.util.concurrent 类 Semaphorejava.lang.Object java.util.concurrent.Semaphore所有已实现的接口: Serializable public class Semaphoreextends Objectimplements Serializable一个计数信号量。从概念上讲,信号量维护了原创 2012-04-24 21:02:12 · 825 阅读 · 0 评论 -
(12)java5的CountDownLatch、Exchanger同步工具
【1】CountDownLatchjava.util.concurrent 类 CountDownLatchjava.lang.Object java.util.concurrent.CountDownLatchpublic class CountDownLatchextends Object一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程原创 2012-04-24 22:00:15 · 891 阅读 · 1 评论 -
关于 文件操作 【JAVA_IO】的学习与总结。
BufferedWriter java.io 类 BufferedWriterjava.lang.Object java.io.Writer java.io.BufferedWriter所有已实现的接口: Closeable, Flushable, Appendable public class BufferedWriterextends W原创 2012-04-01 14:18:52 · 1070 阅读 · 0 评论 -
java 浅克隆与深克隆
Java的对象都是引用,当将一个对象赋值给另外一个对象的时候, 也就是说指针(当然,java没有指针的概念)同指向同一块内存地址。 这个时如果对一个对象进行修改,也必然会修改另外一个对象的值,这明显不是我们想要的. 解决这个问题,可以引入克隆技术,我们可以克隆一个对象出来,使得对克隆出来的对象修改不会改变原始对象的值。 克隆分为:浅克隆和深克隆原创 2012-04-26 12:08:59 · 2451 阅读 · 6 评论 -
想提高开发效率吗? 记一下吧。Eclipse快捷键大全(转贴)
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对原创 2012-04-26 22:26:53 · 734 阅读 · 0 评论 -
测验下你的java功底 经验与细节
package com.j2se;public class WarmingTest { public static void main(String[] args) { // 对于错将=写为==的情况,则该表达式为等号右边的值 String str1 = new String("AB"); String str2 = new String("ABC"); str1 = str原创 2012-04-26 22:35:52 · 796 阅读 · 0 评论 -
java break,continue,return 使用。【借鉴与改编】
使用break 退出循环 可以使用break 语句直接强行退出循环,忽略循环体中任何其他语句和循环条件测试。在循环中遇到break语句时,循环被终止,程序控制在循环后面语句重新开始。例如 如果for 循环被设计为从 0执行到99,然后输出0到99这些数字,但是当i等于10时,break语句终止程序。所以程序只会输出0到10。在一系列嵌套循环中使用break 语句时,它将原创 2012-04-26 20:18:04 · 1438 阅读 · 0 评论 -
java 类方法和实例方法 以及 类变量和实例变量 各种区别
我们已经知道类体中的方法分为实例方法和类方法两种,用static修饰的是类方法。二者有什么区别呢?当一个类创建了一个对象后,这个对象就可以调用该类的方法。当类的字节码文件被加载到内存时,类的实例方法不会被分配入口地址,当该类创建对象后,类中的实例方法才分配入口地址,从而实例方法可以被类创建的任何对象调用执行。需要注意的是,当我们创建第一个对象时,类中的实例方法就分配了入口地址,当再创建原创 2012-04-28 12:49:12 · 10186 阅读 · 0 评论 -
java集合框架(1) hashMap 简单使用以及深度分析
java.util 类 HashMapjava.lang.Object java.util.AbstractMap java.util.HashMap类型参数:K - 此映射所维护的键的类型V - 所映射值的类型所有已实现的接口: Serializable, Cloneable, Map 直接已知子类: LinkedHashMap, Prin原创 2012-04-25 13:00:13 · 3813 阅读 · 1 评论 -
java 动态绑定 以及 内部实现机制
程序绑定的概念: 绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动态绑定;或者叫做前期绑定和后期绑定。 (1)静态绑定: 在程序执行前方法已经被绑定,此时由编译器或其它连接程序实现。例如:C。 针对java简单的可以理解为程序编译期的绑定;这里特别说明一点,java当中的方法只有final,static,pri原创 2012-04-28 12:25:38 · 2073 阅读 · 0 评论 -
java 异常 【2】
1. 异常是指程序在运行时发生的错误或不正常的状况。在不支持异常处理的计算机语言中,这些状况需要又程序员进行检测和处理。 异常类在java.lang包中。 根据错误性质可将运行错误分为两类:致命性的错误(Error)和非致命的异常(exception)。2.编程错误的分类ü 编译错误(compilation error)ü 逻辑错误转载 2012-04-29 23:11:54 · 1297 阅读 · 0 评论 -
java网路编程【1】 TCP与UDP 区别与比较
第一种解释:TCP和UDP都是传输层协议TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它原创 2012-04-30 21:32:17 · 2346 阅读 · 0 评论 -
java网络编程【2】 基于Socket的java网络编程(含实例)
1,什么是Socket网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。Socket通常用来实现客户方和服务方的连接。Socket是TCP/IP协议的一个十分流行的编程界面,一个Socket由一个IP地址和一个端口号唯一确定。但是,Socket所支持的协议种类也不光TCP/IP一种,因此两者之间是没有必然联系的。在Java环境下,Sock原创 2012-04-30 22:03:49 · 1401 阅读 · 1 评论 -
再学java基础(4)Object流、Serializable序列化、transient
import java.io.*;public class TestObjectIO { public static void main(String args[]) throws Exception { T t = new T(); t.k = 8; // k 原来是 15,现在 改成 8 了。 FileOutputStream fos = new FileOutputStr原创 2012-04-03 21:12:53 · 1687 阅读 · 0 评论 -
java 网络编程【4】 TCP详解及其相关实例
(1)简单的TCP服务程序。(2)TCP服务器程序模型的编写要点(3)TCP网络程序的工作原理public class TcpServer { /** * @param args * @throws Exception */ public static void main(String[] args) throws Excepti原创 2012-05-01 20:01:21 · 1119 阅读 · 0 评论 -
java 接口(Interface)与 抽象类(abstract class)
在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 抽象类往往用来表征我们在对问题领域进行分析、 设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象,我们不能把它们实例化(拿不出一个具体的东西)所以称之为抽象。 比如:我们要描述“水果原创 2012-04-24 15:46:38 · 1198 阅读 · 0 评论 -
再学 iava基础(4)重载,重写,super,this,final关键字。
一:重载,:重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。 (2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给原创 2012-04-02 13:58:20 · 1303 阅读 · 1 评论 -
再学java基础(9)一个 递归 的树形。
package com.j2se;import java.io.File;public class FileList { /** * @param args */ public static void main(String[] args) { File f = new File("d:/A"); tree(f); // 调用该方法。 } private st原创 2012-04-04 17:37:34 · 1334 阅读 · 1 评论 -
再学java基础(8)【 异常 】 (借鉴)
一些基础知识:1.try代码段包含可能产生例外的代码;2.try代码段后跟有一个或多个代码段;3.每个catch代码段声明其能处理的一种特定的异常并提供处理的方法;4.当异常发生时,程序会终止当前的流程,根据获取异常的类型去执行相应的catch代码段,有多个符合条件的catch时,只执行第一个;5.finally段的代码无论是否发生异常都会执行。6.在一个try语句块中原创 2012-04-03 21:53:45 · 1003 阅读 · 0 评论 -
再学 JAVA基础(5)对象转型,多态。【子类对象的实例化过程】
多态性是通过: 1 接口和实现接口并覆盖接口中同一方法的几不同的类体现的。2 父类和继承父类并覆盖父类中同一方法的几个不同子类实现的. 一、基本概念 多态性:发送消息给某个对象,让该对象自行决定响应何种行为。通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用。java 的这种机制遵循一个原则:当超类对象引用变量引用子类对象时,原创 2012-04-02 17:35:47 · 1659 阅读 · 0 评论 -
再学Java基础(1)标识符,变量,数据类型。
工作了半年多了,虽然 在工作中 j2se 的知识用到的不多,因为是做的 企业级的开发。但是,与同事平时聊天,以及在工作中遇到了问题,才发现 自己的Java基础不是很强大,突然感觉到:自己是喜欢Java的,有打算做好Java这一块,所以,必须要把 java的基础 扎实了,就像是 练功夫一样,连马步都扎不稳 ,内功都练不好,怎么走的高和远。也会联想到,从自己接触Java以来的,到现在的原创 2012-03-24 21:54:15 · 1388 阅读 · 2 评论 -
再学Java基础(2)标识符,变量,数据类型。以及 if与for语句
这部分 为 java基础的理论部分,明白以及理解会用就可以了。特别注意for:先执行表达式1,在执行表达式2,然后 执行语句,再然后 执行表达式3.特别是 在执行表达三的时候 要根据题目或需求灵活应用。不要只知道:i++,还要知道:i+=2,i++,i++等等。关于:jdk1.5的for 今后 再说。敬请期待,呵呵。在算术运算符部分,需要特别注意的一个语法现象是“晋升”。晋升指原创 2012-03-25 19:45:54 · 1243 阅读 · 0 评论 -
java高新技术【3】(枚举总结)
【1】枚举·一:为什么要有枚举 (1)问题:定义星期几或性别的变量,该这么定义? 假设用1-7分别表示星期一到星期日,但有人可能会写成int weekday =0; (2) 枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错。枚举可以让编译器在编译时.就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标。原创 2012-04-03 15:00:11 · 905 阅读 · 0 评论 -
(4)传智播客_张孝祥_线程范围内共享变量的概念与作用
package com.itm.thread;import java.util.Random;public class ThreadScopeShareData { private static int data = 0;//定义一个全局变量。 public static void main(String[] args) { for(int i=0;i<2;i++){ //原创 2012-04-18 10:33:34 · 4286 阅读 · 0 评论 -
java中【 return和finally 】问题!【借鉴与改编】
public class TestException { public static void main(String[] args) { System.out.print(tt()); } public static int tt() { int b = 23; try { System.out.println("yes"); return b += 88;原创 2012-04-25 17:13:38 · 1125 阅读 · 0 评论 -
【经典】用栈和堆来理解 String。好文章:String 必须要理解!!!
一、两种实例化方式:String str = “abc”;String str = new String("abc");一个字符串就是String的匿名对象。"hello".equals(str) 一个字符串能够调用一个函数,可以看出,一个字符串是String的匿名对象。二、比较(1)直接赋值String str = “abc”;表示一原创 2012-03-27 13:25:16 · 2712 阅读 · 4 评论 -
java 网络编程【3】 UDP详解及其相关实例
【1】网路编程的基础知识【2】Socket讲解:上图为:Socket传递数据。UDP的几个方法java.net 类 DatagramPacketjava.lang.Object java.net.DatagramPacketpublic final class DatagramPacketexte原创 2012-04-30 22:28:07 · 1454 阅读 · 0 评论 -
Java高新技术【1】 (静态导入-可变参数-增强for循环-基本数据类型的自动拆箱与装箱)
(1)静态导入·import 语句可以导入一个类或某个包中的所有类。·import static语句导入一个类中的某个静态方法或所有静态方法静态导入与编译器语法设置: import 可以导入一个类或者一个包下的所有的类,而import static 可以导入某个类中的一个静态方法或所有的静态方法。 我们调用静态方法都是 类名.方法的方式进行调用,有了import原创 2012-03-30 16:04:32 · 1482 阅读 · 0 评论 -
java StringUtil 工具类
int indexOf(int ch,int fromIndex)函数:就是字符ch在字串fromindex位后出现的第一个位置.没有找到返加-1eg:String str="a2dfcfar1bzvb"; System.out.println(str.indexOf(97,2)); :从第2个位置开始数(从零开始计数),找到了a,然后计算一下:a在整个字符串中的位置。原创 2012-03-25 20:01:37 · 3290 阅读 · 2 评论 -
java 资源包(ResourceBundle) 详解【1】
java.util 类 ResourceBundlejava.lang.Object java.util.ResourceBundle直接已知子类: ListResourceBundle, PropertyResourceBundle -----------------------------------------------------------------原创 2012-03-15 11:28:26 · 2099 阅读 · 0 评论 -
java 资源包(ResourceBundle) 详解【2】
java.util 类 ResourceBundle.Controljava.lang.Object java.util.ResourceBundle.Control正在封闭类:ResourceBundle public static class ResourceBundle.Control extends ObjectRes原创 2012-04-26 17:17:48 · 3284 阅读 · 0 评论 -
java 网络编程【6】 用UDP编写网络聊天程序 以及 TCP编程实例
输入内容后,按回车键即可。import java.awt.BorderLayout;import java.awt.Frame;import java.awt.List;import java.awt.Panel;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.A原创 2012-05-02 20:42:12 · 1744 阅读 · 1 评论 -
java 网络编程【5】 完善的TCP服务器程序模型(一个实例)
题目:代码如下:package com.HM.tcp;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;/** (1) 利用 start 命令 启动三个线程。 (2) 利用 telnet 127.0.0.1 2008 (3) 输入 任意字符串。 按回原创 2012-05-01 20:10:22 · 2251 阅读 · 0 评论