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

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;

}

}

java小白会有那些工作_Java小白找工作与学习的第二天相关推荐

  1. Java之父都说他老了找工作受阻,我们怎么办?

    Java之父都说他老了找工作受阻,我们怎么办? List item 近日Java之父ames Gosling在Facebook上写道他曾在面试的时候被HR告知,"通常我们不招你这种年龄的程序 ...

  2. 前端初学者的痛,没学历没工作经验如何找工作?

    2018年各大互联网公司对前端技术人才的需求缺口依然很大,然而公司招不到人和学生找不到工作的矛盾却更加突出,这一切都与前端技术的飞速发展息息相关,公司对前端人才的开发经验要求.技术要求逐渐提高.那么企 ...

  3. 学完平面设计没有工作过如何找工作

    本文由:"学设计上兔课网"原创,图片素材来自网络,仅供学习分享 学完平面设计没有工作过如何找工作?作为一名平面设计师,我在设计行业也摸爬滚打四年多了,对于设计师求职也算是有一点自己 ...

  4. java小白会有那些工作_Java小白找工作与学习的第四天

    昨天没有更新,其实很大一部分原因是我写了这么多字的简书,竟然没有一个人看,确实感觉不太对劲,但是我今天又想开了,我是要为自己学习的,不一定要他人的鼓励下才能继续学习,要享受一个人的孤独,今日继续更新. ...

  5. Java学历很重要_Java开发找工作,学历重要还是技术重要?

    都很重要,一个决定你有没有面试机会,一个决定你是否能够面试通过! 目前市场上面的基本上是需要大专以上的学历,你是本科,完全可以的 至于你要考研还是去工作,这个就看你自己的决定, 选择考研的话以后的发展 ...

  6. JAVA学到什么程度可以(实习)找工作?

    学无止境! 学习并不是一蹴而就的,在工作中我们肯定会遇到问题,这就需要我们去认真的学习,毕竟不学就不会,升职加薪神马的都说枉然!我们随意看看Java开发工程师的任职要求,就会发现要求会的还是蛮多的! ...

  7. Java程序员烂大街了?!找工作的硬核实力竟然是这些!

    临近毕业,关于很多计算机行业的同学都在找工作,很多学生反馈,在学校学的东西都不多,简历上写的寥寥无几,都不知道怎么跟面试官聊,今天杨哥就跟大家一起讨论一下这个情况. 首先,杨哥可以负责地跟各位说一句, ...

  8. [BYR]找什么样的工作?——从找工作中的种种怪象说开去

    经历过去年的求职季,经历过其中的喜怒哀乐,也经历了其中的种种怪象.总想写点什么作为自己人生阶段的一个注脚,或为经验,或为反思.本来只想写给自己,但写着写着发现很多问题是具有普遍性的,我自己常常是在所反 ...

  9. java switch case怎么判断范围_java小白从入门到精通(基础二)

    六:流程控制语句 1.作用: 一个程序他在执行的时候,各个语句的执行顺序对程序的结果是有直接影响的,所以我们必须很清楚每条语句的执行流程.并且有些时候我们需要通过控制语句的执行流程来实现我们要完成的功 ...

最新文章

  1. KDE Web开辟工具──KDE-Webdev
  2. 湘财证券罗叶:数字化在金融领域的应用与实践,从“我觉得”到“用户觉得”...
  3. 建设研发运营一体化平台
  4. 做个全国一等奖的小车,其实不难(F题:智能送药小车方案分享)
  5. 神经网络初始化trick:大神何凯明教你如何训练网络!
  6. 大数据时代必须关注的几个问题
  7. 熊猫烧香 - 核心源码
  8. 使用最小二乘法计算机器学习算法之线性回归(计算过程与python实现)
  9. js动态显示实时时间
  10. win10下安装deepin双系统教程
  11. xp系统共享计算机,win7系统计算机和xp系统计算机如何共享打印机
  12. searchview怎么改hint大小_老司机偷偷告诉你:改水电一般多少钱?水电改造价格怎么算?...
  13. 域名注册绑定内网穿透项目部署
  14. 别去赌场了,你永远赢不了“凯利公式”
  15. oracle函数按周,关于oracle按日周月分组统计以及next_day()函数详解
  16. win10设置桌面图标间距
  17. 手机满信号无法连接服务器,手机信号满格却不能连接网络,为什么会出现这种状况?...
  18. java消息队列ActiveMQ之Comsumer
  19. 量化经济学:手把手教你如何使用EXCEL分析股票历史数据
  20. 并联机器人开题报告怎么写_华东交通大学机械工程专硕培养方案怎么样?

热门文章

  1. 带集成保护的共模滤波器(CMF)行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  2. 2021年中国丁香香烟市场趋势报告、技术动态创新及2027年市场预测
  3. datatables 一列显示两个字段的数据_5个超实用的Excel数据透视表技巧,学会少加班...
  4. mysql在linux下备份还原,Linux下MySQL的备份与还原
  5. 运维提效 60%,视野数科 SAE + Jenkins 打造云原生 DevOps
  6. 36 岁程序员应聘被公司领导直接拒绝;字节跳动:公司暂不具备上市条件;财务软件 bug 致数百人被错误定罪|极客头条...
  7. 跨越鸿沟,IIoT 如何更融合与开放?
  8. 终于回应!GitHub 承认解雇犹太员工的错误并道歉,HR 负责人辞职
  9. 从青铜到王者,来聊聊 Synchronized 底层实现原理 | 原力计划
  10. @程序员,如何快速配置 Spring?