java基础知识
文章平均质量分 75
普通网友
这个作者很懒,什么都没留下…
展开
-
java简介以及了解java(三六)
*1: 名为DoCallStuff类实现了Callable,String将是call方法的返回值类型。例子中用了String,但可以是任何Java类。*2: call方法的返回值类型为String,这是和类的定义相对应的。并且可以抛出异常。*3: call方法可以抛出异常,如加重的斜体字所示。以下是调用DoCallStuff的主程序。import java.util.concurrent.Exec...原创 2009-08-14 14:50:53 · 102 阅读 · 0 评论 -
java简介以及了解java(二五)
BufferInputStream和BufferOutputStream(带缓存的字节流)以上两个是过滤流,可以提高I/O操作的效率,用于给节点流增加一个缓冲的功能。在JVM的内部建立一个缓冲区,数据先写入缓冲区,等到缓冲区的数据满了之后再一次性写出,效率很高。使用带缓冲区的输入输出流的速度会大幅提高,缓冲区越大,效率越高。(这是典型的牺牲空间换时间)切记:使用带缓冲区的流,如果数据数据输入完毕,...原创 2009-08-14 14:28:54 · 91 阅读 · 0 评论 -
java简介以及了解java(二四)
Java中的I/O使用I/O流访问file中的内容。JVM与外界通过数据通道进行数据交换。分类:按流分为输入流和输出流,按传输单位分为字节流和字符流,还可以分为节点流和过滤流。节点流:负责数据源和程序之间建立连接。过滤流:用于给节点增加功能。在关闭流时如果使用了过滤流,只需关闭最外层的流就可以了。过滤流的构造方式是以其他流为参数构造(这样的设计模式称为装饰模式)并且过滤流本身不能使用,他的作用只是...原创 2009-08-14 14:27:23 · 114 阅读 · 0 评论 -
java简介以及了解java(二三)
基本输入输出所使用的类的介绍:FileInputStream和FileOutputStream (文件输入输出流)以上两个是字节流1) 结点流,可以对磁盘文件进行操作。2) 要构造一个FileInputStream, 所关联的文件必须存在而且是可读的。3) 要构造一个FileOutputStream而输出文件已经存在,则它将被覆盖。FileInputStream infile = new File...原创 2009-08-14 14:24:48 · 98 阅读 · 0 评论 -
java简介以及了解java(二二)
处理跨平台性对于命令:File f2=new file(“d:\\abc\\789\\1.txt”)这个命令不具备跨平台性,因为不同的OS的文件系统的分隔符是不相同。使用file类的separtor属性,返回当前平台文件分隔符。File newD = new File("aa"+File.separator+"bb"+File.separator+"cc");File newF = new Fil...原创 2009-08-14 14:23:38 · 93 阅读 · 0 评论 -
java简介以及了解java(二一)
死锁问题多线程不释放自己拥有的锁标记,而想申请其他线程拥有的锁标记,就会造成死锁。没有获得加锁对象的锁标记的线程,不能访问只有获得该对象所标记才能访问的同步方法,但可以访问这个对象的非同步的方法。死锁的两种处理方法统一排列锁顺序(解决不同方法中对多个共享资源的访问)对象1的方法synchronized(a)synchronized(b)对象2的方法synchronized(a)synchroniz...原创 2009-08-14 14:22:32 · 92 阅读 · 0 评论 -
java简介以及了解java(二十)
共享数据的并发处理多线程同时并发访问的资源叫做临界资源。多个线程同时访问对象并要求操作相同资源时分割了原子操作就会出现问题。(原子操作,不可再分的操作)会出现数据的不一致或数据不完整,为避免这种现象采用对访问的线程做限制的方法。Synchronized关键字1.Synchronized修饰代码块(同步代码块),public void push(char c){synchronized(th...原创 2009-08-14 14:21:16 · 92 阅读 · 0 评论 -
java简介以及了解java(十九)
Java多线程编程进程,即运行中的程序,多任务操作系统中并发的一个任务(CPU是分时间片执行多个进程的),线程,其本质是进程中顺序的执行流程,进程有独立的进程空间进程中的数据存放空间(对空间和栈空间)是独立的。线程没有独立的存放数据的空间,数据存储空间(堆空间)是共享的,线程间的栈空间是独立的,线程消耗的资源比进程小。线程,是进程(运行中的程序)中顺序的执行流程,进程可以划分出多个线程。JVM(j...原创 2009-08-14 14:19:26 · 87 阅读 · 0 评论 -
java简介以及了解java(十八)
在Java的图形编程中,所有动作(事件)都已经提供了相应的事件对象和事件监听接口,例如:实现窗口的关闭按钮,点击关闭按钮会发出相应的事件对象,相应的调用监听器中实现好的方法。相应的方法清参阅Java2 SE API帮助文档。在图形界面中的添加事件监听的方法1,组件是事件源,我们实现监听器借口2,对组件调用addXXXListener()方法,把监听器注入进去。在java.awt.event包中的A...原创 2009-08-14 14:17:28 · 102 阅读 · 0 评论 -
java简介以及了解java(二六)
ObjectInputStream和ObjectOutputStream(对象流)对象流是过滤流,需要节点流作参数来构造对象。用于直接把对象写入文件和从文件读取对象。只有实现了Serializable接口的类型的对象才可以被读写,Serializable接口是个标记接口,其中没有定义方法。对象会序列化成一个二进制代码。writeObject(o), Object readObject()这两个是对...原创 2009-08-14 14:29:57 · 117 阅读 · 0 评论 -
java简介以及了解java(二七)
JAVA网络编程网络基础知识网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。计算机网络形式多样,内容繁杂。网络上的计算机要互相通信,必须遵循一定的协议。目前使用最广泛的网络协议是Internet上所使用的TCP/IP协议。IP地址:计算机在网络中唯一标识,相对于internet,IP为逻辑地址。IP地址分类A类地址A类地址第1字节为网络地址,其它3个字节为主机地址。另外第1个字节...原创 2009-08-14 14:32:19 · 152 阅读 · 0 评论 -
java简介以及了解java(三五)
处理自定义注释的类例:import java.lang.reflect.*;public class TestFramework {public static void main(String[] args) throws Exception {Class c=Class.forName("MyClass2");//获取有注释的类的类对象Method[] ms=c.getMet...原创 2009-08-14 14:49:59 · 104 阅读 · 0 评论 -
java简介以及了解java(三四)
JAVA5.0 的注释(Annotation)描述代码的代码。给编译器看的代码,作用是规范编译器的语法。class Student{@Overridepublic String toString(){return “student”;}}类型(接口)1. 标记注释标记注释中没有属性,所以也不需要为属性赋值@Override2. 单值注释单值注释中只能定义一个属性。@注释名(prameter=10)...原创 2009-08-14 14:45:18 · 112 阅读 · 0 评论 -
java简介以及了解java(三三)
泛型方法的定义把数组拷贝到集合时,数组的类型一定要和集合的泛型相同。<...>定义泛型,其中的"..."一般用大写字母来代替,也就是泛型的命名,其实,在运行时会根据实际类型替换掉那个泛型。需要泛型参数或返回值同时又是某个类的子类又是某个接口的实现类的时候,可以使用<? extends Xxxx & Xxxx>这种写法,注意:接口类型要放在类的后面,且只能使用’&am...原创 2009-08-14 14:42:18 · 103 阅读 · 0 评论 -
java简介以及了解java(三二)
java5.0中的泛型说明增强了java的类型安全,可以在编译期间对容器内的对象进行类型检查,在运行期不必进行类型的转换。而在java se5.0之前必须在运行期动态进行容器内对象的检查及转换,泛型是编译时概念,运行时没有泛型减少含糊的容器,可以定义什么类型的数据放入容器List<Integer> aList = new ArrayList<Integer>();aList...原创 2009-08-14 14:40:23 · 95 阅读 · 0 评论 -
java简介以及了解java(三一)
可变长的参数在java5.0中,可以使用一种变长参数,也就是例如m(String… s)的东西,编译器会自动的将方法调用时的参数适当的封装成数组5.0之前public class Test{public static void main(String[] args){}}JVM收到数据封装在数组里,然后传入方法5.0之后public class Test{public static void ma...原创 2009-08-14 14:38:59 · 135 阅读 · 0 评论 -
java简介以及了解java(三十)
Java5.0的新特性自动装箱和自动拆箱自动封箱和自动拆箱,它实现了简单类型和封装类型的相互转化时,实现了自动转化。自动封箱解箱只在必要的时候才进行。还有其它选择就用其它的byte b -128~127Byte b 多一个null简单类型和封装类型之间的差别封装类可以等于null ,避免数字得0时的二义性。Integer i=null;int ii=i; (会抛出NullException 异常)...原创 2009-08-14 14:37:29 · 94 阅读 · 0 评论 -
java简介以及了解java(二九)
反射反射,在运行时,动态分析或使用一个类进行工作。类对象,是一个描述这个类信息的对象,对虚拟机加载类的时候,就会创建这个类的类对象并加载该对象。Class,是类对象的类型。只有对象才会被加载到虚拟机中。一个类只会被加载一次。获得类对象的三种方式:(类对象不用new的方法得到的)1)也可以用类名.Class,获得这个类的类对象。2)用一类的对象掉用a.getClass(),得到这个对象的类型的类对象...原创 2009-08-14 14:35:00 · 78 阅读 · 0 评论 -
java简介以及了解java(二八)
UDP socket这种信息传输方式相当于传真,信息打包,在接受端准备纸。特点:1) 基于UDP无连接协议2) 不保证消息的可靠传输3) 它们由Java技术中的DatagramSocket和DatagramPacket类支持DatagramSocket(邮递员):对应数据报的Socket概念,不需要创建两个socket,不可使用输入输出流。DatagramPacket(信件):数据包,是UDP下进...原创 2009-08-14 14:33:49 · 101 阅读 · 0 评论 -
java简介以及了解java(十七)
awt事件模型(观察者模式)(重点)事件模型中,包括事件源对象,事件处理者(事件监听者对象),事件对象。事件源和事件处理者之间建立了授权关系,事件源类中有一个事件处理者的对象作为属性,也可能是一个事件处理者的集合。事件对象事件源————————〉事件处理者事件模型的机制,事件源对象发送一个消息(事件对象),事件处理者调用相应的方法处理事件。事件监听器接口中定义的方法,都以事件对象为参数。一个事件源...原创 2009-08-14 14:15:22 · 85 阅读 · 0 评论 -
java简介以及了解java(十六)
java中的图形界面GUI,图形化的用户接口,为了人机交互使用的。构造图形界面的步骤1,选择一个容器2,设置容器的布局管理器3,向容器添加组件4,事件的监听容器(Container)用于管理其他的组件的对象。组件必须放到容器里。JFrame,这是一个最顶层的窗体容器,所有其他的组件必须放在顶层容器里。JDialog 对话框容器,他要依附于其父组件,他不是一个顶层容器。JPanel,他不是顶层容器,...原创 2009-08-14 14:06:09 · 143 阅读 · 0 评论 -
java简介以及迅速交接java(十五)
实现堆栈1,数组(ArrayList,增删效率比较低,不适合)2,LinkedList(实现堆栈的好方法)3,java.util.Stack类,Stack是Vector的子类,Vector类是一个线程安全的(是一个重量级的类),并继承了Vector的方法,Verctor类(这个类也是List接口的实现类)和ArrayList的功能近乎相同。(不推荐使用Stack类来实现堆栈)。Set接口的实现类S...原创 2009-08-14 13:28:49 · 155 阅读 · 0 评论 -
java简介以及迅速了解java(五)
面向对象的思想anything is Object(万物皆对象)抽象,从对具体的对象中抽取有用信息。对象的特征就是其固有属性,对象的方法,就是对象的行为(对象能做什么)对象本身是简单的(功能简单),多个对象可以组成复杂的系统(对象之间彼此调用对方的方法)对象应当是各司其职(功能简单),各尽所能(把自己的功能作到最好)。(弱耦合性实现了前面所述的对象的特点)对象的耦合性,是对象之间的联系,对象和系统...原创 2009-08-12 08:08:17 · 89 阅读 · 0 评论 -
java简介以及迅速了解java(四)
循环语句for(int i=0;i<n;i++){}while(){}do{} while();//注意加分号例子:loop:for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(3==j){break loop;// loop为标签只能用在循环语句中,循环//嵌套中用于跳到外层循环}}} 辨析:int ...原创 2009-08-11 18:40:20 · 88 阅读 · 0 评论 -
java简介以及迅速了解java(三)
六、标识符(变量名)和关键字Java代码中的“;”、“{}”、“ ”Java语句以分号分隔,Java代码(除包、类的定义和import之外)是包含在大括号内,忽略空格。标识符1) 用以命名类、方法和变量、以及包遵守JAVA的命名规范类以每个单词都以大写字母开头。方法和变量第一个字母不大写,常量名都大写,包名都用小写字母。2) 只能以字符、“_”或“$”开头,可以使用数字,字符以及”_”、”$”作为...原创 2009-08-11 18:23:28 · 73 阅读 · 0 评论 -
java简介以及迅速了解java(二)
接下来带包的类是需要生成在指定的目录结构中的,javac命令的–d 命令行参数可以自动生成包的目录结构javac –d . HelloWorld.java (–d . 指定包结构生成在当前目录中)java test.java.HelloWorld注意:在运行有包的类文件时,一定要在包的所在的目录import 关键字,在使用其他包中的类文件,在类中,可以不必写全限定名直接写类名就可以了,这个关键...原创 2009-08-11 17:59:18 · 76 阅读 · 0 评论 -
java简介以及迅速了解java(一)
一、Java简介Java语言是编译后再解释执行,Java源码是通过编译生成一种特殊的.class的中间字节码文件,然后再有JVM进行解释执行,JVM(Java虚拟机)是运行在操作系统中,用来屏蔽的系统间的差异。Java虚拟机处理编译后的字节码,并根据不同的系统来申请相应的资源,这样就可以保证程序的运行正常,在Java虚拟机的基础之上,由解释器来解释执行字节码文件。[color=bl...原创 2009-08-11 17:38:25 · 107 阅读 · 0 评论 -
java的基本数据类型
[color=red]注意:自动类型提升[/color]a 运算符b 对于这个表达式,a,b中有任意一个是double型,表达运算的结果就是double型a,b中有任意一个是float型,表达式的运算的结果就是float型a,b中有任意一个是long型,表达式的运算的结果就是long型a,b中没有double、float、long型,那么表达式的结果就默认提升为int型。[co...2009-08-11 17:10:25 · 86 阅读 · 0 评论 -
java全局变量与局部变量
[code="java"]package com.sdjt.study.corejava;/** * @author:lyy * @version 创建时间:2009-8-11 下午04:35:35 类说明 局部变量的例子 */public class Test001 { static int a = 27;//全局变量 static void test() {...2009-08-11 16:50:00 · 96 阅读 · 0 评论 -
java 的split的用法
Java split用法 java.lang.string.split split 方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 stringObj.split([separator,[limit]]) stringObj 必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。 separator 可选项。字符串或 正则表达式 对象,它标识了分隔字符...2010-01-20 13:05:28 · 112 阅读 · 0 评论 -
java简介以及迅速了解java(六)
面向对象的三大特征:封装、继承、多态Java中的封装封装,一个对象和外界的联系应当通过一个统一的接口。对象中的内容应当公开的公开,应当隐藏的隐藏。(对象的属性应当隐藏)一个对象的内部是透明的,把对象内部的可透明性和隐藏的特性区分开,该透明的透明,该隐藏的隐藏。属性的封装,java中类的属性的默认访问权限不是private,是default,不加访问权限修饰符的属性和方法默认为default。隐藏该...原创 2009-08-12 15:21:21 · 87 阅读 · 0 评论 -
java简介以及迅速了解java(六)
super关键字super(),表示在子类的构造方法中调用父类的构造方法(可以通过这种方法在子类的构造方法中初始化父类中的属性),super()只能出现在构造方法的第一句上。super(),在子类的构造方中指明构造父类时调用哪一个父类的构造方法构造父类。super,表示一个父类的对象,可以通过super来使用父类中可以访问的方法(可以在父类中定义setXxx(),getXxx()方法来访问父类中的...原创 2009-08-12 15:43:49 · 97 阅读 · 0 评论 -
java简介以及迅速了解java(十四)
集合类集合(集合类的对象)是管理其他若干对象的,类似于C++标准模板库中的容器,不过JAVA的集合类的对象中可以存放多种类型的对象。接口和类共同构成了一个集合框架,集合的概念,一个对象可以装载多个对象,就是集合对象。集合框架1,集合接口Collection接口List接口Set接口SortedSet接口Collection 存储并管理多个对象的对象,集合中的每个元素都是对象。Map,Map中没有对...原创 2009-08-14 08:33:22 · 259 阅读 · 0 评论 -
java简介以及迅速了解java(十三)
finally关键字finally{……}在finally语句块中的代码无论如何都会运行try,catch后还可以再跟一个finally块。finally块中的代码语句无论如何(无论有没有异常)都会执行(finally块一般写一些释放资源,关闭连接的代码)。finally块中的代码在和try块中的代码的冲突时,finally块中的代码一定会执行且会忽略try块中的代码。但是System.exit(...原创 2009-08-13 19:04:20 · 82 阅读 · 0 评论 -
java简介以及迅速了解java(十二)
局部内部类局部内部类是定义在方法中的内部类。局部内部类不能够加权限修饰符,其范围为定义它的代码块。注意:局部内部类不仅可以访问外部类私有实例变量,还可以访问外部类的局部常量(也就是局部变量必须为final的)局部内部类的特点:不能直接访问局部内部类(保证局部内部类对外是不可见的),只有在方法中才能访问其局部内部类。局部内部类的作用通过内部类和接口达到一个强制的弱耦合,用局部内部类来实现接口,并在方...原创 2009-08-13 18:59:56 · 92 阅读 · 0 评论 -
java简介以及迅速了解java(十一)
Java封装类Java为每一个简单数据类型提供了一个封装类,每个简单数据类型可以封装成对象类型。除int(Integer)和char(Character),其余类型首字母大写即成封装类类型名。double (Double),float(Float),long(Long), short(Short),byte(Byte),boolean(Boolean)转换字符的方式:int I=10;String...原创 2009-08-12 18:18:37 · 73 阅读 · 0 评论 -
java简介以及迅速了解java(十)
java中的接口接口是一种程序结构,是特殊的抽象类。接口中的方法都是公开的抽象方法(public abstract),接口中的属性都是公开静态常量(public static final)。声明一个接口用interface 关键字,接口是一种类型,编译之后生成相应字节码,他的声明规范也要符合类型的定义(一个源文件中只能有一个public interface,接口名和源文件名相同,有public i...原创 2009-08-12 18:14:50 · 90 阅读 · 0 评论 -
java简介以及迅速了解java(九)
abstract(抽象)修饰符,可以修饰类和方法1, abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,可以做为对象引用声明的类型,就是编译时类型,抽象类就相当于一类的半成品,需要子类继承并覆盖其中的抽象方法。例:public abstract class Test{public int test(){……}……….} 2, abstract修...原创 2009-08-12 17:38:10 · 89 阅读 · 0 评论 -
java简介以及迅速了解java(八)
final修饰符,可以修饰变量,方法,类1, final修饰变量(包括局部变量和实例变量)被final修饰的变量就成为常量(常量名应当大写),一旦赋值不能改变,(可以在初始化时直接赋值,在构造方法里可以为其赋值,只能在这两种方法里二选一,常量不能不赋初值),常量没有默认初始值,final修饰符常和static修饰符一起使用。例:public class Test{private stati...原创 2009-08-12 17:34:57 · 78 阅读 · 0 评论 -
java简介以及迅速了解java(七)
java中的修饰符static 表示静态,它可以修饰属性,方法和代码块。1,static修饰属性(实例变量)(类变量),这个属性就可以用类名.属性名来访问,这个属性成为本类的类变量,为本类对象所共有。这个属性全类公有。(共有的类变量与对象无关,只和类有关)。例:public class Test{private static int testnum;/*如果实力变量前加上了stat...原创 2009-08-12 16:14:06 · 87 阅读 · 0 评论