java基础
文章平均质量分 77
Joseph_Liuxh
这个作者很懒,什么都没留下…
展开
-
黑马程序员-IO-递归遍历文件夹中的全部文件,拷贝到另一个文件中,对每一个文件修改其后缀名
package com.lxh.iterview;import java.io.*;public class CopyReName { /** * @param args */ public static void main(String[] args) { File file = new File("C:\\Users\\fox\\Workspaces\\M原创 2015-01-20 23:21:05 · 405 阅读 · 0 评论 -
黑马程序员-自学多线程
l 概念进程:正在执行中的程序。每个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元。 线程:进程中一个独立的控制单元。线程控制着进程的执行。一个进程中至少有一个线程。 l 创建线程的第一种方法。步骤:1. 创建类继承Thread2. 重写Thread的run方法。3. 调用线程的start方法。该方法两个作用:1.启动线程,2.调原创 2014-12-17 22:32:10 · 384 阅读 · 0 评论 -
黑马程序员-IO-字符流-FileWriter&FileReader
根据内容分类1. 字节流2. 字符流根据流向分类1. Input2. Output 抽象基类字节流基类字符流基类InputStreamOutputStreamReaderWriter字符流(以FileWr原创 2014-12-24 10:23:35 · 456 阅读 · 0 评论 -
黑马程序员-IO-BufferedReader,BufferedWriter
文件拷贝,从一个地方拷贝到另一个地方有两种方式1. 一个一个字符的拷贝。2. 数组缓冲区拷贝。package com.lxh.io;import java.io.*;public class CopyDemo { public static void main(String[] args) { CopyDemo c = new CopyDemo(); c.c原创 2014-12-25 10:16:49 · 434 阅读 · 0 评论 -
黑马程序员-TCP-Socket-ServerSocket
含两方面1. 客户端2. 服务端 客户端 :Socket类此类实现客户端套接字,套接字是两台机器间实现通信的端点。 常用构造方法:Socket(InetAddress address, int port) 创建一个流套接字并将其连接到指定 IP 地址的指定端口号。Socket(String host, int port)原创 2015-01-08 19:41:32 · 370 阅读 · 0 评论 -
黑马程序员-List-ListIterator-LinkedList-ArrayList
Collection Collection接口中的方法1. add[ALL]()2. remove[ALL]()3. iterator(),返回Iterator 迭代器。迭代器是内部类,就像是布娃娃自动贩货机,机器是一个容器,夹子是迭代器。4. contains[ALL]()5. clear()6. toArray()7. size()8. isEmpty(原创 2015-01-14 12:17:35 · 380 阅读 · 0 评论 -
黑马程序员-Set-HashSet-TreeSet-Comparator-Comparable
l Set特点:1. 无序(存储和查询的顺序不同,因为是按照对象的地址值存储进去的)。2. 不可重复。 通过查看API,Set的功能与Collection是一样的。 常用子类1. HashSet2. TreeSet l HashSetHashSet如何保证元素的唯一性?原理:将对象存储在HashTable中,HashTable是通过该对象自己的H原创 2015-01-15 20:36:09 · 1185 阅读 · 0 评论 -
黑马程序员-泛型-T-E-泛型类-泛型方法-泛型接口
泛型格式:尖括号,是把参数类型作为参数传递给集合。 数据结构类名引用数据类型> 数据结构对象名 = new 数据结构类名存储的对象类型>使用迭代器时:Iterator引用数据类型>如:ArrayList al = new ArrayList;Iterator it = al.iterator(); 继承Comparator接口,使用比较器时:pu原创 2015-01-16 10:07:37 · 815 阅读 · 0 评论 -
黑马程序员-Map-TreeMap-HashMap-Map.Entry
Map特点:1. 以Key和Value,成对的形式存储数据。2. Key不能重复3. Set是基于Map而生成的。 常用方法:1. 增:V put(K key, V value)如果添加相同Key,不同的Value,则保存最后添加进来的Value。boolean putAll(Map)2. 删:clear()V remove(K key) ,底层原创 2015-01-17 15:39:14 · 492 阅读 · 0 评论 -
黑马程序员-Collections-binarySrearch-sort-swap-max-Arrays-asList(T... t)-Collection-toArray()
Collections其全部的方法都是静态的。其对集合进行操作。 常用方法:static > void sort(List list)static Comparable> void sort(List list) 根据元素的自然顺序 对指定列表按升序进行排序。 说明:1. C原创 2015-01-19 10:48:44 · 503 阅读 · 0 评论 -
黑马程序员-可变参数-静态导入-import static
可变参数的格式:1. method(1,3,4,2)public static void method(int... array) {} 2. method(t1,t2...)public static void method(T... t){} 3. method(1 , t1,t2...);public static void method(int i , T.原创 2015-01-19 17:13:29 · 373 阅读 · 0 评论 -
黑马程序员-递归10进制转化成2进制
public class Recursion { /** * 将数转换成二进制,打印出来 * 正常情况下会反序打印的,使用递归将其正确打印出来。 */ public static void main(String[] args) { Recursion recursion = new Recursion(); int i = 6; System.ou原创 2014-12-30 14:48:32 · 393 阅读 · 0 评论 -
黑马程序员-File-File方法
createNewFile createNewFile(),返回值 boolean 。当且仅当不存在具有此抽象路径名指定名称的文件时,检查文件是否存在,若不存在则创建该文件。与IO流中的Write或OutputStream区别。IO流不会检查,如有重名的文件存在,则会将其覆盖,File的创建方式更加合理一些。测试文件是否存在boolean exist()判断是否存在原创 2014-12-29 14:56:25 · 454 阅读 · 0 评论 -
黑马程序员-装饰设计模式
概念(纯个人理解):想创建一个B类,在A类的基础上增强一些功能,但考虑到更改A类的代码时可能会导致一些错误。因此在B类的构造方法中接受A类的引用,在B类中基于A的对象提供更强功能。这种设计模式就叫装饰设计模式。 装饰与继承的区别:继承的逻辑结构:Reader|-- TextReader|--BufferedTextReader|-- MediaReader|--原创 2014-12-25 15:48:51 · 471 阅读 · 0 评论 -
回顾BufferedInputStream-int read(byte[] buffer)BufferedOutputStream-void write(byte[] buff ,int offset
学习java基础,是一个反复学习的过程。今天回顾BufferedInputStream的 int read(byte[] buffer) 和BufferedOutputStream的void write(byte[] buff ,int offset ,int len)int read(byte[] buffer)参数:buff,字符流,将字符传入到字符数组当中。一般大原创 2015-01-22 19:34:09 · 1471 阅读 · 0 评论 -
单例设计模式-饿汉式-懒汉式
设计模式:解决某一类问题最行之有效的方法。 java中目前共有23种设计模式 单例设计模式:解决一个类在内存中只存在一个对象 单例模式设计思想:1. 禁止其他外部类或对象创建该类的实例。2. 为了能生成该类的对象,在本类中自己创建一个对象。3. 为让其他程序可以访问该类的对象,提供一个外部可以访问的get方法。 单例设计模式实现步骤:1. 将构造原创 2015-01-22 16:12:17 · 511 阅读 · 0 评论 -
黑马程序员-抽象类abstract class 与 接口interface 的区别
l 从特性来看1. 抽象类:含有抽象方法的类只能定义成抽象类。抽象类不能被实例化,也即不能使用new关键字来实例化抽象类。2. 接口:是一个完全抽象了的类,没有任何东西可以被子类来继承了。 l 从实现子类的角度来看1. 子类与抽象类的关系,可以类比为”父子”关系,一个儿子只能有一个父亲。即一个子类只能继承一个抽象类。这是java所特有的,因为多继承会造成复杂性。2. 子原创 2014-12-25 13:55:05 · 537 阅读 · 0 评论 -
黑马程序员-反射-.class-Class.forName()-object.getClass()-Constructor-Field
反射Class 类:反射的基石反射就是将java类中的各种成分映射成相应的java类。 java程序中的各个java类,可以描述为同一类事物,用Class类来表示。换句话说:Class类是全部java类的抽象,无论是JDK中的,还是自定义的类。void,数组,java基本数据类型也都表示为Class对象。 特性:Class类没有公共构造方法,Class对象是在加原创 2015-01-12 15:49:47 · 606 阅读 · 0 评论 -
内部类,匿名内部类
内部类:概念:(自己想到的)内部类是一种可以直接访问外部类的一类事物 内部类访问外部类中的成员,包括私有。之所以可以访问外部类的成员,是因为内部类持有了外部类的一个引用,格式为:Outer.this.x外部类访问内部类成员,需要声明内部类的对象。其他类访问内部类方法:当内部类处在成员变量的位置时,就可以被其他的类访问到。格式:Outer.Inner原创 2015-01-27 22:44:12 · 468 阅读 · 0 评论 -
回顾-线程的创建-死锁-File的应用-UDP-TCP-反射Constructor
一、线程根据API 1.6创建线程有两种方式:1. extends ThreadThread类 :public class Thread extends Objectimplements Runnable 继承Thread类重写Thread类的run方法调用Thread子类的start'()方法,启动Thread子类。2. implements Runnab原创 2015-02-03 23:30:02 · 456 阅读 · 0 评论 -
黑马程序员-IO-Encoding
编码表ASCII | 1byte(8位)ISO8859-1 | 1byte(8位)GB2312 | 2byteGBK | 2byteUnicode: | UTF-8: | 最多用2个字节来表示一个字符. 编程验证:例子1:使用字符转换流,将“你好”以不同的编码方式存储起来,查看其大小。package com.lxh.io;import java.io.*;public原创 2015-01-05 14:35:24 · 374 阅读 · 0 评论 -
黑马程序员-递归-斐波那契数列-1到100的和
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------两个递归的医用:1. 从1-100的和2. 斐波那契数列具体的解释都在代码注释中了。原创 2015-01-21 15:07:19 · 854 阅读 · 0 评论 -
黑马程序员-String-StringBuffer-StringBuilder
字符串是一种特殊的对象public final class String一旦初始化成功,就不可能被改变了。其放置在常量池中。 特点:一、String str = “abc”str是一个类类型变量,“abc”是一个对象。 二、1. String str1 = new String(“abc”); 调用了构造方法:String(String original)原创 2015-01-20 17:32:45 · 445 阅读 · 0 评论 -
黑马程序员-IO-PrinterWriter-PrinterStream
PrintStream 字节打印流构造函数可以接收的对象1. File对象2. String类型的路径3. OutputStream字节输出流对象PrintWriter 字符打印流1. File对象2. String类型的路径3. OutputStream字节输出流对象4. Writer字符输出流对象 需求1:接收从键盘输入的数据,在控制台中打印出来。原创 2015-01-03 18:00:56 · 391 阅读 · 0 评论 -
黑马程序员-Properties-
Properties父类:HashTable其键值对都是字符串。功能:配置软件的属性或参数。存取操作-set,getsetProperty(String key, String value)输出方法list(PrintStream out)将Properties对象中的属性列表输出到指定的输出流中。将文件中的键值对存储到集合当中解决思路1:使用流一行行读取文原创 2015-01-03 14:29:46 · 409 阅读 · 0 评论 -
异常-RuntimeException-Error-Exception
异常:异常也是生活中一项正常的事物,所以java将其描述为一个类,封装为一个对象。 l 异常分为两类:1. 严重的---------可以使用Error来描述a) 如运行一个根本不存在的文件;分配的数组大小大于虚拟机甚至物理内存的大小。2. 不严重的------可以使用Exception来描述Exception分为两类(分类的关键点,其出错结果会不会对后续代码产生影响)1原创 2015-01-22 14:48:10 · 830 阅读 · 0 评论 -
黑马程序员-SequenceInputStream文件合并-SplitFile文件分割
SequenceInputStream 合并流可以将多个文件合并成为一个文件,最低是两个,当大于两个的时候可以调用构造方法:SequenceInputStream(EnumerationInputStream> e)该构造方法可以将多个类型为InputStream的对象合并起来。因返回类型为Enumeration,这时候就需要使用集合框架Vector原创 2015-01-04 10:13:13 · 376 阅读 · 0 评论 -
黑马程序员-IO-ObjectStream-PipedStream-RandomAccessFile-DataStream-ByteArrayStream-CharArrayStream
ObjectOutputStream & ObjectInputStream原理:将对象写入OutputStream流中,此流将对象实现持久化存储。实现方法:只能将支持java.io.Serializable接口的对象写入流中,每一个序列化了的类都被编码,编码不是随机产生的,而是根据类中的成员,类名,类签名等构成的编码。注意:static成员不可以被序列化关键词:transie原创 2015-01-04 13:40:01 · 614 阅读 · 0 评论 -
黑马程序-泛型高级应用-向上限定-向下限定
泛型高级应用:? 占位符 || 通配符概念:当集合不确定将要接收什么类型的对象时,使用“?”作为接收未来传递来的对象的通配符。? 占位符 || 通配符格式:Collection ... ...缺点:不能使用对象的特有方法,这一点就是面向接口编程的缺点,可以通过强制转换来使用具体对象的特有方法。package com.lxh.collection;import java.uti原创 2015-01-16 15:36:03 · 2110 阅读 · 0 评论 -
黑马程序员-多线程2
又要开始抢火车票了。突然想到刚刚学习的多线程。需求:火车票售票的例子是解释多线程的好例子。主要用来解释多线程的线程安全问题。知道的朋友都知道,这里需要实现Runnable接口,怎么才能避免线程安全隐含呢?解决方案:同步何时同步呢?如何正确使用同步?1. 大于等于两个线程2. 所有线程使用同一个锁。同步的意思就是为当前线程加锁(锁旗标),这个锁根据不同的同步方式又原创 2014-12-18 13:22:44 · 401 阅读 · 0 评论 -
黑马程序员-多线程:停止,守护线程,join方法
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------守护线程(后台线程)Thread中的方法,setDaemon()当正在执行的线程都是守护线程时,JVM退出。将线程设定为守护线程,就可以控制该线程依赖于某线程,当某线程结束后,所有守护线程都将结束。条件:该方法必须在启动线程前调用。threadInstanc原创 2014-12-22 15:04:11 · 703 阅读 · 0 评论 -
黑马程序员-Thread-生产者消费者
由于现在对生产者消费者类似的功能,缺乏实际的运用,所以不灵活,希望通过提出需求的方式,记住下面代码中能够实现的功能,作为经验积累起来。需求:1. 生产者可以有多个,消费者也可以有多个。Consumer c1 = new Consumer(s);Consumer c2 = new Consumer(s);Consumer c3 = new Consumer(s);Prod原创 2015-01-06 17:01:11 · 385 阅读 · 0 评论