Java基础
PisecesPeng
这个作者很懒,什么都没留下…
展开
-
Java学习提要——简述多线程的同步synchronized与死锁
同步,异步到底是什么,看下面的例子://正常输出 class MyThread implements Runnable { private int ticket = 5 ; //一共5张票 public void run() { for(int x=0 ; x < 20 ; x++) { if(this.ticket >...原创 2016-09-03 19:32:44 · 303 阅读 · 0 评论 -
Java学习提要——Callable接口
(太麻烦,仅了解) Runnable接口可以避免单继承局限,但是,Runnable接口里面的run()方法,我们不可以返回操作结果 于是,新的接口 java.util.concurrent.Callable接口 格式: @FunctionalInterface public interface Callable< V > { public V call() throws E原创 2016-09-03 15:06:27 · 403 阅读 · 0 评论 -
Java学习提要——'接口'的基础示例
1.接口的基本定义1)基础概念如果一个类之后只有由抽象方法和全局常量组成的,那么在这种情况下不会将其定义为一个抽象类,而只会将其定义为接口,所谓接口严格来说就属于一个特殊的类,而且这个类里面,只有抽象方法和全局常量,连构造方法都没有。 interface A { //定义了接口 public static final String MSG = “Hello”;//全局常量原创 2016-08-24 14:18:35 · 337 阅读 · 0 评论 -
Java学习提要——认识'泛型'与其常见操作
1.泛型技术平时写代码,代码的类型如果不能确定,那会怎么办呢? 先看个错误的例子:class Point { private Object x ; private Object y ; //set、get构造方法略}public class Nice { public static void main(String args[]) { //设置数原创 2016-08-31 13:51:06 · 312 阅读 · 0 评论 -
Java学习提要——异常的基本概念
异常是Java的一大特色,合理的使用异常处理,可以让程序更加健壮。1.异常的产生异常是导致程序中断执行的一种指令流,异常一旦出现并且没有进行合理的处理,那么程序就会中断执行。 产生异常: public class Nice { public static void main(String args[]) { System.out.println(“begin”);原创 2016-08-28 09:10:35 · 490 阅读 · 0 评论 -
Java学习提要——浅述'Thread类'和'Runnable接口'的区别
使用Runnable接口与Thread类相比,解决了单继承的局限,仅仅这一点,就让Runnable接口的应用多得多了1. 观察Thread类的定义: public class Thread extends Object implements Runnable 这种结构如果画图分析的话,非常像代理设计模式,但是又不是,因为客户端调用代理类的方法,不是接口里提供的方法,也就是run()方法。2.原创 2017-03-12 11:34:35 · 375 阅读 · 0 评论 -
Java学习提要——'Thread类'与'Runnable接口'基础
在Java之中,实现多线程有两种途径: 继承Thread类 实现Runnable接口(Callable接口)1.继承Thread类Thread类是一个支持多线程的功能类 格式: class 名称 extends Thread {} //多线程操作类 注意,在多线程的每个主体类之中,都要覆写Thread类中的run()方法 格式:public void fun() {} //没有返原创 2017-03-12 11:45:25 · 359 阅读 · 0 评论 -
Java学习提要——输入流与输出流基本操作
能对文件进行内容操作的只有两种途径“字符流”和“字节流” 1.通过File类定义一个要操作的文件的路径; //如果操作不是文件,那么没有这一步 2.通过字节流或字符流的子类对象为父类对象实例化; 3.进行数据的读(输入),写(输出)操作; 4.数据流属于资源操作,资源操作必须关闭 java.io包 定义的流 字节流(JDK1.0)原创 2016-09-27 12:18:00 · 1658 阅读 · 0 评论 -
Java学习提要——File类常见操作与目录操作
1.File类常见方法1)File类目录创建操作 问题引出: 在写File类操作的时候,是不可以直接输入一个不存在的目录,然后加入要创建的文件 这样系统会认为此时的路径是不可以使用的,那么就会出现创建错误 那么,我们怎么判断是否存在父路径呢?/*找到父路径:public File getParentFile();getParentFile配合.exists使用,返回fal原创 2016-09-26 08:47:26 · 408 阅读 · 0 评论 -
Java学习提要——字符流与字节流的基本操作与区别
1.字符输出流:Writer//JDK1.1之后增加的,定义:public abstract class Writeextends Objectimplements Appendable,Closeable.Flushable//注意的是,上面的接口,多了一个Appendable接口,这是实现数据的追加,定义如下public interface Appendable { public原创 2016-09-28 09:59:12 · 401 阅读 · 0 评论 -
解析XML文件——JDOM基本操作
注意,下载完JDOM的组件后,只需要将jdom-2.0.6.jar这一个jar包导入编译器即可1.JDOM生成XML文件import org.jdom2.Attribute;import org.jdom2.Document;import org.jdom2.Element;import org.jdom2.output.XMLOutputter;import java.io.File;i原创 2017-05-16 22:36:37 · 612 阅读 · 0 评论 -
解析XML文件——DOM4J基本操作
1.SAX的主要事件处理 方法 说明 public void startDocument() throws SAXException 文档开始 public void endDocument() throws SAXException 文档结束 public void startElement(String uri,String localName,String qName原创 2017-05-16 22:39:22 · 549 阅读 · 0 评论 -
解析XML文件——SAX基本操作
1.SAX的主要事件处理 方法 说明 public void startDocument() throws SAXException 文档开始 public void endDocument() throws SAXException 文档结束 public void startElement(String uri,String localName,String qName原创 2017-05-16 22:43:14 · 489 阅读 · 0 评论 -
Java学习提要——String的基本方法
内容较多,写一起主要是以后翻阅方便 基本格式不再重复写,主要是介绍每个方法。1.取出指定索引的字符返回值 char String str = “hello”; // 取出指定索引的字符 char c = str.charAt(0); //’0’即为索引值 System.out.println(c);2.字符串与String转换返回值 char[] String s原创 2016-08-15 17:28:09 · 609 阅读 · 0 评论 -
Java学习提要——overloading与override,this.与super()
1.重载与覆写 . overloading override 发生范围 在一个类之中 在继承关系里 定义 方法名相同、参数类型及个数相同 方法名称、参数类型、个数相同,方法返回值相同 权限 无权限限制 被覆写的方法不能有比父类更严格的访问控制权限访问权限由宽到严-> public > protected > default > private ove原创 2016-08-20 15:19:08 · 317 阅读 · 0 评论 -
Java学习提要——基本网络编程Socket与echo
1.Socket通信 网络程序的开发,有着两个核心的类: 服务器类:ServerSocket,主要工作在服务器端,用于接收用户的请求; 客户端类:Socket,每一个连接到服务器上的用户都通过Socket表示; //定义服务器端——主要使用ServerSocket//构造方法:public ServerSocket(int port) throws IOEx原创 2016-10-28 20:39:36 · 571 阅读 · 0 评论 -
Java学习提要——Class类基础与动态加载类
1.Class类基础 java面向对象,类也是对象,是java.lang.Class 类的实例对象package test.demo; //因为待会要用到包,请按自己包名称改变public class Nice { public static void main(String[] args) { //Test的实例对象表示 Test tt = new原创 2016-10-31 08:05:00 · 379 阅读 · 0 评论 -
Java学习提要——StringBuffer类与其'三兄弟'之间的区别
Stirng类的特点: 1.String类对象有两种实例化方式: 直接赋值:只开辟一块堆内存,可以自动入池 构造方法:开辟两块堆内存空间,不会自动入池,使用intern()手工入池 2.任何一个字符串都可以是String类的匿名对象 3.字符串一旦声明则不可以改变,可以改变的只是String类对象的引用要注意的是,String类有一个问题,就原创 2016-09-07 11:47:46 · 235 阅读 · 0 评论 -
Java学习提要——File类的基本操作
File类是一个与文件本身操作有关的类,但是不涉及到文件的具体内容File类的构造方法 设置完整路径:public File(String pathname); 设置父路径与子文件路径:public File(File parent,String child) 大部分情况使用第一个操作,第二个在android上使用比较多 //创建文件public boolean原创 2016-09-25 21:31:41 · 313 阅读 · 0 评论 -
Java学习提要——对象多态性概念
多态性的两种描述形式: 方法的多态性: 方法的重载:同一个方法名称,会根据传入参数的类型及个数不同执行不同的方法体 方法的覆写:同一个方法,会根据子类的不同,实现不同的功能 对象的多态性: 向上转型:(自动完成)父类 父类对象 = 子类实例 向下转型:(强制完成)子类 子类对象 = (子类)父类实例 向上转型:原创 2016-08-23 11:14:37 · 362 阅读 · 0 评论 -
Java学习提要——对象序列化
1.对象序列化的基本应用 所谓的对象序列化指的就是将保存在内存中的对象数据 转换为二进制数据流进行传输的操作。 但是不是所有类的对象都可以进行序列化,那么其所在的类一定要实现 java.io.Serializable接口 !其接口没有任何操作方法,它是一个标识接口,表示的是一种能力。//定义一个可以被序列化对象的类import java.io.Serializab原创 2016-10-23 20:38:28 · 370 阅读 · 0 评论 -
解析XML文件——DOM基本操作
1.DOM的常用方法1)Document接口常用方法 方法 说明 public NodeList getELementsByTagName(String tagName) 取得指定名称的NodeList public Element createElement(String tagName) throws DOMException 创建一个指定名称的节点 public Te原创 2017-05-16 22:34:43 · 430 阅读 · 0 评论 -
Java学习提要——IO操作的内存流
有一个应用需要进行IO操作,可是又不想产生文件。我们就可以使用内存来进行输入与输出的操作——使用内存流的场景 java.io包里提供两组操作: 字节内存流:ByteArrayInputStream、ByteAttayOutputStream 字符内存流:CharArrayReader、CharArrayWriter //主要以字节内存流操作为例子,两个操作其实原创 2016-10-13 08:51:33 · 502 阅读 · 0 评论 -
Java学习提要——打印流基础
为了解决输出数据时的功能不足,所以java.io包里面提供一套专门的用于输出数据的类:PrintStream(打印字节流)、PrintWriter(打印字符流) 以PrintStream类为例,观察这个类的继承与构造方法 继承: java.lang.Object |-java.io.OutputStream |-java.io.FilterOut原创 2016-10-13 13:43:10 · 367 阅读 · 0 评论 -
Java学习提要——"反射"获取方法信息(成员函数、成员变量 、构造函数)
1.查看Class的类名称public class ClassName { public static void main(String[] args) { Class c1 = int.class; //int的类类型 Class c2 = String.class; //String类的类类型 Class c3 = double.cla原创 2016-10-31 08:15:48 · 382 阅读 · 0 评论 -
Java学习提要——抽象类的使用限制
很干很干…..1.抽象类的组成和普通类基本不大,抽象类里面会存在一些属性,那么在抽象类之中一定会存在构造方法,目的:为属性初始化,并且子类对象实例化时,依然是先满足于先执行父类构造,在调用子类构造的情况。2.抽象类不能够使用 final 定义,因为抽象类必须要有子类。3.外部抽象类不允许使用 static 声明,而内部类允许使用是他提出声明,使用static 声明的内部类,就相当于是一个外部抽象类,原创 2016-08-23 16:46:23 · 557 阅读 · 0 评论 -
Java学习提要——System类基本
1.取得当前的系统时间:格式:public static long currentTimeMillis() 例://取得程序执行的时间public class Nice { public static void main(String args[]) throws Exception { long start = System.currentTimeMillis() ;原创 2016-09-08 08:59:11 · 292 阅读 · 0 评论 -
Java学习提要——Runtime类基础
每一个JVM进程里都会存在一个Runtime类的对象,这个类的主要功能是取得一些与运行时有关的环境属性或者创建新的进程等操作 在Runtime类定义的时候它的构造方法已经被私有化,这就属于单例设计模式的应用,因为要保证整个电脑里只有唯一的一个Runtime类的对象。 所以,在Runtime类里面提供有一个static型的方法,这个方法可以取得Runtime类的实例化方法 格式: public原创 2016-09-07 18:25:28 · 231 阅读 · 0 评论 -
Java学习提要——sleep()和wait()的实例与区别
非常经典的多线程处理模型//生产者与消费者实例class Info { private String title ; private String content ; private boolean flag = true ; // flag = true,表示可以生产,但是不可以取走 // flag = flase,表示可以取走,但是不可以生产 p原创 2016-09-05 19:12:53 · 321 阅读 · 0 评论 -
Java学习提要——逻辑运算符与位运算符
简单粗暴两张表: 逻辑运算符: 逻辑运算符 说明 表达式 描述 && 短路与 条件1&&条件2 仅仅两个条件同时为真,结果为真,若1为假,则不判断2 || 短路或 条件1||条件2 只要两个条件有一个为真,结果为真,若1为真,不判断2 ! 非 !条件 条件为真时,结果为假;条件为假时,结果为真 & 与 条件1&条件2 仅原创 2016-08-13 10:49:20 · 260 阅读 · 0 评论 -
Java学习提要——接口进阶
JDK1.8新特性1.接口定义增强应用场景:当有一个接口,比方其子类已经有一万个了,若是现在觉得扩充接口功能,而所有子类对于此方法的功能实现是完全一样的,要是以前我们要把每个子类都覆写上这个新方法。。 为了解决,现在运行在接口里定义普通方法,而不是抽象方法了//使用default定义方法interface IMessage { //定义接口 public void print();原创 2016-09-02 09:28:01 · 274 阅读 · 0 评论 -
Java学习提要——Comparable接口
1.Compatable接口先看下Arrays类中提供的数组排序办法: public static void sort(Object [] a)//此程序会错误输出import java.util.Arrays ;class Book { private String title ; private double price ; public Book(String t原创 2016-09-12 18:06:56 · 332 阅读 · 0 评论 -
Java学习提要——日期处理类
1.日期打印Date类java里面提供一个java.util.Date的类,它直接就表示当前系统的时间 例:import java.util.Date;public class Nice { public static void main(String args[]) { Date date = new Date(); System.out.println(原创 2016-09-11 21:42:20 · 236 阅读 · 0 评论 -
Java学习提要——字符串连接
Public class string{ Public static void main( String [] args ){ int res = 10 ; String str = ” 结果为: ” ; System.out.println(str + res); //字符串连接 } } println内容 输出结果//原因 (str + re原创 2016-08-13 10:21:20 · 236 阅读 · 0 评论 -
Java学习提要——包装类与数据类型转换
1.基本定义方便用户的使用,专门提供了一组包装类,来包装所有的基本类型: byte(Byte)、int(Integer)、long(Long)、short(Short)、float(Float)、double(Double)、char(Character)、boolean(Boolean)、 又分为 对象型包装类(Object直接子类): Character 、Bool原创 2016-08-26 17:09:54 · 542 阅读 · 0 评论 -
Java 与 C 的枚举
枚举是什么,用我自己的话说就是一个变量可能不仅仅只有一个值,而枚举则可以把它们存在的情况都一一列举出来 enum关键字,来定义枚举的1.C的枚举//C#include <stdio.h>#include <stdlib.h>int main(){ enum color{red,green,blue}; enum color test ; test = red ;原创 2016-09-02 10:29:17 · 712 阅读 · 0 评论 -
Java学习提要——缓冲输入流
如果进行中文处理,首先想到的就是字符流, 并且想要完整的处理数据那么一定需要缓冲区 缓冲区有两种流: ·字符操作区流:BufferedReader、BufferedWriter ·字符缓冲区流:BufferedInputStream、BufferedOutputStream //最重要的是BufferedReader,因为其类里面有个最重要的方法p原创 2016-10-23 20:27:58 · 417 阅读 · 0 评论 -
Java学习提要——Scanner基础应用
BufferedReader可以解决大文本数据的读取操作 但是BufferedReader有两个问题: 1.读取数据的时候只可以按照字符串返回:public String readLine() throws IOException; 2.所有的分隔符都是固定的。 1.Scanner的基本应用 java.util.Scanner类//构造方法:publ原创 2016-10-23 20:34:01 · 361 阅读 · 0 评论 -
Java学习提要——方法引用
JDK1.8新特性1.方法引用概念方法引用就是为一个方法设置别名,相当于一个方法定义不同的名字 其四种形式: 引用静态方法: 类名称 :: static 方法名称 引用某个对象方法: 实例化对象 :: 普通方法 引用特定类型方法: 特定类 :: 普通方法 引用构造方法: 类名称 :: new 接口里面只需要存在一个方法!所以为了保证只有一个方法,那么在定义之前加上@Functio原创 2016-09-01 17:36:38 · 253 阅读 · 0 评论 -
Java学习提要——多线程命名、休眠、优先级
1.多线程的命名与取得线程的执行顺序,是会根据自己的情况进行资源的抢占,如果要每个线程,那么就要依靠线程名字了 线程名字一般会在启动之前进行定义,不建议对已经启动的线程更改名称,或者不同线程设置重名的情况线程名称操作,可以使用Thread类的方法: 构造方法:public Thread(Runnable target , String name); 设置名字:public final v原创 2016-09-03 17:07:50 · 369 阅读 · 0 评论