08 2012 档案
摘要:Socket网络编程网络协议IP地址与端口号本地回路IP:127.0.0.1有效端口:0-65535(尽量使用1024个以上-->1024个以上的被占用的概率比较低)UDP与TCP(协议)Udp:用户数据包协议,面向无连接,不保证数据的可靠性,不安全,速度快Tcp:传输数据协议,面向连接,提供可靠无差错的协议,安全,三次握手.UDP传输:DatagramSocket和:DatagramPacket建立发送端,接收端建立数据包,调用Socket的发送接收方法.关闭Socket发送端与接收端是两个独立运行的小程序.发送端:在发送端,要在数据包对象中明确的IP与端口.1 DatagramSoc
阅读全文
摘要:多线程的再度复习.class 1 package com.javami.kudy.Demo.ThreadStudy; 2 3 import java.util.concurrent.locks.Condition; 4 import java.util.concurrent.locks.Lock; 5 import java.util.concurrent.locks.ReentrantLock; 6 7 8 /*class MyArray 9 { 10 缺点: 11 不能准确的去唤醒一个进程.消耗资源.并且要判断... 而下面的.可以准确的唤醒下一个...
阅读全文
摘要:进程:进程是具有一定独立功能的程序关于某个数据集合上的一次运动.线程:线程是进程里面的一个实体,是CPU调度或分派的基本单位进程与线程之间的区别:总而言之,一个进程里面可以有多个线程,但是一个进程至少有一个线程多线程存在的意义:程序允许有多个线程并发,提供程序的运行的效率线程的创建方式:new Thread().start();多线程的应用:Sun公司为我们提供了Thread类来实现线程通过newThread()来创建一个线程对象.定义一个类继承Thread类,子类就有了线程的功能创建Thread类的子类的对象,也可以创建一个线程.线程的启用:Thread类定义了run()方法,用于启动当前的
阅读全文
摘要:AM上午总结: 1 package com.java.kudy.day17_2.ObjectReview; 2 3 public class ObjectTest { 4 5 /** 6 *虚拟机做了什么事情? 7 *1.在栈内存中定义了一个变量p 8 *2.在类加载器中加载Person.class 9 *3.在堆内存中开辟空间,分配了一个物理地址10 *4.初始化成员变量,如果没有初始值,那么虚拟机会自动初始化,所有的引用数据类型都为null11 *5.调用构造函数,为成员赋值(field)12 *6.将对象的...
阅读全文
摘要:所有的流在使用完毕时,都需要调用close方法进行关流,释放资源。由于流操作都会有异常,如果发生异常就有可能导致close方法不能被调用所以,IO异常一定要处理,close方法写在finally语句中1.InputStream : 输入字节流 方法: read()从流(关联的设备)中读一个字节 ** int read(buf):从流中读取n个字节放入缓冲区,方法会返回一个读取字节的个数 ips-->buf读到一个-1,说明读到了流的末尾-----------------------------------------------------------------------------
阅读全文
摘要:教程由JAVA中文网整理校对发布(javaweb.cc) Abstract Window Toolkit(AWT)抽象窗口工具集 一个用本地图形组件实现的图形接口。这些组件提供了大部分的本地组件。这个接口正逐步被Swing组件所替代,参见Swing Set. Abstract 抽象的 一个Java语言中的关键字,用在类的声明中来指明一个类是不能被实例化的,但是可以被其它类继承。一个抽象类可以使用抽象方法,抽象方法不需要实现,但是需要在子类中被实现 abstract class 抽象类 含有一个或多个抽象方法的类,不能被实例化。定义抽象类的目的是使其他类能够从它继承,并且通过实现抽象...
阅读全文
摘要:IO包中的其他流:1.打印流a)PrintWriter(写-->print打印)与PrintStream(字符流) 1 PrintWriter用法一:其实它是对一个Writer进行了封装 2 package com.javami.kudyTest; 3 import java.io.FileNotFoundException; 4 import java.io.PrintWriter; 5 public class PrintWriterTest { 6 /* 7 * PrintWriter 是对Writer 进行了一个封装 8 */ 9 public s...
阅读全文
摘要:File类:用来将文件或者文件夹封装成对象方便对文件或者文件夹的操作File对象可以作为参数传递给一个流.递归:函数自己调用自己应用场景:当某一个功能需要重复调用..1.遍历一个文件,并且让让这个文件写入到一个文本里面,(需要树状的排序) 1 package com.javami.kudy.CodeAM; 2 import java.io.BufferedWriter; 3 import java.io.IOException; 4 import java.io.File; 5 /* 6 * getSpace 7 * listAllFiles 8 */ 9 public class Fi...
阅读全文
摘要:字节流的抽象基类:InputStream(输入) OutPutStream(输出)字符流的抽象基类:Reader(读) Writer(写)这四个类派生出来的子类都是由父类的名作为子类名的后缀.IO需要了解的问题:1.有了垃圾回收站为什么还要调用close方法去进行关闭解答: 虽然java已经垃圾回收了这个流,但是系统根本就不知道什么时候关闭这个流,所以我们要手动的去关闭2.为什么IO异常一定要处理嗯?解答:如果io异常不处理的, 当读到一个文件的时候出现错误,那么后面的也就会执行不到了.所以我们一定要异常处理/..字符流创建一个文件1 FileWriter fw = new FileWrite
阅读全文
摘要:IO(Input OutPut)流IO流用来处理设备之间的数据传输JAVA对数据的操作是通过流的方式JAVA用于操作流的对象都在IO包中流按操作对象分为两种: 字节流,字符流流按流向分为: 输入流,输出流.其它的内容还是比较简单的,注意的是以下这几个自定义包装类:实现1.MyBufferedReader.class 1 package com.javami.kudy.Code13; 2 import java.io.IOException; 3 import java.io.Reader; //读取字符流的抽象类 4 import java.io.IOException; 5 /* 6 *..
阅读全文
摘要:Map集合1.Map存储了一系列键值的映射关系2.Map集合需要保证键的唯一性3.可以通过键获取到值,反之则不能4.Map集合存储元素使用put(key,valus)方法.5.遍历Map集合的两种遍历方式 a)通过KeySet方法返回由键组成的集合,迭代集合里面的元素拿到所有的键再通过get方法根据键来获取值 b)通过entrySet方法返回键所映射的关系组成的集合,迭代该集合就拿到一个键值映射的关系,再通过getKey获取到键,再通过getValue()方法获取到值HashMap 线程不安全,存储速度快,允许存放null键,null值 通过HashSet保持键的唯一性Hashtable 线程
阅读全文
摘要:集合类:为什么使用集合类?在面向对象的编程思想中,都是以对象的形式对事物进行描述的,为了保证对象的生命周期,我们需要持有对象(什么叫做持有对象呢?Person p = new Person())数组和集合类的区别?1.数组和集合类都是容器,都能存储对象2.集合类优点就是长度可变,而数组一旦定义.长度是不能修改的.集合的特点:集合类可用于存储对象.集合类的长度可变一个集合可以存储多种类型的对象..Collection 接口:1.一个独立的元素的序列,这些元素从一条或多条规则2.collection接口下分为list集合和Set集合3.list集合的特点是元素有序,可以允许有重复的元素4.set集
阅读全文
摘要:第一:package com.javami.kudy.javaapi1.StringStudy;public class StringDemo { /*面试题: * 1.Stirng s = "abc" String s = new String("abc"); //有什么区别? * 2.String s = new String("abc"); 创建了几个对象 2个(池里没有)或1个(池里有了), * 3.String s = "a" + "b" + "c" + "
阅读全文
摘要:1 Java的环境配置 day01 2 3 1. 环境配置有如下的三种方法: 4 a) 我的电脑属性: 从path 环境中配置 5 b) 利用临时的变量设置: set path = java的所在路径\bin%d% 6 c) 定义批处理文件 : 设置步骤如下: 7 a) set path = %cd%\H:\java\jdk1.7\bin 8 b) 9 c) start 10 11 一. java的环境搭配 12 1. 安装jdk >1.jdk是java的开发和运行环境 >2.jre是java的运行环境 13 2...
阅读全文
摘要:面试题:请说说抽象类和接口的区别抽象类,使用abstract关键字修饰的类为抽象类,一般来说,含有抽象方法的类就需要定义为抽象类,但是抽象类不一定都有抽象方法,比如,在GUI当中,对于事件处理提供了很多监听器口里里面方法都是抽象的,每次进行事件处理时,都需要实现监听器接口,哪怕只处理一个简单的动作,也需要实现接口所有的方法,这样很麻烦,而且显得代码很臃肿,Java提供了适配器,适配器就是自己实现了监听器接口,但是所有的方法都是空实现,以后再用到监听器时,我们可以继承适配器,实现我们需要的方法就可以了,这样就很方便。像这样的适配器只是给调用者提供一个方便,一定不希望别人直接创建实例来使用,所以有
阅读全文
摘要:1 /* 2 子类对象的实例化过程 3 我们可以用一个类的变量记住它的子类的子类的实例.这时如果调用子类中的方法,只需要强制转换子类就可以 4 没必要非得强制转换子类的子类. 5 instanceof关键字:也可以判断子类实例也属于父类的类型. 6 */ 7 8 class A 9 {10 A()11 {12 //如果程序没有写构造方法的/java会默认给它添加构造方法!13 }14 public void a()15 {16 System.out.println("a() in...
阅读全文
摘要:/* 内部类:1.在类中定义的类我们称之为内部类,它是外部类的一个成员。2.内部类可以直接访问外部类的成员,但是外部类不能直接的去调用外部类的成员、其实内部类调用外部类的成员的时候.其实是使用到了:类名.this.变量名 来访问外部类的成员。3.在内部类中的方法可以使用this引用调用这个方法的内部类对象.*/class Outer{ String name = "张三"; public void run() { System.out.println("Outer is Running"); } public void show() { ...
阅读全文
摘要:一.构造函数的定义与作用1.函数的名次与类同名2.没有返回值类型3.不能使用retrun 关键字来返回一个值注意》》:没有返回值类型声明不等同于“void”,void也是一种返回值的声明(如果写上了void,那就是一个普通的方法啦!)二.构造函数的具体应用构造函数可以被重载1.构造函数也一般的函数一样,都是可以被重载的.但是参数类型要不一致.而且构造函数是没有返回值构造函数如果被调用?2.使用new关键字来创建对象的时候,会自动的调用一个类的构造函数.也可以在一个类中利用this();来调用其他的构造函数!但是要注意:递归构造器调用. 普通函数的调用是:this.run(); 而构造函数调用.
阅读全文
摘要:面向对象:一种编程思想,使用对象来描述生活中的事物:面向对象的四大特征: 1.封装 2.继承 3.多态 4.抽象1.类和对象: 类是对象的抽象,对象是类的实例2.this关键字是一个对象的引用,thiis在方法内,谁调用我.我就为谁服务3.创建对象: Person p ; p = new Person(); 1.在栈内存中定义一个变量p ,类型是:person 2.在堆内存中,首先加载一个Person.class字节码 3.在堆内存中创建一个对象 new Person ()的一个实例 4.自动初始化堆内存里面的数据 5.把所创建的首地址变量赋值给p引用4.对象的生命周期: 当对象被创建到...
阅读全文
摘要:一、判断题1、Java语言是不区分大小写的。 错,Java语言是严格区分大小写的2、Java程序源文件的扩展名为“.jar”。 错,Java程序源文件的扩展名为”.java” 3、Java程序一般应含有main方法,因为它是所有java程序的入口。正确4、声明main方法时,其声明可以写成:Public static void main(String args[])也可以写成:Public static void main(String s[]) 不正确,P不应该大写,应该小写,其他地方是正确的6、假设有一个名为Hello的java源程序,那么编译这个文件的命令为javac Hello....
阅读全文
摘要:一:java的基本语法 1.代码都是存放在class里面的 2.严格区分大小写(num NUM)是两个不同的变量 3.格式自由. 4.单行注释与多行注释的和文档注释 5.标识符: 全部使用英文字母,骆驼式命名:从第二个单词开始,每个单词的首字母都要大写,其它的小写(标识符不能为关键字,不能以数字开头)二:java中的变量 1.有八个原声数据类型和引用数据类型. 2.类型转换: byte、short、char类型在运行过程中都会提升为int 类型(这样的方式叫自动类型)我们可以将一个int类型强制转换成byte、short、char类型 (需要强制类型转换!显示类型转换丢失精度. ...
阅读全文
摘要:一.java是一门高级的语言,具有跨平台(一处编译,到处运行)1.javac 编译源文件.java2.运行源文件 java 启动虚拟机3.cls 清空dos界面文字!4.java源文件 -->java.class(字节码) -->windows(jvm) -->linux(jvm)二:path环境变量1.什么是path环境变量 ?path环境变量的作用?解答:当我们运行一个exe可执行的文件的时候,系统会首先在当前的目录下去寻找,寻找不到的时候就会在注册表中寻找.如果没有了最后才到path环境变量中寻找.所以当我们想成功的在任何的目录下运行javac 与java命令的时候,我
阅读全文
浙公网安备 33010602011771号