Java 基础
BlackBlackMamba
这个作者很懒,什么都没留下…
展开
-
Java基础之数据类型
数据类型的由来由于Java是一种强类型语言,声明一个变量必须规定数据类型(基本数据类型、引用数据类型)基本数据类型的分类(四类八种)整数型byteshortintlong浮点型floatdouble布尔型boolean字符型char整型占用字节范围byte 字节1-128~127short 短整型2-2^15 - 2^15-1int 整型4-2^31~ 2^31-1long 长整型8-2^63~ 2^原创 2021-11-16 15:17:52 · 651 阅读 · 0 评论 -
Java 集合&ArrayList源码分析
1-使用集合的好处 数组:长度固定、一旦指定,不能修改 保存同类型的元素 增加、删除元素比较麻烦 int[] ints = new int[1]; ints[0] = 1; //数组扩容 int[] ints1 = new int[ints.length + 1]; for (int i = 0 ; i < ints.length; i ++) {原创 2021-11-11 21:09:34 · 500 阅读 · 0 评论 -
Java 注解
@Target是修饰注解的注解,称为元注解@Deprecated表示已过时,可以修饰在包、类、方法、字段、参数,作用是做到新旧版本的兼容和过渡@SuppressWarnings({""})ngs({""})当我们不希望看到某些警告时,可以使用 SuppressWarnings 注解来抑制警告信息,{""}中可以写入希望抑制的警告信息,如:all...原创 2021-11-11 21:06:53 · 204 阅读 · 0 评论 -
Java 枚举
枚举是一组常量的集合自定义枚举类使用枚举类创建枚举类的特点:会隐式继承Enum类,枚举类是一个final 类,可以使用Javap 工具反编译验证枚举对象必须放在枚举类的首行不需要set方法,因为枚举对象值通常为只读构造方法私有化public enum AAEnum{ A(1,"1"), //常量名(参数列表),其实是调用构造方法 B(2,"2"), C(3,"3"); private Integer value; private String na原创 2021-11-11 21:05:41 · 36 阅读 · 0 评论 -
Java之字符串
1-实现了serializable,表示该类可以串行化,表明可以在网络中传输2-实现了Comparable,表明可以比较大小3-是final修饰的,不能被其他类继承4-底层是private final byte[] value,用于存储字符串内容,final修饰的,一旦赋值不能被改变, 不能被修改的意思是,地址不能被修改,但是可以修改其中单个字符// 不能被改变final byte[] a = {'a','b'};a[0] = 'c'; //可以改变其中的单个字符a = {'c'}; /原创 2021-11-11 21:04:24 · 399 阅读 · 0 评论 -
Java内部类
类的五大成员:属性、方法、构造器、代码块、内部类四种内部类:1-局部内部类(放在方法或者代码块中)2-匿名内部类(放在方法或者代码块中)3-成员内部类4-静态内部类局部内部类public class Out { private int a = 1; private void n3(){} private void n1(){ //3.局部内部类不能添加访问修饰符,但可以用final修饰 class Inner {原创 2021-11-11 20:59:40 · 37 阅读 · 0 评论 -
Java之序列化
java 中对象的序列化是指:将对象转化为以字节序列的形式表示,一个序列化后的对象,可以被写入到数据库或者文件中,也可以用于网络传输,一般当我们调用rpc(网络传输)的时候,经常需要我们的对象实现Serializable接口,序列化的最终目的是反序列化,反序列化后的字节序列可以恢复成Java对象,这个过程叫反序列化。# 序列化需要实现Serializable接口class Person implements Serializable{ //该字段不被序列化 private transi原创 2021-11-11 20:58:06 · 40 阅读 · 0 评论 -
Java 异常及处理
程序运行过程中发生的不正常行为叫做异常异常体系图Error栈溢出内存溢出Exception运行时异常空指针异常数学运算异常类型转换异常 classCastException数组下标越界异常数字格式化异常 NumberFormatExceptionint a = Integer.parseInt("s");编译时异常是指代码在编译期间就必须处理的异常,否则代码不能编译通过IOExceptionClassNotFoundExceptionFileNotFoundExcept原创 2021-11-11 20:55:49 · 375 阅读 · 0 评论 -
java 之 hashCode & equals & ==
==判断基本数据类型,判断的是值是否相等判断引用数据类型,判断的是地址是否相等1:A a = new A(); A b = a; A c = a; a == b == c ;//trueequals()是Object的方法,只能判断引用类型是否相等,默认判断的是地址是否相等子类往往重写该方法,判断内容是否相等,比如Integer、StringObject的equals()public boolean equals(Object obj) { return (this原创 2021-11-11 20:53:36 · 42 阅读 · 0 评论 -
Java关键字final
final 关键字的作用是防止数据被修改,保证代码的安全。可以修饰类、类中的方法、变量、参数修饰类如:String 类public final class String implements java.io.Serializable, Comparable<String>, CharSequence { ... }被 final 修饰的类,表示该类不可以被继承,防止被修改。修饰方法当不希望子类重写父类的某个方法时,可以使用 final 修饰该方法public原创 2021-11-11 20:51:48 · 63 阅读 · 0 评论 -
java 关键字static
static 的作用变量方法代码块内部类被static 修饰的成员变量个方法,只属于类本身,不属于类的某个对象。static 修饰的成员变量和方法从属于类,普通方法和变量从属于对象什么情况下需要使用静态方法?方便在没有创建对象的时候调用类中的静态方法和静态变量, 调用该方法的时候不用实例化,比如一些工具类静态变量static成员变量的初始化顺序按照定义的顺序进行初始化。静态方法静态方法不能调用非静态成员变量,否则编译失败非静态方法中可以访问静态方法和静态成员变量static 方法原创 2021-11-11 20:50:06 · 419 阅读 · 0 评论 -
Java基础-基本数据类型的包装类
常量池常量池是为了方便快捷的获取某些对象而出现的,当需要一个对象时,就从常量池中取出(如果没有就创建一个),因此在需要重复创建相等变量时节省l时间。基本数据类型都有对应的包装类。包装类大部分都实现了常量池技术。即:Byte、Short、Integer、Long、Character、Boolean.前面四种默认在[-128-127]区间内缓存数据,Character在[0-127]缓存数据。如果超出范围会创建。浮点型并没有实现常量池技术。Double d1 = 1.2;Double d2 = 1.原创 2021-11-07 22:49:43 · 54 阅读 · 0 评论 -
Java基础-注解
@Target是修饰注解的注解,称为元注解@Deprecated表示已过时,可以修饰在包、类、方法、字段、参数,作用是做到新旧版本的兼容和过渡@SuppressWarnings({""})ngs({""})当我们不希望看到某些警告时,可以使用 SuppressWarnings 注解来抑制警告信息,{""}中可以写入希望抑制的警告信息,如:all...原创 2021-11-03 17:33:38 · 33 阅读 · 0 评论 -
Java基础-运算符
1:短路与&&。a&&b,当a为false时,程序不会再判断b的逻辑判断 int a = 6; int b = 2; if(a < 1 && b++ >5){ System.out.println(1111); } System.out.println(b); // 2 int a = 6; int b = 2; if(a < 8 && b++ >5){原创 2021-11-03 17:31:43 · 384 阅读 · 0 评论 -
Java基础之数据类型
数据类型的由来由于Java是一种强类型语言,变量必须规定数据类型(基本数据类型、引用数据类型)基本数据类型的分类(四类八种)整数型byteshortintlong浮点型floatdouble布尔型boolean字符型char整型占用字节范围byte 字节1-128~127short 短整型2-215~215-1int 整型4-231~231-1long 长整型原创 2021-11-03 17:24:07 · 89 阅读 · 0 评论 -
Java 源码解读之 String 类
String 类定义package java.lang; public final class String implements java.io.Serializable, Comparable<String>, CharSequence {.....}String 类是 java lang 包下的一个类被 final 修饰的一个常量类,不能被任何类继承,被创建后,该对象的字符序列是不可变的,包含该类后续的所有方法都不能修改该对象,直至该对象被销毁,该类的一些方法,原创 2020-11-26 22:29:27 · 99 阅读 · 0 评论 -
Java 注解 和 反射
注解注解的作用是:对注解对象增加了额外的辅助功能,配合反射机制访问元数据;可以被其他程序读取,格式是:@…使用位置:package、class、method、filed,元注解作用是:定义其他注解的注解;元注解存在 annotation 包下;四个元注解:@Target@Retention@Documented@Inherited/** * ElementType 注解可以作用的地方 */@Target(value = {ElementType.METHOD, Eleme原创 2020-10-11 23:07:15 · 36 阅读 · 0 评论 -
Java 异常
异常分类所有异常的父接口 Throwable 子接口 Error、ExceptionError系统级别异常, 如 jvm 异常、内存崩溃Exception## 运行时异常 RuntimeException 程序逻辑引起的异常## 检查异常 CheckedException 编译器需要处理的异常,处理方式是 throws Exception 让虚拟机来处理,或者 try ..catch集合并发修改异常java.util.ConcurrentModificationExc原创 2020-10-08 17:37:43 · 177 阅读 · 1 评论 -
java泛型
泛型将类型作为参数传递, 有泛型类,泛型接口,泛型方法<T,...> T 表示类型占位符,表示一种引用类型好处:提高代码的重用性防止类型转换异常,提高安全性原创 2020-10-09 16:20:38 · 35 阅读 · 0 评论 -
Java 基础 - equals和==
概念如果没有重写equals(), equals 比较的是两个对象的地址是否相等。Java 类中重写equals() 的基本类String Date如何重写 equals() ?1. 判断传入的对象是否是 null ,如果是 null ,返回 false;2. 判断两个对象的地址是否相等,如果相等,返回 true;3. 判断两个对象是否属于同一个类型,如果是,返回true;4. 比较两个对象的属性值是否相等为什么重写equals(), 要重写 hashCode() ?如果不重写原创 2020-10-09 15:16:10 · 53 阅读 · 0 评论 -
Java 基础 - final 关键字
1:源码#####String 是 final 修饰的public final class Stringextends Objectimplements Serializable, Comparable<String>, CharSequence###2: 规则final 修饰变量,作为常量,其值不能被改变final 修饰类,不能被继承,没有子类final 修饰方法,不能被重写3:面试题public class FinalTest { public final原创 2020-10-08 17:36:45 · 49 阅读 · 0 评论 -
Java 基础 - static 关键字
一:Staticstatic 表示 "全局"、"静态", 修饰的属性是在类的加载期间初始化的,使用类名. 属性 调用。static 关键字可用于变量、方法、代码块和内部类,表示某个特定的成员只属于某个类本身,而不是该类的某个对象。1:修饰静态代码块静态代码块是在类加载期间运行的代码块,由于类只加载一次,所以静态代码块只加载一次,静态代码块用途很常见,一般用来在类加载以后初始化一些静态资源和全局时候使用public class BaseTest { static{ System.原创 2020-10-08 17:35:58 · 56 阅读 · 0 评论 -
Java 基础 - 数据类型总结
基本数据类型基本数据类型字节备注boolean1/8 字节默认值是 false,只能用 true 、false,不能用 0、1 代替byte1 字节范围:-128 - 127, 默认值是 0short2 字节默认值是 0char2 字节默认值是 \u0000, 最大值 65535, 存储 unicode 字符int4 字节默认值是 0 , 最大值 2^31 -1float4 字节单精度,默认值是 0.0f, 不能表示精确的值,如货原创 2020-10-08 17:34:42 · 56 阅读 · 0 评论