随笔分类 - JAVA
摘要:方法只能改变引用类型的值,而不能改变引用类型的地址和基本类型的值。也就是说方法只能改变堆内存中的值,而不能改变栈内存中的值。实例变量都是保存在堆内存里的。不管是引用类型还是基本类型。所有的引用类型的值都是保存在堆内存里的。特别注意:对基本类型是passbyvalue,而对引用类型则是passbyref.例如:public class TestReference { int i = 5; int j = 6; A a = new A(); public void changeIJ(int m, int n) {// 试图改变基本类型的参数的值 int ...
阅读全文
摘要:从大的范围来讲,Java中的数据类型就分为两种:基本类型和引用类型,前面已经对基本类型(也称为主数据类型)进行了讲解,下面我们再来理解引用类型。创建一个新类型为克服Java中数据类型的不完整,Java编程语言使用类来创建新类型。例如可以用下面的类表示人:class Person { private double height = 1.75; private double weight = 65; private String name; public Person(String aName) { name = aName; } public P...
阅读全文
摘要:变量用于存储信息。一个变量代表一个特殊类型的存储位置,它指向内存的某个单元,而且指明这块内存有多大。变量的值可以是基本类型,也可以是对象。下列程序显示了如何声明及赋值整数、浮点、boolean、字符和String类型变量。public class TestAssign { public static void main(String args[]) { int a, b; // declare int variables float f = 5.89f; // declare and assign float double d = 2.78d; ...
阅读全文
摘要:逻辑型--boolean逻辑值有两种状态,即人们经常使用的“true”和“false”。这样的值是用boolean类型来表示的。boolean有两个文字值,即true和false。以下是一个有关boolean类型变量的声明和初始化:booleantruth=true;//声明变量值为真注意:在整数类型和boolean类型之间无转换计算。有些语言(特别值得强调的是C和C++)允许将数字值转换成逻辑值,这在Java编程语言中是不允许的;boolean类型只允许使用boolean值。字符型--char使用char类型可表示单个字符。一个char代表一个16-bit无符号的(不分正负的)Unicode
阅读全文
摘要:注释是程序员用来标记、说明程序的。编译器会忽略注释中的内容,注释中的内容不会对程序的运行产生任何影响。Java语言允许三种风格的注释://单行注释多用于对属性,变量以及算法重要转折时的提示/*多行注释*/多用于对类、方法及算法的详细说明,一般在对类的注释中要有以下内容:1.类的简要说明2.创建者及修改者3.创建日期或者最后修改日期/**JAVA文档注释*/产生Java文档,使用javadoc命令.分号在Java编程语言中,语句是一行由分号(;)终止的代码。例如:totals=a+b+c+d+e+f;语句块(block)语句块(block)也叫做复合语句。一个语句块(block)是以上括号和下括
阅读全文
摘要:JavaAPI是扩展的Java类库。它为程序员提供了几千个类,包括基本的数学函数、数组和字符串、窗口,图形用户界面,输入/输出,联网等任何你需要的内容。类库被组织成许多包,每个包都包含多个类。下面列举了一些重要的包:njava.lang:包含一些形成语言核心的类,如String、Math、Integer和Thread。njava.awt:包含了构成抽象窗口工具包(AWT)的类,这个包被用来构建和管理应用程序的图形用户界面。njava.applet:包含了可执行applet特殊行为的类。njava.net:包含执行与网络相关的操作的类和处理接口及统一资源定位器(URLs)的类。njava.io:
阅读全文
摘要:Java技术源文件只有三部分,采用下面的布局:[<package_declaration>]<import_declaration><class_declaration>说明:<package_declaration>声明包的语句,包通常使用小写字母,用.作为分割符,这是一种逻辑结构划分的方法。<import_declaration>导入包语句<class_declaration>类的声明语句源文件命名源文件的名字必须与该文件中声明的公有类的名字相同。一个源文件中可以包含多个类,但是最多只能包含一个公有类,显然,这个文件的
阅读全文
摘要:Java中的语法和C一样,语句都是以分号结束,区分大小写。在Java技术中采用下列方法声明类:<modifier>class<name>{<attribute_declaration><constructor_declaration><method_declaration>}说明:<modifier>:暂时只用"public",含义为:可以被所有其它类访问。或者不加public, 在修饰类的访问权限的时候,只有两种:1,就是加上public,表示所有类都可以访问。2,就是什么也不写,表示本包访问权限,在
阅读全文
摘要:在java中是通过各种访问区分符来实现数据封装的,共分为四种访问级别(由高到低):private(私有)、friendly(缺省)、protected(受保护)、public(公共)。注意:以上四种访问修饰符可以作用于任何变量和方法,类只可以定义为私有或公共级别(嵌套类除外)。¨public(公共)当变量或方法被public修饰时,该变量和方法可以在任何地方(指的是任何包中)的任何类中被访问。//类PublicSample中的构造方法、成员变量及方法均被定义为公共的访问级别packagecom.itjob;classPublicSample{publicPublicSample(){
阅读全文
摘要:在面向对象一章中我们学习了OO的特征之一:继承,我们已知,任何面向对象的语言必然实现了继承这一特性,java也不例外,但是,我们应该注意的是,java和某些面向对象语言(如c++)在实现继承的不同之处在于java只支持单继承,不支持多重继承。即,java中一个类只能继承于另一个类。我们将被继承的类称之为父类(基类),继承类称之为子类(派生类)。在java中用关键字extends来实现单继承,语法如下: class subclass extends superclass{...}在前面所讲已知,实现继承关系的类之间有着必然的联系,不能将不相关的类实现继承,就象人类不能继承于鸟类!那怎么去判断类和
阅读全文
摘要:垃圾收集发生的不可预知性:由于实现了不同的垃圾收集算法和采用了不同的收集机制,所以它有可能是定时发生,有可能是当出现系统空闲CPU资源时发生,也有可能是和原始的垃圾收集一样,等到内存消耗出现极限时发生,这与垃圾收集器的选择和具体的设置都有关系。垃圾收集的精确性:(a)垃圾收集器能够精确标记活着的对象;(b)垃圾收集器能够精确地定位对象之间的引用关系。前者是完全地回收所有废弃对象的前提,否则就可能造成内存泄漏。而后者则是实现归并和复制等算法的必要条件。所有不可达对象都能够可靠地得到回收,所有对象都能够重新分配,允许对象的复制和对象内存的缩并,这样就有效地防止内存的支离破碎。垃圾收集的实现和具体的
阅读全文
摘要:Java是 一 个 广 泛 使 用 的 网 络 编 程 语 言 ,它 是 一 种 新 的 计算概 念 。首 先 ,作 为 一 种 程 序 设 计 语 言 ,它 简 单 、 面向对象 、 不依 赖于 机 器 的 结 构 、具 有 可 移 植 性 、 鲁 棒 性 、 安 全 性 、 并 且提 供 了 并 发 的 机 制 、具 有 很 高 的 性 能。其 次 ,它 最 大 限 度 地 利 用 了 网 络 ,Java的小应用程序(applet) 可在网 络 上 传 输 而 不受 CPU和 环 境 的 限 制 。 另 外 ,Java还 提 供 了 丰富 的 类 库 ,使 程 序 设计 者 可 以 很 方
阅读全文
摘要:一 、 背 景最 近 一 年 多 来 ,在 Internet上 出 现 的 特 别 吸 引 人 的 事 件 就是 Ja va语 言 和 用 Java编 写 的 浏 览 器 HotJava。1991年 ,SUN MicroSystem 公 司 的 Jame Gosling、 Bill Joe等 人 , 为 在电视 、 控 制 烤 面 包箱 等 家 用 消 费 类 电 子 产 品 上 进 行 交 互 式操 作 而 开 发 了 一 个 名为 Oak的 软 件 (即一 种 橡 树 的 名 字 ), 但当 时 并 没 有 引 起 人 们 的 注 意 ,直 到 1994年下 半 年 ,Internet的
阅读全文
摘要:文章来自:ITjob面向对象分析(OOA)方法是建立在对象及其属性、类属及其成员、整体及其部分这些基本概念的基础上。大英百科全书指出:人类在认识和理解现实世界的过程中普遍运用着三个构造法则:a.区分对象及其属性。例如,区分一棵树和树的大小或空间位置关系。 b.区分整体对象及其组成部分。例如,区分一棵树和树枝。 c.不同对象类的形成及区分。例如,所有树的类和所有石头的类的形成和区分。OOA就是建立在以上三个原则的基础上的,每个软件都建立在特定的现实世界中,OOA阶段产生的模型就是用来形式化该现实世界的"视图"---我们称之为建模。有许多优秀的方法作用于整个OOA阶段,如Shl
阅读全文
摘要:文章来自:ITjob软件开发就业先来看一下软件复杂性,软件固有的复杂性:1.维护过于困难2.修改每一个地方将会牵涉到许多功能模块的变动,复杂性加大。3.过于僵硬,扩展困难4.由于系统的关系错综复杂,很难添加新的功能。5.重用率过低,导致大量冗余6.在每个项目中往往会出现大量的代码冗余,不能很好的重用。7.耦合度过高,导致理解、修改困难8.每一个程序之间联系过于密切(强耦合),增加了阅读和修改的复杂性。一个好的系统应该具备如下的性质:可扩展性、灵活性、可插入性。--Peter Code[CODE99]通过面向对象就能很好的处理以上的复杂性。在面向对象过程中,我们根据问题领域中的关键抽象来分解系统
阅读全文
摘要:有许多标准和实践准则可适用于Java开发者,但此处要说的,是每个Java开发者需坚守的基本原则。 一、为代码加注释。虽然每个人都知道这点,但有时却不自觉忘了履行,今天你“忘了”加注释了吗?虽然注释对程序的功能没什么“贡献”,但过一段时间,比如说两星期之后或者更长,回过头来看看自己的代码,说不定已经记不住它是干什么的了。如果这些代码是你个人的,那还算是走运了,不幸的是,当然了,大多数时候都是别人的不幸,很多时候大家都是在为公司写代码,写代码的人也许早已经离开了公司,但别忘了一句古话,有来有往嘛,为他人,也为我们自己,请为你的代码加上注释。 二、不要让事情复杂化。程序员有时候总是对简单问题...
阅读全文
摘要:不少人为自己是Java开发者中的一员而感到骄傲,新年伊始,大家一定对这个与自己息息相关的语言和平台有不少的期待。以下为2008年Java开发者五个最迫切的期待,可能其中有不合你意者,但相信大多数Java开发者会对此认同:JavaFx不再只是空谈 在2007年的JavaOne上,我们听到了一个救世主——JavaFx,不幸的是,当初的所有许诺却没有成为现实。希望2008它能成为一个真正的、简单的、可用选择,从而Java开发者不必在富交互技术领域无“本宗”技术可选。Glassfish成为应用服务器的选择 Glassfish是一款非常好的开源应用服务器和平台,也是第一个遵从Java EE 5标准的,.
阅读全文
摘要:JAVA培训高性能 虽然java是解释执行的,但它仍然具有非常高的性能,在一些特定的CPU上,java字节码可以快速的转换成为机器码进行执行。而且java字节码格式的设计就是针对机器码的转换,实际转换时相当简便,自动的寄存器分配与编译器对字节码的一些优化可使之生成高质量的代码。随着java虚拟机的改进和"即时编译"(just in time)技术的出现使得java的执行速度有了更大的提高。 解释执行、多线程并且是动态的 如果你了解C语言和C++语言,可以参考下列java与C/C++语言的比较,如果不了解C语言和C++语言,可以忽略本部分知识。 a. 全局变量 java程序不
阅读全文
摘要:JAVA培训 大家想一想,在PC下用windows编写的程序能够不做修改就直接拿到UNIX系统上运行吗?显然是不可以的,因为程序的执行最终必须转换成为计算机硬件的机器指令来执行,专门为某种计算机硬件和操作系统编写的程序是不能够直接放到另外的计算机硬件上执行的,至少要做移植工作。要想让程序能够在不同的计算机上能够运行,就要求程序设计语言是能够跨越各种软件和硬件平台的,而java满足了这一需求。 1995年,美国Sun Microsystems公司正式向IT业界推出了java语言,该语言具有安全、跨平台、面向对象、简单、适用于网络等显著特点,当时以web为主要形式的互联网正在迅猛发展,java..
阅读全文