了解了许多学员参加的Java面试,他们表示,面试官提出的基础性问题还是比较多。从这个突破口切入,Java新手想要成功通过面试,基础知识方面也需要准备,今天达内成都Java培训班小编就来给大家分享一些Java基础面试题!

1.java支持的数据类型有哪些?什么是自动拆装箱?

基本数据类型:

整型:byte short int long

字符型:char

浮点型:float double

布尔型:boolean

整数默认int,小数默认double,float和long必须加后缀(因为默认double,转float会损失精度,所以不会自动转,如果超过了int范围没有加L后缀,那么也会报错)

String类型属于引用类型,引用类型声明的变量是指该变量在内存中实际存储的是一个引用地址,实体在堆中,引用类型包括类,数组,接口等,而包装类也属于引用类型,自动装箱,拆箱就是基本类型和引用类型(此处为包装类型)间的转换,而转换为引用类型的话,就new一个对象,从而可以调用包装类型中封装好的方法,方便使用!

2.int 和 Integer 有什么区别 ?

1.int是基本数据类型,Integer的引用数据类型

2.int默认0,Integer默认null

3.int存储在栈中,Integer存储在堆中

4.int变量存储数据原始值,Integer变量存储的是引用地址

5.Integer通过实例化创建的,是对象!

3.String 和StringBuffer以及StringBuilder的区别

String 字符串常量

StringBuffer 字符串变量(线程安全)

StringBuilder 字符串变量(线程不安全)

字符串常量创建后长度,内容都不可以改变,可以new,也可以直接“abc”这样给值

字符串变量倍创建后长度,内容都是可以被修改的,只能通过new创建!

4.&和&&的区别?

&&和&都是判断两边表达式是否为真,使用&时,如果左边为假,那么它还会去验证右边,但是使用&&时,如果左边为假,它就不会验证右边了,具有短路的效果,效率比单&高!

5.你能比较一下Java和JavaSciprt吗?

java:面向对象 需要编译再进行运行 属于强类型(编译时才能确定变量类型)

javascript:基于对象和事件驱动 解释型语言 弱类型(执行时才能确定变量类型)

6.Java中是如何支持正则表达式操作的?

通过String类中的一些方法,比如matchs(),replaceAll(),replaceFirst(),split()等

7.介绍一下Synchronized锁,如果用这个关键字修饰一个静态方法,锁住什么?如果修饰成员方法,锁住什么?

Syscronized锁是同步锁,如果关键字修饰静态方法的话是一个类锁(当前类的所有线程都必须等待同步线程执行),如果关键字修饰成员方法的话是一个对象锁(当前对象的所有进程必须等待同步进程执行完,释放锁)

(静态方法:可以不用生成实例对象而直接引用)

8.介绍一下Volatile

Volatile关键字修饰共享变量,保证其他线程访问这个变量的时候始终是最新值,也就是Volatile会更新最新值到java主内存中,其他线程使用这个变量的时候会从java主内存中去取得这个变量(非volatiel不具备这个特性,非volatile变量在被某个线程修改之后会被缓存,线程A更新了这个值,线程B读取到的可能并不是最新值),volatile不具备原子性(读volatile具备原子性,但volatile变量i的i++操作不具备原子性),这是volatile与synchrozied,lock的最大差异!

9.锁有了解嘛,说一下Synchronized和lock

java为某个共享资源的同步提供了两种锁机制:Synchrozied和lock

二者有以下区别:

1.用法不一样:在需要同步的对象中加入Synchrozied锁,Synchrozied既可以加载在方法的前面也可以加载在特定的代码块中,括号表示需要锁的对象,而lock需要显示的指定起始位置和终止位置,Synchrozied是托管给JVM执行的,而lock的锁定是通过开发人员手动代码实现的

2.性能不一样:jdk5中增加了一个lock接口的实现类ReentrantLock,他们的性能在资源不同的情况下会有很大的不同:在资源竞争不是很激烈的情况下,synchorized的性能要优于ReentrantLock,但是在资源竞争很激烈的情况下,synchoorized的性能会下降很快而ReentrantLock的性能会基本保持不变

3.锁机制不一样:synchorized获得锁和释放锁的方式都在结构中,当获取多个锁时间,必须以相反的方式释放锁,并且自动解锁,不会应用出现异常而引发死锁,而Lock则需要开发人员手动释放,并且必须在final块中释放,否则会引发死锁

