Java基础

Posted 清风徐徐而来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础相关的知识,希望对你有一定的参考价值。

一、Finally是肯定会进行执行的

1. finally具有return   则返回finally的return 

2. try 具有return  则记录

二、String 对象

String s = "xx"+"cc";//1个对象 会进行优化

String f = new String("xxx")// 二个对象

三、局部变量必须进行初始化才能编译成功、全局变量默认有初始值

四、接口的属性不加任何修饰符会自动加上public static final ,属性不能使用private protected default 

五、插入排序、冒泡排序最优的情况下是O(n)次方,插入、选择 平均为n2  然后快排、堆排、希尔、归并 NlogN,二分查找 logN,然后插入、冒泡、归并都是稳定,其他是不稳定的,然后快排需要空间复杂度为n 或logn 其他的都是1.

六、数组复制的方法,System.arrayCopy效率最高

七、子类构造器必须调用父类的构造器,如父类没有重载构造器,则子类会默认调用无参的默认构造器

八、Math常用方法

public static int abs(int a)                                      //取绝对值

public static double ceil(double a)                        //ceil 天花板 获取向上取整。结果是一个double类型

public static double floor(double a)                          //floor 地板 获取向下取整。结果是一个double类型

public static int max(int a,int b) min自学                //获取两个值中的最大值。

public static double pow(double a,double b)        //  a是底数。b是指数

public static double random()                                //0.0~1.0   之间的小数。包括0.0不包括1.0

public static int round(float a) 参数为double的自学                //四舍五入 在原基础上加0.5  然后向下取整

public static double sqrt(double a)                            //平方根
九、SPring的Controller线程安不安全

bean默认为singleton 也就是单例,可以设置为protetype 原型,也就是每来一个创建一个对象,但是这个对象的生命周期是不归spring进行管理的。

建议是创建单例,使用一些同步机制进行对共享的数据进行控制,比如ThreadLocal

十、那些是Java的关键字

case break goto long native float const try 

保留字和关键字有啥区别

 Java保留字是指现有Java版本尚未使用 但以后版本可能会作为关键字使用。

保留字、false ruegoto const null

goto const 是保留字也是关键字  而 false rue ull 是保留字 不属于关键字

十一、类加载器的7中主动触发类加载的过程

1、使用类的Static变量 

2、调用这个类的子类

3、new一个类

4、jvm main方法的那个类

5、使用invoke反射的类

6、调用类的static方法

7、对Static变量赋值

然后 父类的初始化要优化与子类

STATIC final的变量会在编译器的时候就已经确定,会加载到类的常量池,如果调用final是不会触发类的加载

类的加载为加载、链接(验证、准备)初始化

1)只有直接定义了静态字段的类,才会被初始化。如果用子类调用父类的静态方法或属性,则视为是父类的主动使用,而不是对子类的主动使用 因此不会去加载子类.首先初始化父类的static变量和块,按出现顺序

// 当对类进行加载的时候,会根据以下顺序进行初始化,在类加载的时候解析阶段会进行对变量进行地址引用,并且设置默认值。
 * 1.初始化父类的static变量和块,按出现顺序 
 * 2.初始化子类的static变量和块,按出现顺序 
 * 3.初始化父类的普通变量,调用父类的构造函数 
 * 4.初始化子类的普通变量,调用子类的构造函数

 

以上是关于Java基础的主要内容,如果未能解决你的问题,请参考以下文章

java语法基础,具体内容

Java基础(十五):异常处理

java基础测试题

Java基础| Java概述与基础语法案例

夯实Java基础系列目录

一道java基础理论题