随笔分类 - Java学习笔记
摘要:概述 1.注解Annotation是一种引用数据类型。编译之后也是生成class文件 2.自定义注解: [修饰符列表] @interface 注解类型名 3.注解怎么使用,用在什么地方: 第一:注解使用的语法格式:@注解类型名 第二:注解可以出现在类上、属性上、方法上、变量上等,注解还可以出现在注解
阅读全文
摘要:通过反射机制可以操作 .class 字节码文件 反射机制,让代码具有通用性,可变化的内容都是写到配置文件当中 将来只需要修改配置文件,创建的对象不一样,调用的方法也不一样 但是java代码不需要做任何的改动 反射机制相关类: java.lang.Class:代表字节码文件 java.lang.ref
阅读全文
摘要:生产者&消费者模型 wait & notify 方法不是线程对象的方法,是普通java对象的都有的方法 wait & notify方法建立在线程同步的基础之上。因为多线程要同时操作一个对象,有线程安全问题 wait(): o.wait()让正在o对象上活动的线程t进入等待状态,并且释放掉之前占有对象
阅读全文
摘要:概述 内存 进程之间的内存独立不共享 Java中两个线程: 1)共享堆内存和方法区 2)栈内存各自独立 -两个栈 多线程并发下,数据修改会存在线程安全问题,如何解决? 线程排队执行,用排队执行解决 这种机制称为:线程同步机制 异步编程模型:多线程并发 同步编程模型:线程排队执行 创建新线程的三种方法
阅读全文
摘要:鉴于HashSet、TreeSet和Map集合中的HashMap、TreeMap关联,所以放在一起 主要内容: 1.TreeSet、TreeMap、比较器 2.HashSet、HashMap、哈希表 继承结构图 Map接口 1.概述 Map和Collection没有继承关系 Map集合以key和va
阅读全文
摘要:集合继承结构图 Collection接口 #####1.Collection中能存放什么元素? 没有使用"泛型"之前,Collection中可以存储Object的所有子类型 使用之后,只能存储某个具体类型 #####2.常用方法 boolean add(E e) :可以添加任意引用类型 void c
阅读全文
摘要:1.基本概念 File类和四大家族没有关系,所以File类不能完成文件的读写 一个File对象是目录名或者文件的抽象表示形式 示例程序 public class FileTest01 { public static void main(String[] args) throws IOExceptio
阅读全文
摘要:缓冲流 & 转换流 示例1 -BufferedReader (1)知识点: BufferedReader: 带有缓冲区的的字符输入流 使用这个流的时候不需要自定义char数组或者byte数组,自带缓冲 构造方法:BufferedReader(Reader in) 缓冲流的使用需要传递参数:字符流,字
阅读全文
摘要:概述 ####1. 按照字节的方式读取: 等同于一次读取8个二进制位; 是万能的,什么类型都能读取,包括文本、声音、图片。。 例如:a重点 第一次读取a 一个字节;第二次读取“重”的前半部分 一个字节 ####2. 按照字符去读取数据,一次读取一个字符,为了方便读取普通的文本文件 不能读取除了普通文
阅读全文
摘要:枚举 枚举编译之后也是生成class文件 枚举也是一种引用数据类型 枚举中的每一个值可以看作是常量 示例程序: enum Result{ //SUCCESS FAIL 都是是枚举Result类型中的一个值 //枚举中的每一个值,可以看作说“常量”,所以要大写 SUCCESS,FAIL } publi
阅读全文
摘要:日期相关类 日期类:Date 格式化日期类:SimpleDateFormat 获取当前时间的总毫秒数,静态方法:System.currentTimeMillis() 示例: import java.text.SimpleDateFormat; import java.util.Date; publi
阅读全文
摘要:异常概述 异常在java中以类的形式存在,每一个异常类都可以创建异常对象 当异常发生的时候,JVM就会创建对应的异常类对象,然后抛出异常 java异常类的组织结构 Object: Throwable Throwable: Error(错误) & Exception(异常) Error (JVM直接退
阅读全文
摘要:包装类存在的意义 前几天的作业stack中: 调用:push(100),将基本类型传递给了Object, 理论上这种语法显然是不对的,基本类型无法传递给引用数据类型 实际上,java将100先“包装“成包装类(自动装箱和拆箱),才能实现参数传递的 示例(自己写的包装类): java中的八种包装类 b
阅读全文
摘要:StringBuffer 如果频繁进行字符串拼接,会有什么问题? 因为Java中字符串是不可变的,每一次拼接都会产生新的字符串,这样会占用大量的字符串常量池内存,造成浪费 例如: 以上两行代码就在方法区内存中创建了3个字符串对象"Hello"," World"和"Hello World". Stri
阅读全文
摘要:java.lang.String String表示字符串类型,属于引用数据类型,不属于基本数据类型 构造方法 1.动态创建:String s = new String(""); 2.静态创建:String s = ""; 3.String s = new String(char); 4.String
阅读全文
摘要:数组 数组的特点 1.空间存储上,内存地址是连续的,且每个元素占用的空间大小相同 2.知道首元素的内存地址 3.通过下标可以计算出偏移量,然后通过一个数学表达式就可以快速计算出某个下标位置上元素的内存地址。 优点:检索效率高 缺点:随机增删效率低,数组无法存储大数据量 Java中的数组 1.Java
阅读全文
摘要:1.toString方法: 返回对象的字符串表示形式。 一般来说, toString方法返回一个代表这个对象的字符串。 结果应该是一个简明扼要的表达,容易让人阅读。 建议所有子类覆盖此方法。 输出引用时默认自动调用toString方法 示例: 2.equals 方法: 以后编程的过程当中,通过equ
阅读全文
摘要:1.为什么要使用package? package是java中包机制。包机制的作用是为了方便程序的管理。 不同功能的类分别存放在不同的包下。(按照功能划分,不同的软件包具有不同的功能) 2.package怎么用? package是一个关键字,后面加包名。例如: 注意package语句只允许出现在jav
阅读全文
摘要:接口 1.接口是引用数据类型 2.接口是完全抽象的(抽象类是半抽象)或者也可以说接口是特殊的抽象类 3.接口的语法: [修饰符列表] interface 接口名{} 4.接口与接口之间, 接口与类之间都支持多继承 5.接口只包含常量和抽象方法,所以没有构造方法 6. 接口中所有的元素都是public
阅读全文
摘要:抽象类 1.什么是抽象类? 类和类之间具有共同特征,将这些共同特征提取出来,形成的就是抽象类。 类本身是不存在的,所以抽象类无法创建对象(无法实例化) 2.抽象类属于什么类型? 抽象类属于引用类型 3.抽象类怎么定义? [修饰符列表] abstract class 类名{} 4.抽象类是无法实例化的
阅读全文