![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java语言
Zane.J
这个作者很懒,什么都没留下…
展开
-
Java反射
Java 反射Class 对象类加载器加载字节码文件到方法区,同时会生成类的Class对象放入Class对象的主要构成包括成员变量 Filed[] fields构造方法 Construct[] cons成员方法 Method [] methods什么是反射将类的各个组成部分封装成其他对象,利用这些对象就是反射获取Class对象的方法源码阶段:Class.forName(“...原创 2019-10-26 21:20:17 · 88 阅读 · 0 评论 -
Java 内部类(成员内部类、静态内部类、匿名内部类、局部内部类)
什么是内部类在类的内部定义另一个类。内部类的定义格式如下:public class 外部类的名称{ //外部类的成员 public class 内部类的名称{ //内部类的成员 }}使用内部类的优缺点优点:1、实现多重继承2、内部类可以很好地实现隐藏:一般的非内部类,是不允许有 private 与protected权限的,但内部类可...转载 2019-03-03 17:47:29 · 140 阅读 · 0 评论 -
单例模式
什么是单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例...转载 2019-03-04 18:52:20 · 62 阅读 · 0 评论 -
几种编码方式
ASCII 码学过计算机的人都知道 ASCII 码,总共有 128 个,用一个字节的低 7 位表示,0~31 是控制字符如换行回车删除等;32~126 是打印字符,可以通过键盘输入并且能够显示出来。UTF-16说到 UTF 必须要提到 Unicode(Universal Code 统一码),ISO 试图想创建一个全新的超语言字典,世界上所有的语言都可以通过这本字典来相互翻译。可想而知这个字典...翻译 2019-03-04 19:23:58 · 1408 阅读 · 0 评论 -
Java 异常
Java 异常体系1、常常会再捕获一个异常后跑出另外一个异常,并且希望把异常原始信息保存下来,这被称为异常链。2、在JDK1.4以前,程序员必须自己编写代码来保存原始异常信息,3、现在所有Throwable的子类子构造器中都可以接受一个cause对象作为参数,这个cause就异常原由,代表着原始异常,即使在当前位置创建并抛出行的异常,也可以通过这个cause追踪到异常最初发生的位置。4、...转载 2019-03-04 20:12:43 · 65 阅读 · 0 评论 -
Java 集合
线程非安全ArrayList底层数组实现自动扩容,默认初始长度10,每次扩容为当前容量的1.5倍常用方法 add()、size()、get()、iterator()、listiterator()listIteraotr() 允许迭代器从前向后、或者从后向前遍历数组,并且可以增加、删除节点LinkedList底层双向链表实现可在list前后增加删除节点常用方法 add()、g...原创 2019-08-25 15:21:59 · 74 阅读 · 0 评论 -
Java 线程状态
Java 线程状态New 、RUNABLE、BLOCKED、WAITING、TIME_WAITING、TERMINATED /** * Thread state for a thread which has not yet started.、 * 线程建立未开始运行 */ NEW, /** ...原创 2019-08-17 11:06:41 · 79 阅读 · 0 评论 -
Mysql InnoDB索引
索引使用场景whereorder byjoin-覆盖索引索引使用注意事项字段要独立出现原创 2019-09-05 20:55:47 · 92 阅读 · 0 评论 -
静态属性和静态方法继承和重写问题
静态属性和静态方法是否可以被继承或者重写java中静态属性和和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏。静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成的,不需继承机制就可以调用如果子类里面定义了静态方法和属性,那么这时候父类的静态方法 或属性称之为“隐藏”,你如果想要调用父类的静态方法和属性,直接通过父类名.方法名或变量名完成,至于是否继承一说,子类是有...转载 2019-03-03 15:56:20 · 193 阅读 · 0 评论 -
Java 序列化
什么是序列化对象转化为字节流为什么序列化永久保存对象,将对象的字节序列保存到本地文件中。通过序列化对象,在网络中传递对象序列化对象,在进程间传递对象序列化方法1:实现Serializable接口(隐式序列化)实现Serializable接口,这种是隐式序列化,会自动序列化所有非static和transient关键字修饰的成员变量。public class A implement...翻译 2019-03-03 13:39:57 · 80 阅读 · 0 评论 -
final、finally和fianlize区别
finalfinal可以用来修饰类、方法、变量(成员变量、局部变量)。修饰类final修饰类的时候不能别其他类继承。例如:Java SDK 中String、StringBuffer、BigInteger等类修饰方法把方法锁定,以防止继承类对其进行更改。修饰变量final 修饰基本数据类型表示该基本数据类型的值一旦被初始化就不能修改,如果是一个引用型被初始化以后就不能指...翻译 2019-03-03 11:40:12 · 572 阅读 · 0 评论 -
int和Integer的区别
intint是java基本数据类型,不需要实例化,默认值是0。IntegerInteger是java一个包装类,必须实例化后才能使用,默认值是null。比较int和Integer 比较时,只要两个变量的值是相等的,则结果为true,因为int和Integer比较时编译器会将Integer自动拆箱为int,进行比较。int i=100;Integer j = new ...原创 2019-02-27 21:33:17 · 108 阅读 · 0 评论 -
抽象类
概述在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。父...原创 2019-02-27 22:13:06 · 92 阅读 · 0 评论 -
接口和抽象类的区别
一个类能继承多个接口,但是只能继承一个抽象类。接口只能定义方法名和静态常量,抽象类除了抽象方法不能有方法体之外其他所有普通类的功能都可以使用。抽象类必须被类继承且子类必须实现抽象类中所有抽象方法,接口只在需要时被继承,并按需求实现接口中的方法。接口中不能有构造器,抽象类是个类所以他存在构造器。...原创 2019-02-28 09:51:49 · 108 阅读 · 0 评论 -
不可变类
什么是不可变类不可变对象(Immutable Objects)即对象一旦被创建它的状态(对象的数据,也即对象属性值)就不能改变,反之即为可变对象(Mutable Objects)。不可变对象的类即为不可变类。Java类库中有很多不可变类例如String,基本类的包装类BigInteger等。如何构造一个不可变类1、确保类不能被继承-将类声明为final,或使用静态工厂并将构造器声明为pri...翻译 2019-02-28 18:55:15 · 364 阅读 · 0 评论 -
Java多线程的几种实现方法
继承Thread类public class MyThread extends Thread { public void run() { System.out.println("MyThread.run()"); } } public static void main(String [] arg ){MyThread myThread1 = new MyTh...翻译 2019-02-28 19:48:28 · 1098 阅读 · 0 评论 -
Java 多态
多态多态是同一个行为具有多个不同表现形式或形态的能力。多态的优点消除类型之间的耦合关系可替换性可扩充性接口性灵活性简化性多态存在的三个必要条件继承重写父类引用指向子类多态实现的方式重写//father class public class A{ public void method(){ System.out.print("I am Fat...原创 2019-03-01 09:47:30 · 95 阅读 · 0 评论 -
String、StringBuffer、StringBuilder区别
String 为字符串常量,StringBuffer、StringBuilder为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。(他们三个都是不可变类)//代码来自JDK源码//String public final class String implements java.io.Serializable, Comparable...原创 2019-03-01 10:57:15 · 85 阅读 · 0 评论 -
泛型
什么是泛型假定我们有这样一个需求:写一个排序方法,能够对整型数组、字符串数组甚至其他任何类型的数组进行排序,该如何实现?答案是可以使用 Java 泛型。使用 Java 泛型的概念,我们可以写一个泛型方法来对一个对象数组排序。然后,调用该泛型方法来对整型数组、浮点数数组、字符串数组等进行排序。(来自菜鸟教程)泛型方法所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明...翻译 2019-03-01 12:33:14 · 81 阅读 · 0 评论 -
equals和==区别
equals: 引用类型:Objec类比较的是地址值,但是继承他的类大都重写了equals方法比较成员变量的值是否相同。==:基本类型:比较值是否相同。 引用类型:比较内存地址是否相同。面试题:equals和==区别?equals比较的是两个字符串内容是否相等==比较的是两个字符串的内存地址是否相同。所以以后比较两个字符串内容是否相等要用equals();...原创 2019-02-27 20:08:53 · 89 阅读 · 0 评论