Java小白找工作与学习的第二天

        昨天是我第一天在简书写下我最近一年的状态,现在开始每天只能记录我一天的状态了,就没有那么多废话了。


1.面向对象的特性

        1.继承:继承是从已有类得到继承的信息创建新类的过程。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段。

        2.封装:封装就是隐藏一切可隐藏的东西(如数据和操作数据),只向外界提供简单的编程接口。

        3.多态性:多态性是指允许不同子类型的对象对同一消息做出不同的相应。简单地说就是用同样的对象引用调用同样的方法但是做了不同的事情。方法重载实现的是编译时的多态性,方法重写实现的是运行时的多态性。

        4.抽象:抽象是将一类对象的共同特征总结出来构造类的过程。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。

2.访问权限修饰符

        1.private:只能在当前类中访问。

        2.default(默认不写):可以在同包下访问。

        3.protected:可以在子类中访问。

        4.public:可以在其他包中访问。

3.Java有没有goto语句        

        goto是Java的保留字,目前的版本中没有使用。Java的保留字有goto和const。       

4.&和&&的区别

        1.&运算符有两种用法:(1)按位与;(2)逻辑与。

        2.&&运算符是短路与运算。如果&&左边的表达式的值是false,右边的表达式会直接被短路掉,不会进行运算。

5.两个对象值相同(x.equals(y) == true),但却有不同的hashCode,这句话对不对?

        不对,Java对于equals方法和hashCode方法是这样规定的:

        1.如果两个对象相同(equals方法返回true),那么它们的hashCode也一定相同。

        2.如果两个对象的hashCode相同,它们并不一定相同。

6.方法重写(overload)和方法重载(override)的区别        

方法重载的规则:

        1.方法名相同,参数列表中参数的顺序,类型,个数不同。

        2.重载与方法的返回值无关,存在于父类和子类,同类中。

        3.可以抛出不同的异常,可以有不同的修饰符。

方法重写的规则:

        1.参数列表必须完全与被重写的方法一致,返回值类型必须完全与被重写方法的返回值类型一致。

        2.构造方法不能被重写,声明为final的方法不能被重写,声明为static的方法不能被重写,但是能够被再次声明。

        3.访问权限不能比父类中被重写的方法的访问权限更低。

        4.重写的方法能够抛出任何非运行时异常,重写不能跑出新的异常。

7.char类型的变量能不能存储一个中文汉字?

        可以,因为Java中使用的是Unicode编码,一个char类型占2个字节,所以可以存放。

8.抽象类(abstract class)和接口(interface)有什么异同?    

相同点:

        1.都不能被实例化。

        2.可以将抽象类和接口类型作为引用类型。

        3.一个类如果继承了某个抽象类或实现了某个接口都要对其中的抽象方法全部进行实现,否则该类需被声明为抽象类。

不同点:

        1.抽象类中可以定义构造器,而接口不行。

        2.抽象类中可以有抽象方法和具体方法,但是接口中只允许有抽象方法。

        3.抽象类中的成员可用所有的修饰符修饰,而接口中的成员只能用public修饰。

        4.抽象类中可以定义成员变量,而接口定义的成员变量实际都是常量(用public static final修饰)。

        5.有抽象方法的类必须声明为抽象类,而抽象类未必有抽象方法。

        6.抽象类中可以包含静态方法,而接口不可以。

        7.一个类只能继承一个抽象类,但是可以实现多个接口。

9.break和continue的区别

相同点:break和continue都是用来控制循环的语句。

不同点:break用于直接跳出跳出循环,直接跳出循环体执行后面的语句,而continue是用来跳出当前循环,继续执行下一次循环。

10.Error和Exception的区别

        Error类和Exception类的父类都是Throwable类。

        区别:Error类一般是指与虚拟机有关的问题,如系统崩溃,虚拟机错误,内存不足,栈溢出等。Exception类表示程序可以处理的异常,可以捕获且可能恢复。

11.常见的RuntimeException

        1.NullPointerException:空指针异常。

        2.ClassNotFoundException:指定的类找不到异常。

        3.IndexOutOfBoundsException:数组索引越界异常。

        4.ClassCastException:数据类型转换异常。

        5.SQLException:Sql操作异常。

12.final,finally,finalize的区别

        1.final:用于声明属性,方法和类,分别表示属性不可变,方法不可重写,被其修饰的类不可继承。

        2.finally:异常处理语句结构的一部分,表示总是执行(一般用来释放资源)。

        3.finalize:Object类的一个方法,在垃圾回收器执行的时候会调用被回收对象的此方法。(该方法是一个被动的方法,不需要我们调用。)

13.switch可以作用在哪些基本数据类型?

        JDK1.5以前switch(expr)中,expr只能是byte、short、int和char。在JDK1.5之后,Java中引入了枚举类型(enumeration),expr也可以是enum类型。JDK1.8之后,expr还可以是字符串(String),但是long(长整型)在目前所有版本中都是不支持的。

14.死锁产生的四个必要条件

        死锁是指多个线程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将停滞不前。

        1.互斥条件:在同一时间内,某资源只被一个线程所占有。

        2.不剥夺条件:线程所获取的资源在未使用完毕之前,不能被其他线程强行夺走,只能自己主动释放。

        3.请求和保持条件:线程已经保持了至少一个资源,又提出了新的资源请求,而该资源已被其他线程所占有,此时请求被阻塞,但对自己已经获得的资源保持不放。

        4.循环等待条件:存在一种线程资源的循环等待链,链中每一个线程已获得的资源同时被链中下一个线程所请求。

15.进程和线程的区别

        进程:是操作系统进行资源分配和调度的一个独立单位。

        线程:是进程的一个实体,是cpu调度和分配的基本单位,是比进程更小的可以独立运行的基本单位。

        实际中进程就相当于一个软件,而线程相当于这个软件的各个功能(前提是这些功能可以同时使用,如360管家同时进行垃圾清理和杀毒)。

16.同步线程及线程调度相关的方法

        1. wait:使一个线程处于等待(阻塞)状态,并且释放所持有的对象的锁。

        2. sleep:使一个正在运行的线程处于睡眠状态,是一个静态方法。

        3. notify:唤醒一个处于等待状态的线程,不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒那个线程,而且与优先级相关。

        4. notifyAll:唤醒所有处于等待状态的线程,,该方法并不是将对象的锁给所有线程,而是让它们竞争,只有获得锁的线程才能进入就绪状态。

17.获取字节码的方式

        1. Class.forName(className)

        2. 类名.class

        3. this.getClass()

18.单例模式

        单例模式分为饿汉式和懒汉式

        饿汉式:一出来就创建

public class Singleton{

    //直接创建对象

    private static Singleton instance = new Singleton();


    //私有化构造参数

    private Singleton(){

    };


    //返回对象实例

    public static Singleton getInstance(){

        return instance;

    }

}


        饱汉式:需要才创建

public class Singleton{

    //声明变量

    private static Singleton instance;


    //私有化构造参数

    private Singleton(){

    };


    //提供对外方法

    public static Singleton getInstance(){

        if(instance == null){

            instance = new Singleton();

        }

        return instance;

    }

}


        

        



         

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容