
J2SE Technology
文章平均质量分 57
start_java
这个作者很懒,什么都没留下…
展开
-
JAVA学习中应该注意的一些简单问题?
第一,谈谈final, finally, finalize的区别。 final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为fi原创 2005-06-27 02:10:00 · 900 阅读 · 0 评论 -
Java 的package 機制
Java 的package 機制,是每一位學習Java 的人都必須突破的門檻,所以接下來我們將就這個議題做深入討論,底下假設您剛裝好Java 2 SDK 於d:/jdk1.3.0_01 目錄之中,而且沒有修改任何的環境變數(請使用指令:echo%CLASSPATH%,看看CLASSPATH 這個環境變數是否已經設定,如果該環境變數已經被設定了,那麼您的測試結果將會和底下的測試結果有所不同)。接著我原创 2005-08-04 13:01:00 · 961 阅读 · 0 评论 -
Java内存泄露问题分析
Java内存泄露问题分析 作者:csdn 来源:csdn很多人在谈论内存泄露问题,当然对于c/c++来说,这个应该是老掉牙的问题,但是很多Java人员也越来越多得讨论这个问题,我这里写个小结,希望对大家有一定的参考价值。 内存泄漏的慨念 1.c/c++是程序员自己管理内存,Java内存是由GC自动回收的。 我虽然不是很熟悉C++,不过这个应该没有犯常识性错误吧。 2.什么是内存泄露?原创 2005-08-05 15:31:00 · 1376 阅读 · 0 评论 -
对Final的一点认识
对Final的一点认识在编程的过程中,我们总是会遇到final关键字,那么我们对final怎么理解呢,下面是我的一点粗浅认识,和大家共享。package zy.pro.jbd.demo; public class FinalDemo { final int numInt1=16; final String str="zy"; final String str1; 注原创 2005-09-07 18:52:00 · 1130 阅读 · 0 评论 -
构造器
构造器和方法的区别 摘要要学习Java,你必须理解构造器。因为构造器可以提供许多特殊的方法,这个对于初学者经常混淆。但是,构造器和方法又有很多重要的区别。我们说构造器是一种方法,就象讲澳大利亚的鸭嘴兽是一种哺育动物。(按:老外喜欢打比喻,我也就照着翻译)。要理解鸭嘴兽,那么先必须理解它和其他哺育动物的区别。同样地,要理解构造器,那么就要了解构造器和方法的区别。所有学习java的人,尤其是对那些要认原创 2005-09-07 18:53:00 · 1343 阅读 · 1 评论 -
超级简单的 Socket
服务端 Server.javaimport java.io.*;import java.net.*;public class Server { public static final int PORT = 8080; //指定服务器监听端口 public static void main(String[] args) throws原创 2005-09-07 18:54:00 · 1219 阅读 · 0 评论 -
【经典推荐】每个初学者都应该搞懂的问题!
对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于优快云的经典老贴。问题一:我声明了什么!String s = "Hello world!";许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的原创 2005-09-07 18:56:00 · 1180 阅读 · 0 评论 -
《通过重构实现模式》读书笔记
《通过重构实现模式》读书笔记作者: Joshua Kerievsky1. 模式是面向对象设计的基石,而测试为先的程序设计和毫不留情的重构又是渐进式设计的基石。 为了避免过度设计或者设计不充分,应该权衡使用这些编程实践,并按照需要不断发展变化。2. 随着设计技术的提高,我发现自己使用模式的方式渐渐不同了:我开始“通过重构实现模式(refactoring to patterns)”,而不是在原创 2005-09-21 06:53:00 · 1958 阅读 · 0 评论 -
《Thinking in Java》读书笔记(一)
第一章 对象导论1. 面向对象的一些基本概念 接口:每个对象都有接口。 封装:隐藏实现细节。 聚合:重复运用实现代码。 【注】aggregation和composition的区别可以参看UML定义 集成:重复运用接口。 多态:后期绑定(late binding)是它的基础。 【注】late binding也叫dynamic bin原创 2005-09-21 06:41:00 · 1640 阅读 · 0 评论 -
Java中static、this、super、final用法
一、static 请先看下面这段程序: public class Hello{ public static void main(String[] args){ //(1) System.out.println("Hello,world!"); //(2) } } 看过这段程序,对于大多数学过Java 的从来说,都不陌生。即使没有学过Java,而学过其它的高级语言原创 2005-09-11 00:44:00 · 1368 阅读 · 0 评论 -
《Thinking in Java》读书笔记(二)
第二章 万事万物皆对象一. Reference是操控对象的钥匙。 Java中的Reference可以大致理解为C++中的Reference,但是注意Java中都是pass by value,而C++的Reference则并非如此。 【注】在C++中Reference != Pointer,主要区别如下: (1)看上去就不一样,Pointer用->,Reference用.;原创 2005-09-21 06:43:00 · 1823 阅读 · 0 评论 -
对Java克隆方法的研究(一)
Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,本文会试图澄清这一概念。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。本文会让你了解什么是影子clone与深度clone,认识它们的区别、优点及缺点。 看到这个标题,是不是有点困惑:Java语言明确说明取消了指针,因为指针往往是在原创 2005-09-25 10:56:00 · 1310 阅读 · 0 评论 -
Java中的Class Loader
Java的ClassLoader Java中的ClassLoader采用Delegation机制。即每一个ClassLoader都有自己的Parent Class Loader,当从一个Class Loader中加载一个Class时,会先到当前ClassLoader的Parent中寻找该Class是否已经被加载,如果是,则从其Parent Class Loader中得到Class的Instance原创 2005-09-25 11:04:00 · 1700 阅读 · 0 评论 -
Java 中子类是否只继承父类的非私有变量和方法?
今天在 优快云 论坛中见到有人问在 Java 中子类是否只继承父类的非私有变量和方法(原贴在此)。大部分跟贴都认为这句话是正确的,但是对于这个问题背后的本质理解却是错误的。首先我们明确一下“继承”一词的概念,在 Java 中,继承一词的意义是有限制的。一个子类只能继承其父类的可访问的成员,并且该子类没有覆盖或者说隐藏父类中的那些可访问成员。所以,一个类的成员就是指在这个类中所声明的属性和方法,再原创 2005-09-25 11:17:00 · 3934 阅读 · 4 评论 -
抽象类和接口的区别
在 Java 中,接口用于定义一种必须具有的形式,但实际上又不提供任何方法的实现。在这个方面,有点和抽象类类似——抽象类要求程序员按照抽象方法所规定的相同的方式对之进行扩展(extend)。两者的不同之处在于:1. 抽象类是一个不完整的类,需要进一步细化;而接口只是一个行为的规范。2. 接口基本不具备继承的任何基本特点,它只是承诺了能够调用的方法。3. 一个类一次可以实现多个接口,但是只能继承一个原创 2005-09-25 11:11:00 · 2771 阅读 · 0 评论 -
初識JAVA
Java告诉我说:世间万物皆为对象!于是,我不断的在互联网Search,以更新我的QQ列表;然后以代码复用技术重复着那一经典:Hello!终于,当我在QQ的多线程间频繁切换时,我以为,我已经持有了对象。但一天,某Class对我说:你不是我的对象!这一刻,我心头只有一种形态:这种异常应该在执行期前得以清理。所以,我至今仍象没有分配到执行权饥饿的线程,苦苦思索生活与设计的模式;直到我领悟到Java的通原创 2005-08-04 13:03:00 · 1017 阅读 · 0 评论 -
每个java初学者都应该搞懂的问题!
对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于优快云的经典老贴。问题一:我声明了什么!String s = "Hello world!";许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的原创 2005-07-27 10:38:00 · 885 阅读 · 0 评论 -
多线程学习初步
import java.io.*;//多线程编程public class MultiThread {public static void main(String args[]){System.out.println("我是主线程!");//下面创建线程实例thread1ThreadUseExtends thread1=new ThreadUseExtends();//创建thread2时以实现了R原创 2005-06-27 02:18:00 · 752 阅读 · 0 评论 -
Class Loading ---(类装载机制,开发者不得不知道的故事) --下篇
如何构造使用自定义的ClassLoader既然自定义的ClassLoader,能解决上述问题,那接下去看看,我们如何来使用自定义的ClassLoader。结合本文种的原码---(在differentversionspush的目录里),有个FileSystemClassLoader,类图描述如下:图9. 看看他的方法 findClassBytes(String className); publ原创 2005-06-27 01:18:00 · 1236 阅读 · 0 评论 -
【转载】关于接口的教程
很多初学者都对接口的用处非常疑惑,我也曾经苦思冥想了很久,终于悟出来了。除了要告诉大家接口的知识之外我也想建议大家遇到问题自己多多思考,这样才能比较牢固的掌握,多看看现有的资料,我是通过一些设计模式的资料摸到蛛丝马迹的。好,言归正传。接口究竟有什么用?他的应用主要是在设计模式领域,当然了,这样说可能有点偏颇,因为接口的作用其实是提供你 在不改动原有代码的基础上 增加、改变类的功能。那么为什么在设计原创 2005-06-21 21:15:00 · 1275 阅读 · 0 评论 -
【原创】Java-结构方法
class One{public One(String str){System.out.println(str);}}class Two{One one_1 = new One("one-1");One one_2 = new One("one-2");static One one_3 = new One("one-3");public Two(String str){System.out.pri原创 2005-06-25 14:00:00 · 1869 阅读 · 0 评论 -
实现Java与C语言接口
第一步:声明本地变量 例如:class NativeHello{ public native void nativeHelloWorld(); static{ System.loodlibrary("nativeTest");//调用nativeTest.dll库文件 } } 第二步:生成头文件 先用javac编译NativeHello.java,再用jav原创 2005-06-26 23:22:00 · 869 阅读 · 0 评论 -
深入abstract class和interface (1)
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。其实,两者之间还是原创 2005-06-27 01:05:00 · 789 阅读 · 0 评论 -
深入abstract class和interface (2)
其他具体的Door类型可以extends使用abstract class方式定义的Door或者implements使用interface方式定义的Door。看起来好像使用abstract class和interface没有大的区别。如果现在要求Door还要具有报警的功能。我们该如何设计针对该例子的类结构呢(在本例中,主要是为了展示abstract class和interface反映在设计理念上的区原创 2005-06-27 01:06:00 · 778 阅读 · 0 评论 -
Class Loading ---(类装载机制,开发者不得不知道的故事) --上篇
也许你认为Class Load是一个高级话题,不管怎样,作为开发者你还是要了解它。 本文基于最新得JDK5,然后将将诉的内容都包含了最基本的原理,希望你能更加深入了解自己所使用得语言。 理解CLassLoader 如果你自己定义叻一个 org.test.Object 。你在程序中这样写:import ort.test.ObjectObject o = new String(); 也许你欣然以为这原创 2005-06-27 01:14:00 · 1112 阅读 · 0 评论 -
Class Loading ---(类装载机制,开发者不得不知道的故事) --中篇
我们是否需要自定义的ClassLoader? 理由之一: 如果我们自定义了ClassLoader,那我们便可以控制JVM的加载动作了。 上面说一个class标识是由于package+classname组成得。 对于所有实现java.io.Serializable接口得类, 由serialVersionUID管理这些类得版本(RMI,JNDI,Security里都有这样一个ID)原创 2005-06-27 01:16:00 · 863 阅读 · 0 评论 -
仔细触摸Java编程中的“文档”和“包”
什么是包 Java中的包(Package)其实指的就是目录,它是为了更好地管理Java类(Class)和接口(Interface)。Java语言的包可以被另一个Java开发包所使用。如果我们要引用某个包中的类,用import关键字来标明即可。比如: import java.util. date=new Date 提示:import java.util.表示java.uti原创 2005-06-27 01:24:00 · 767 阅读 · 0 评论 -
Java多线程程序设计
一:理解多线程多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。 线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。如果系统只有一个C原创 2005-06-27 01:25:00 · 864 阅读 · 0 评论 -
Java基础之关键字
Java基础之关键字呵呵,不管别的,来几条题目先,作对了你牛^_^ 1, which of the following are keywords or reserved words in java? a) if b)then c)goto d)wh原创 2005-06-27 02:43:00 · 999 阅读 · 0 评论 -
【原创】移位运算
对于一个Java程序,其运行的效率是十分重要的。而我们往往写好一个程序都要对代码进行优化。本文主要以移位运算来代替算术运算,从而提高运行的效率。移位运算:左移一位相当于十进制数乘以2,右移一位相当于除以2,左移2位相当于乘以2的平方。 8 4 16例:1000=100=10000 右移 左移因为移位运算比乘除运算的执行速度要快,所以使用移原创 2005-07-11 22:59:00 · 1446 阅读 · 0 评论 -
【原创】区分"=="与equals()
今天整理了一下前段时间学习做的笔记,希望对大家有帮助!"=="判断的是两个变量是否引用同一个对象,而equals()比较的是内容,equals()是String里的方法。对象相同:简单地说就是内存里有一个对象,但有两个变量都是指向它,就象一个人有两个名字但是同一个人。所以它的内部结构也就相同,不会出现一个对象不同值的现象。使用euqals()返回true的两个变量,用"=="可能返回false。因原创 2005-07-11 22:40:00 · 1336 阅读 · 0 评论 -
通过实验看 Java 中私有成员是否能被继承
关于 Java 中,子类能不能继承父类中的私有成员的问题,似乎颇有争议。在 SUN 授权 Java Language Specification 一书中,作者认为子类可以继承父类的私有成员,只是不能访问罢了。我们知道,子类可以通过声明具有相同名字的属性来覆盖掉从父类中继承而来的相应属性,也可以声明具有相同名字相同签名的方法来覆盖掉从父类中继承而来的相应方法。也就是说,如果子类可以从父类中继承私有成原创 2005-09-25 11:21:00 · 2748 阅读 · 2 评论