码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础

时间:2019-10-26 22:33:30      阅读:66      评论:0      收藏:0      [点我收藏+]

标签:初始化   类加载   new   最大值   次方   关键字   参数   单例   因此   

一、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 \true\goto const null

goto const 是保留字也是关键字  而 false\true\null 是保留字 不属于关键字

十一、类加载器的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基础

标签:初始化   类加载   new   最大值   次方   关键字   参数   单例   因此   

原文地址:https://www.cnblogs.com/fc520/p/11745710.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!