4.灵活性不一样:比如ABC三个线程,两个读文件一个写文件,synchorized只能依次枷锁和解锁,而lock可以让读共享,这样更好,所以后面就引发了锁优化技术

10.讲一讲Java里面的final关键字怎么用的?

被final修饰的类不能继承,被final修饰的fan方法不能重写,被final修饰的变量为常量,值不能改变

11.wait方法底层原理

object中的方法,可以暂停线程,期间会释放对象锁,不像sleep方法,线程休眠期间依然持有锁,wait方法的线程必须调用notify或notifyall方法唤醒线程

比如:当一个线程执行到wait方法时,它就进入到一个和对象相关的等待池中,同时失去对象锁,当它被一个notify方法唤醒时,等待池中的线程就被放到了锁池中,该线程从锁池获得对象锁,然后回到wait前的中断现场

12.Java有哪些特性,举个多态的例子。

封装,继承,多态,多态可以理解为一致类型,不同形态,比如Animal animal=new Dog()

13.String为啥不可变?不可变的优势在哪里?

因为String类被final修饰,string类的底层数组也是被final修饰的

1.提高字符串常量池的效率和安全,如果你知道一个对象是不可变的,那么拷贝对象的内容时就不用复制它本身而只用复制它的地址,复制地址需要很小的内存,效率也很好

2.对多线程安全,多线程的情况下,一个可变对象的值可能会被多个线程修改造成不可预期的结果,而不可变对象就不存在这个问题

14.请列举你所知道的Object类的方法。

1.clone:创建并返回此对象的一个副本

2.equals:比较“相等”

3.finalize:当垃圾回收器确定不存在该对象的引用时,由对象的垃圾回收器调用方法

4.getclass:返回它的运行时类

5.hashcode:返回对象的哈希码

6.notify:唤醒此对象监视器上等待的单个线程(随机唤醒)

7.notifyall:换线此对象监视器上等待的所有线程

8.tostring:返回对象的字符串表示

9.wait:暂停当前线程(可以设置超时时间)

15.重载和重写的区别?相同参数不同返回值能重载吗?

重写是针对父类和子类的概念,重载是针对一个类中的概念,相同参数不同返回值不可以重载,因为重载必须改变参数列表,否则虚拟机怎么知道要调用哪一个

16.”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?

static关键字表明一个成员变量或者成员方法可以在没有所属类的实例变量的情况下被访问

java中static方法不能被覆盖,因为方法的覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的,static方法跟类的任何实例都不相关,所以没有覆盖这个概念

java中也不可以覆盖private方法,因为private修饰的变量和方法只能在当前类中使用,任何其他类继承了该类是访问不到private变量和方法的

17.类加载机制,双亲委派模型,好处是什么?

类加载机制:JVM把类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被JVM直接使用的java类型

双亲委派模型:每次收到类的加载请求时,先将请求委派给父类加载器,如果父类加载器无法完成加载,那么子类尝试自己加载,这样使得java类随着类加载器一起具备了一种带有优先级的层次关系

18.静态变量存在哪?

static修饰的,位于全局区

19.讲讲什么是泛型?

泛型是一种参数化的类型,它的<>里面可以放任何类型,而且不需要强制类型转化,是多态的一种表现

20.解释extends 和super 泛型限定符-上界不存下界不取

extends指定上界限,只能传入本类和子类

super指定下界限,只能传入本类和父类

