Jinliang Blog

生活有度 人生添寿

Java-反射机制

Java-反射机制解析

第一次阿里面试,就说到了这个问题,当时自己心里本来就乱,而且对反射理解的也不透彻,所以答得并不好。今天就在这里记录一下自己学习反射的一些所得吧。 首先,反射机制是Jave的一个特性,像C、C++这种语言根本就没有他,虽然在实际的操作中,并不会经常用到,而且用错了还容易适得其反,但是作为java的一个特性,研究java的话就跳不开他,那么,就让我们认真学习、认真总结吧。 下面介绍一下反射...

Java-面向对象的特征解析

Java-面向对象的特征解析

面向对象的主要特征包括抽象、封装、继承、多态 一、抽象 抽象不打算解决所有问题,而是其中一部分问题,暂时不去理会部分细节。抽象包括两个方面:过程抽象;数据抽象。 数据抽象就是针对对象的属性; 过程抽象就是针对对象的行为特征,即方法。 由此展开抽象类与接口的异同: 抽象类:如果类中包含抽象方法,那么就是抽象类,也就是说,抽象类中一定有抽象方法,但不一定全是抽象方法。通过abstract...

Java-常见排序算法浅析

Java-常见排序算法浅析

排序算法是面试笔试的一个重点,今天,就让我们把常见的排序算法总结一遍。 选择排序 思想:遍历一组记录,每次遍历选取一个最大的数(最小的数),来依次替代需要替代的位置(从头开始选择)。 源代码: /** * 选择排序 * @param a * 时间复杂度 n的平方 最好,最差,平均都是 */ public static void selectSort(in...

Java-final、finally、finalize浅析

Java-final、finally、finalize浅析

final final可以修饰属性、方法、类,分别代表属性不可变、方法不可覆盖、类不能被继承 final修饰属性:被final修饰的变量不可变。但是不可变有两种含义,一种是引用不可变、一种是对象不可变。final在这里指的是引用不可变,所以,被final修饰的属性必须初始化,初始化有以下几种方式: 在定义的时候初始化 可以在初始化块中初始化,但是不能再静态初始化块中初始化 ...

Java-浅谈clone方法

Java-浅谈clone方法

首先阐述一个概念: Java在处理基本数据类型(例int,char,double等)时,都是采用按值传递(传入的是输入参数的复制)的方式执行,除此之外的其他类型都是按引用传递(传递的是一个对象的引用)的方式执行。 在实际的操作中,可能需要一个与已存在对象相同的另一个对象,并且对另一个对象的修改不会影响先前的对象,于是Java提供了一个clone()方法实现这种需求。这种方法返回的...

Java-assert(断言)

Java-assert(断言)解析

assert是一种软件测试的方法,提供了一种在代码中正确性检查的机制,目前很多开发语言都支持这种机制。 它的作用是检查一个boolean表达式,程序的正确运行必须保证这个表达式为TRUE,返回false则代表程序不正常,系统需要提供告警信息并退出程序。 assert主要是用来保证程序的正确性,一般用于程序的开发和测试,为了提高程序运行的效率,软件发布后,assert检查默认是关闭的。 ...

Java-位运算

Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)

位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。 1.与运算符 与运算符用符号“&”表示,其使用规律如下: 两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。 public class da...

Java-switch

Java-switch解析

switch用于多分支选择,使用时的规则是switch(expr),其中expr只能是一下两种: 枚举常量 内部是由整型或者字符类型实现 整数表达式 整数表达式指的是基本类型int或者包装类Integer,也包括不同的长度整型,例如short。 换一种说法,整型或者能够隐式转换为int类型的基本类型或者包装类可以,包括: int,Inte...

Java-内部类

Java-内部类解析

定义:在Java语言中,把一个类的定义到另一个类的内部,在类里面的这个类就叫做内部类,这个内部类可以看做外部类的成员。 扩展:还有一种类被称为顶层(top-level)类,指的是类定义代码不嵌套在其他类定义中的类。 嵌套类与内部类相似,只是嵌套类是c++的说法,内部类是Java的说法。 内部类分为四种: 静态内部类 成员内部类 局部内部类 匿名内部类 静态内部类...

Java-static关键字的作用

Java-static关键字的作用解析

static关键字的两个作用: 为数据类型或者对象分配单一的存储空间,与创建对象的个数无关。 将属性或者方法与类绑定在一起,也就是可以不创建对象的情况下直接通过类调用属性和方法。 static的四种使用情况: - static修饰成员变量 Java中没有全局的概念,但是通过static可以达到全局的效果。 Java提供两种类型的变量:用static修饰的静态变量和不用s...