Java基础
zerowzj
仰俯天地,呵壁问天,泰然处之。
展开
-
java多态
1. Java中除了static和final方法外,其他所有的方法都是运行时绑定的。在另外一篇文章中说到private方法都被隐式指定为final的,因此final的方法不会在运行时绑定。当在派生类中重写基类中static、final、或private方法时,实质上是创建了一个新的方法。2.在派生类中,对于基类中的private方法,最好采用不同的名字。3.包含抽象方法的类叫做抽象类。注意定义里面原创 2008-04-03 10:07:00 · 466 阅读 · 0 评论 -
线程同步基础知识
我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(Thread)。 线程(Thread)是一份独立运行的程序,有自己专用的运行栈。线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。 当多个线程同时读写同一份共享资源的时候,可能会引起冲突。这时候,我们需要引入线程“同步”机制,即各位线程之间要有个先来后到,不能一窝蜂挤上去抢作一团。 同步这个词是从英文原创 2008-05-15 17:09:00 · 582 阅读 · 0 评论 -
synchronized 锁的实现方法
在 Java 编程中,所有的对象都有锁。线程可以使用 synchronized 关键字来获得锁。在任一时刻对于给定的类的实例,方法或同步的代码块只能被一个线程执行。这是因为代码在执行之前要求获得对象的锁。class CopyMachine { public synchronized void makeCopies(Document d, int nCopies) { /原创 2008-07-18 17:18:00 · 896 阅读 · 0 评论 -
单例模式的经典代码——线程池集合
import java.util.HashMap;/** * 线程池集合类 * 这个类负责在JVM中创建一个唯一的线程池集合, * 集合中有多个线程池,通过ThreadPoolSetCreator去创建 * 这个类采用单例模式实现 * * Copyright: Copyright (c) 2005 * * Company: AsiaInfo.com * * @author Dapple Wa原创 2008-07-18 17:31:00 · 4103 阅读 · 0 评论 -
Java 程序中的多线程
一、为什么会排队等待?下面的这个简单的 Java 程序完成四项不相关的任务。这样的程序有单个控制线程,控制在这四个任务之间线性地移动。此外,因为所需的资源 ― 打印机、磁盘、数据库和显示屏 -- 由于硬件和软件的限制都有内在的潜伏时间,所以每项任务都包含明显的等待时间。因此,程序在访问数据库之前必须等待打印机完成打印文件的任务,等等。如果您正在等待程序的完成,则这是对计算资源和您的时间的一种原创 2008-07-21 11:53:00 · 928 阅读 · 0 评论 -
Java网络编程
课前索引课前思考 1. 什么是TCP/ IP协议? 2. TCP/IP有哪两种传输协议,各有什么特点? 3. 什么是URL? 4. URL和IP地址有什么样的关系? 5. 什么叫套接字(Socket)? 6. 套接字(Socket)和TCP/IP协议的关系? 7. URL和套接字(Socket)的关系?8.1 网络编程基本概念,TCP/IP协议简介8.1.1 网络基础知识原创 2008-05-04 14:40:00 · 641 阅读 · 0 评论 -
Java及相关字符集编码问题研究
1. 概述包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等。在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF编码就是"e4b8ad e69687"。注意,这两个字没有iso8859-1编码,但可以用iso8859-1编码来"表示"。 2. 编码基本知原创 2008-04-29 14:34:00 · 713 阅读 · 0 评论 -
JAVA动态代理实现
在目前的Java开发包中包含了对动态代理的支持,但是其实现只支持对接口的的实现。其实现主要通过是java.lang.reflect.Proxy类和java.lang.reflect.InvocationHandler接口。1、Proxy类主要用来获取动态代理对象,2、InvocationHandler接口用来约束调用者实现,如下,HelloWorld接口定义的业务方法,Hell原创 2008-04-09 10:21:00 · 821 阅读 · 0 评论 -
关于java中的几个问题(转载)
问题一:下面声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。 这个语句声明的是一个指向对象的引用,名为“s”,可以指向类型为String的任何对象,目前指向"Hello原创 2008-04-03 14:41:00 · 470 阅读 · 0 评论 -
HashMap的键值以及键和值的遍历(TreeMap同)
import java.util.Collection;import java.util.Map;import java.util.HashMap;import java.util.Iterator;import java.util.Set;public class HashMapTest { public static void main(String[] args) { Map hash原创 2008-04-03 10:41:00 · 5407 阅读 · 1 评论 -
java是传值还是传引用?(转载)
1. 简单类型是按值传递的 Java 方法的参数是简单类型的时候,是按值传递的 (pass by value)。这一点我们可以通过一个简单的例子来说明: public class Test {public static void test(boolean test) {test = ! test;System.out.println("In test(boolean) : test = "原创 2008-04-03 13:51:00 · 516 阅读 · 0 评论 -
java中字符串倒序方法
import java.lang.StringBuffer;public class API_String { public static void main(String[] args) { String str = "abcd"; // 字符串倒序方法一 char[] ch = str.toCharArray(); StringBuffer sb = ne原创 2008-04-03 10:27:00 · 32700 阅读 · 0 评论 -
对象初始化全过程
/**//* *初始化全过程: * *1, 第一次创建MyClass类的对象,或者第一次访问MyClass的static方法或字段时,Java解释器会搜寻classpath,找到MyClass.class。 *2, 装载MyClass.class后,会对所有的static数据进行初始化。这样第一个装载Class对象的时候,会先进行static成员的初始化。 *3原创 2008-05-13 11:02:00 · 642 阅读 · 0 评论