Java 基础
edison_cool911
这个作者很懒,什么都没留下…
展开
-
ArrayList添加add方法效率
[code="java"]public static void main(String args[]) { int count = 1000000; long start = System.currentTimeMillis(); ArrayList test = new ArrayList(); for (int i = 0; i < count; i++) { ...原创 2013-05-09 19:24:23 · 446 阅读 · 0 评论 -
SimpleDateFormat的常用方法
[code="java"]/** parse()可以 把String型的字符串转换成特定格式的date类型 */ public static void main(String[] args) { String dStr = "2001.12.12-08.23.21"; Date d = null; SimpleDateFormat sdf = new SimpleDate...原创 2011-07-22 10:17:48 · 123 阅读 · 0 评论 -
内部类使用总结(参考白度文献上的文章)
我是一个java基础不太好的人,现在绝大多数人都是利用自己的java知识涉足android,而我发觉我自己是在利用android学习java:所以在下班待在家的时候进一步棍固自己惨兮兮的java:下面要写的是对java内部类学习的部分,希望写在这里跟大家一起分享:1.定义:放在一个类的内部的类我们就叫内部类2.作用: 1.内部类可以很好的实现隐藏 一般的...原创 2011-07-21 22:00:24 · 70 阅读 · 0 评论 -
Socket的学习 二
[size=medium][color=red]Http和Socket连接区别:[/color][/size] 相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过浅显理解能对初学者有所帮助. 1、TCP连接 要想明白Socket连接,先要明白TCP连接.手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无...原创 2010-12-06 21:23:39 · 68 阅读 · 0 评论 -
Socket的学习 一
应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题.多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据.为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字(Socket)的接口,区分不同应用程序进程间的网络通信和连接.生成套接字,主要有3个参数:通信的目的IP地址、使用的传输层...原创 2010-12-06 21:10:38 · 63 阅读 · 0 评论 -
线程和Runnable接口的理解
通过卖票来进行解释:1.ThreadTicket.java:[code="java"]public static void main(String[] args) { // sell1(); sell2(); } public static void sell2() { MyRunnable mt = new MyRunnable(); new ...原创 2011-06-21 11:59:56 · 60 阅读 · 0 评论 -
数组相同元素清理(HashSet)
[code="java"]import java.util.Arrays;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Set;public class ArrayMerge { /** * @param args */...原创 2011-06-10 13:05:21 · 56 阅读 · 0 评论 -
一道笔试题目的算法过程
转贴地址:url [url] http://blog.csdn.net/caowenbin/archive/2011/03/02/6217976.aspx[/url]无论是技术笔试还是面试,通常会要求写一点代码或详细描述程序思路,很多应试者都认为自己的回答还算过得去,但往往还是没有了下文。究其原因,既有对试题的轻视,也有平时没有养成良好的思维习惯。其实无论试题的难易程度...原创 2011-06-08 23:27:30 · 102 阅读 · 0 评论 -
Java中的抽象类和接口的区别
Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者...原创 2011-08-21 08:47:14 · 58 阅读 · 0 评论 -
java接口进一步理解(一)
今天来整理篇关于java接口知识的文章: 首先我们知道,java语言不支持一个类有多个直接的父类(多继承),但可以实现多个接口,间接的实现了多继承.1.接口中的成员变量默认都是public,static,final类型的(都可省略),必须被显示初始化,即接口中的成员变量为常量(大写,单词之间用"_"分隔).2.接口中的方法默认都是public,abstract类型的(都可...原创 2011-07-23 09:47:49 · 85 阅读 · 0 评论 -
java接口进一步理解(二)
抽象类与接口比较:1.抽象类与接口都位于继承树的上层相同点:1, 代表系统的抽象层,当一个系统使用一颗继承树上的类时,应该尽量把引用变量声明为继承树的上层抽象类型,这样可以提高两个系统之间的送耦合2, 都不能被实例化3, 都包含抽象方法,这些抽象方法用于描述系统能提供哪些服务,但不提供具体的实现不同点:1.在抽象类中可以为部分方法提供默认的实...原创 2011-07-23 09:54:34 · 70 阅读 · 0 评论 -
Java多态机制中的绑定规则
[code="java"]package com.example;public class Base { String var = "BaseVar"; // 实例变量 static String staticVar = "StaticBaseVar"; // 静态变量 void method() // 实例方法 { System.out.println(...原创 2011-07-23 10:25:24 · 121 阅读 · 0 评论 -
Java设计模式之组合模式(Composite)
Composite模式定义: 将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性.Composite模式理解: 想到Composite就应该想到树形结构图。组合体内这些对象都有共同接口,当组合体一个对象的方法被调用执行时,Composite将遍历(Iterator)整个树形结构,寻找同样包含这个方法...原创 2012-11-16 11:08:55 · 73 阅读 · 0 评论 -
HashMap用法熟悉
HashMap排列没有按一定规则示例代码:[code="java"]public class HashMaps { public static void main(String[] args) { Map map = new HashMap(); map.put("a", "aaa"); map.put("b", "bbb"); map.put("c&q原创 2012-11-11 23:43:14 · 75 阅读 · 0 评论 -
谈java的导入(import)
单类型导入(single-type-import),例如import java.io.File; 按需类型导入(type-import-on-demand),例如 import java.io.*; 关于这两种导入类型大家各有所爱,众说纷纭。这里分析一下这两种导入类型的大致工作原理供大家参考。 单类型导入比较好理解,仅仅导入一个public类或者接口。而对于按需类型导入,有人误解...原创 2012-06-10 16:53:29 · 115 阅读 · 0 评论 -
TCP和UDP协议理解
我们学习过什么是"数据包",理解数据包,对于网络管理的网络安全具有至关重要的意义.比如,防火墙的作用本质就是检测网络中的数据包,判断其是否违反了预先设置的规则,"协议"栏中有"TCP"、"UDP"等名词,它们是什么意思呢?现在我们就来讲讲什么是TCP和UDP: 面向连接的TCP: "面向连接"就是在正式通信前必须要与对方建立起连接.比如你给别人打电话,必须等线路接通了、...原创 2011-12-04 21:32:10 · 149 阅读 · 0 评论 -
华为的一道面试题
代码如下:[code="java"]package com.ex;public class TestB extends TestA { String string = "TestB var"; public static void main(String[] args) { TestB testB = new TestB(); // testB.init...原创 2011-11-01 10:26:42 · 592 阅读 · 0 评论 -
Java中静态变量的初始化问题
/** * java中的内存有一块地址叫"静态代码区",所有静态类都是放在这里的,静态类随jvm启动后就在那 * * 不会说程序停止了,它就被垃圾回收器回收,而new是实例化的命令,它会在java中的内存中的堆区, * * 创建一个对象,注意它们的位置,一个是在 静态代码区,一个是在堆区,new出来的对象,一旦程序运行完, * * 它就会被垃圾回收器...原创 2011-10-24 11:04:16 · 143 阅读 · 0 评论 -
Java引用了解
正常来说,传统的JAVA引用,如 [code="java"]public void doSomeThing(){ User user = new User(); ... } [/code] 当方法doSomeThing方法结束时,对象user的引用丢失,其所占的空间将由JVM在下次垃圾回收时收回.如果我们将user对象的引用保...原创 2011-10-16 16:29:01 · 59 阅读 · 0 评论 -
java继承复习
[code="java"]package com.edison;public class ExtendAct { /** 先给父类成员变量分配内存空间,然后初始化父类构造方法,接着给子类成员变量分配内存空间,最后初始化子类构造方法 */ public static void main(String[] args) { A b = new B(); /** 2.父...原创 2011-07-24 14:30:30 · 76 阅读 · 0 评论 -
谈谈final, finally, finalize的区别
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。 ...原创 2011-08-20 10:37:57 · 59 阅读 · 0 评论 -
Java中重载和重写的区别
这个问题已经研究了好多遍了,总是忘记,就整理下来加深印象:(1)方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。 (2)Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体...原创 2011-08-20 10:17:25 · 76 阅读 · 0 评论 -
JAVA是如何处理字符的
[size=small] JAVA中的String类是解决字符问题的最好工具。在JAVA里,一个基本的要点是:String类对象是不需要指定编码表的!为什么它会自己知道一堆数字各代表什么字符呢?就是因为String里的字符信息是用UNICODE编码存放的。而JAVA为了表示字符(注意是单个字符),也有char这个数据类型,而且他的大小是固定2个8位16进制数字长度,也就是0~65535。为的...原创 2010-06-23 19:17:45 · 54 阅读 · 0 评论 -
关于 java中各种编码问题
[color=darkred]下面这段文字是从panny1982处转过来的,给大家分享一下:[/color] 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。 再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是...原创 2010-06-21 19:08:34 · 59 阅读 · 0 评论 -
jdk配置
下载好的JDK是一个可执行安装程序,双击安装。将安装路径改为:C:\jdk1.6.0(当然其他路径也可以)。 JDK安装完成之后我们来设置环境变量: 我的电脑点右键,选择“[color=red]属性[/color]”,选择“[color=red]高级[/color]”标签,进入环境变量设置,分别设置如下三个环境变量: (1)设置好path变量,使得我们能够在系统中的任何地方运行...原创 2010-06-20 22:52:41 · 53 阅读 · 0 评论 -
关于java各种数据类型分析
JAVA数据类型分基本数据类型和引用数据类型;1)Java里面包含8个基本数据类型,分别是:byte、short、char、int、float、long、double、boolean1.byte是JAVA中最小的数据类型,它在内存中占8位(8个bit),取值范围从-128到1272.short类型在内存中占2个字节,取值范围从 -32768到327673.char类型在内存中占...原创 2010-06-20 00:07:08 · 174 阅读 · 0 评论 -
java流类的概念理解 二
下面让我们来看一看由JDK提供的所有输入流与输出流的超类InputStream和OutputStream.1.1 InputStream InputStream既是一个抽象类也是所有输入流类的超类.它可以被看作是数据源.一旦输入流被打开,客户程序就可以从流中读取数据了.InputStream按照用途不同可以分为三类,分别是: 1.数据读取 2.流导航 ...原创 2010-12-12 16:00:35 · 96 阅读 · 0 评论 -
Java流类的概念理解 一
JAVA流类:它们定义于JDK的java.io.* 包中内核类 从概念上讲,流就是有序的字节序列.但是,把流看作是"可以依次执行写入与读出操作的数据结构"会更形象.从定义来看,对流的写和读操作是依次进行的(而不是并发执行的),也就是说,客户程序能够逐个字节地依次向流中写入数据或者逐个字节地依次从流中读取数据.需要明确指出的,绝大多数类型的流都不支持"回退"(者说是"后悔")功能,...原创 2010-12-12 15:23:36 · 137 阅读 · 0 评论 -
Filenames and Pathnames
俺的java基础不太好,所以每天都要花时间来熟悉java;将每天学的东西贴上来:1. Constructing a Filename Path [code="java"]String path = File.separator + "a" + File.separator + "b";System.out.println("-----------> "+path);[/co...原创 2010-08-05 23:13:23 · 150 阅读 · 0 评论 -
Java各种面试题目
这个地址集合了相当多的Java面试地址的题目和答案:[url]http://bbs.ldci.com.cn/read.php?tid-6678.html[/url]巨人网络java笔试基础题分享[color=darkred]1、String是最基本的数据类型吗? [/color] 基本数据类型包括byte、int、char、long、float、double、boole...原创 2010-08-04 22:36:50 · 87 阅读 · 0 评论 -
读写流存在的编码问题
下面这段代码是通过从服务器端获取response流,然后解析的片段:[code="java"] StringBuffer sb = new StringBuffer(); HttpEntity entity = response.getEntity(); InputStream is = entity.getContent(); BufferedReader br = ...原创 2010-06-23 19:35:09 · 97 阅读 · 0 评论 -
JSP基本概念学习
由于andorid侧重应用,所以需要用到网络服务器部分,也就不免需要学习下相关知识:1.JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(...原创 2010-06-25 21:29:58 · 114 阅读 · 0 评论 -
DataInputStream与DataOutputStream类的学习
DataOutputStream类提供了3个写入字符串的方法:----public writeChars(String s)----public writeBytes(String s)----public writeUTF(String s)对应的DataInputStream类只提供了readUTF的方法;看了下java视频,也不知道具体怎么解决的,还是先学习下能看...原创 2010-06-26 14:34:55 · 74 阅读 · 0 评论 -
Hashtable和HashMap
2者概念:Hashtable继承自Dictionary类HashMap是Java1.2引进的Map interface的一个实现 2者区别:1)Hashtable不允许将null作为一个entry的key或者value,而 HashMap允许2)Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需...原创 2011-08-20 09:55:45 · 57 阅读 · 0 评论 -
Java中HashCode()理解
先从一个java基础面试的问题开始引入吧:问题:两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 答案:不对,有相同的hash code。下面用我收集的资料说明来分析分析:首先,想要明白hashCode的作用,你必须要先知道Java中的集合。 总的来说,Java中的集合(Collection)有两类,...原创 2011-08-20 09:42:33 · 68 阅读 · 0 评论 -
Java多态性的一个例子
直接上代码吧:1.test.java[code="java"]package cn.com;public class test{ public static void main(String[] args) { A a1 = new A(); A a2 = new B(); B b = new B(); C c = new C(); ...原创 2010-07-04 17:41:24 · 122 阅读 · 0 评论 -
FileReader和FileWriter类的学习
这2个类是与操作字节流的FileInputSream和FileOutputStream类相对应的;用于读写文本数据;这4个类当然也是输入输出流的总括;下面也通过一个例子来熟悉:[code="java"]package cn.com;import java.io.FileNotFoundException;import java.io.FileReader;impor...原创 2010-06-27 13:34:07 · 67 阅读 · 0 评论 -
FileInputStream和FileOutputStream类的学习
这2个类是分别用来创建磁盘文件的输入流和输出流对象,创建FileInputSream实例对象时,指定的文件应该是存在并且可读的.创建FileOutputStream实例对象时,如果指定文件名已经存在,这个文件的内容将被覆盖清除;下面通过一个例子来熟悉这2个类:[code="java"]package cn.com;import java.io.File;import...原创 2010-06-27 13:26:30 · 79 阅读 · 0 评论 -
TCP服务器程序模型的学习(Socket连接进一步理解学习)
服务器如果需要同时跟多个客户端会话,服务器端就需要循环调用ServerSocket.accept()方法进行不断的监听处理;另外如果服务器端程序与每个客户端的会话过程不能互相影响的话,就需要启动多个线程分别处理每个请求下面给个例子(发送一行文本字符,服务器端返回倒序的文本):1.ReverseServer.java文件[code="java"]package cn.com;...原创 2010-06-26 20:37:55 · 74 阅读 · 0 评论 -
字节流和字符流的转换
首先理一下概念:字节流:用于读取一个一个的数据字节(8位),每8位当成一个单元 字符流:用于读取一个一个的数据字符(16位),每16位当成一个单元 InputStreamReader和OutputStreamWriter是用于将字节流转换成字符流读写的2个类,前者可以将一个字节流中的字节解码成字符后读取,后者将字符编码成字节后写入到一个字节流当中;我们应该避免频繁的...原创 2010-06-26 15:38:33 · 81 阅读 · 0 评论