ncs java 成都 面试_成都java工程师面试一般都是哪些问题,基础难不难!相关推荐

  1. 中国移动java面试_中国移动软件工程师面试经验

    面试过程: 面试流程首先是签到,签完到后要领号.而你面试的顺序,就是按照序号来的.所以说,如果大家一个点面试的话,最好结伴而行,这样群面的时候和熟悉的人在一起,不仅有助于缓解个人紧张情绪,而且有利于小 ...

  2. 成都java前景如何_成都从事java好就业吗?

    展开全部 截止2019年32313133353236313431303231363533e78988e69d83313334313663369月17日,成都相似岗位工资收入对比 2018年,成都Jav ...

  3. java高级软件工程师面试_高级软件工程师的新面试问题

    java高级软件工程师面试 I'm putting together some practice interview questions for a friend who lost his job. ...

  4. 网易java面经_网易Java工程师面经,面试题整理(二面)

    下面要给大家带来了的是一个小伙伴的网易Java工程师二面面经,具体内容包括了二面的面试题以及面试者的回答和面试感受. 整个面试的时常大概是34分钟左右,下面是具体的面试题和面试者的回答. 面试题(二面 ...

  5. java软件面试题_java软件工程师面试试题

    java软件工程师面试试题 更新时间:2019年01月25日13时15分 来源:java培训 浏览次数: 我们找工作的人都会面临一个难题,那就是面试,根据工作性质的不同,面试的要求也会不公,好点的工作 ...

  6. java工程师面试常见问题_JAVA软件工程师面试遇到的十个问题,这些你都知道吗?...

    原标题:JAVA软件工程师面试遇到的十个问题,这些你都知道吗? 我们找工作的人都会面临一个难题,那就是面试,根据工作性质的不同,面试的要求也会不公,好点的工作,面试官都会问我们一些问题,尤其是学术性较 ...

  7. 纯java分布式内存数据库_最新Java岗面试清单:分布式+Dubbo+线程+Redis+数据库+JVM+并发...

    最近可能有点闲的慌,没事就去找面试面经,整理了一波面试题.我大概是分成了Java基础.中级.高级,分布式,Spring架构,多线程,网络,MySQL,Redis缓存,JVM相关,调优,设计模式,算法与 ...

  8. 计算机程序设计工程师技术水平证书 java 考试试卷_关于程序设计工程师技术水平证书(JAVA).doc...

    程序设计工程师技术水平证书(JAVA) 考试大纲 考试性质和目的: 本考试的目的在于促使考生掌握JAVA语言与面向对象程序设计的概念.方法与基本技术.并注重提高考生运用Java语言和面向对象技术解决问 ...

  9. 返利网java面试_腾讯系统测试面试经验

    最近连着三天参加腾讯的线下面试,目前完成了HR面,虽然还不太确定结果(一直不更新状态是不是凉了啊QAQ),先把自己的面试经验分享给大家吧 个人情况:习惯java语言,一直准备的是后台开发,听过很多人说 ...

最新文章

  1. 原创:检查点的三种加入方式
  2. POI操作Excel:cell的背景颜色类型
  3. Spark _24 _读取JDBC中的数据创建DataFrame/DataSet(MySql为例)(三)
  4. 真快!10秒内将k8s集群运行起来
  5. 设置图像的title_【HTML】2 图像标签和属性
  6. 前端学习(2241):react打卡倒计时十五天之react出现背景
  7. xLite连接asterisk提示sip408错误
  8. x86汇编代码转x64平台使用(VS2010测试通过)最简单的方法
  9. 预览文章: 猿们平常都喜欢听啥音乐?
  10. Linux 学习笔记 (四)Ubuntu14.04 解决上网问题安装无线网卡驱动
  11. centos7安装python3及pip3更新_CentOS7下安装Python3及Pip3并保留Python2
  12. Java判断质数/素数的三种方法
  13. 自动刷新网页代码(可多个网页)
  14. 硬盘格式化工具 标记坏扇区_硬盘格式化后是否还记得坏扇区?
  15. Cron expression must consist of 6 fields
  16. Django框架目录结构
  17. 什么是抽象类,什么情况下会用到抽象类?
  18. 时间复杂度与空间复杂度总结
  19. phpspreadsheet 中文文档(三) 计算引擎
  20. 【C语言经典100例】 -- 28 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后

热门文章

  1. Linux From Scratch v7.0中文版
  2. Ruby on Rails 之旅(七)—— Ruby on Rails 入门(5)
  3. linux rpm安装包忽视所有依赖强制安装
  4. Python模块:Re模块、附软件开发目录规范
  5. 计算机思维典型方法有抽象,传说中的四大编程思维 一篇彻底搞清楚
  6. 业务+IT一体化就是BPO?
  7. 检讨书应该怎么写,我来做个示范
  8. 【论文阅读】SuMa SuMa++
  9. 换硬币将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
  10. 日化用品行业数智化B2B系统简化分销流程,提升日化用品企业供应链竞争力