java/javaee基础面试问题
1.面向对象和面向过程的区别对比:
面向对象易维护、易扩展、易复用,由于面向对象继承、封装、多态的特性,可以设计低耦合的系统易于维护,但因为类的实例化开销较大,所以面向过程性能更高,一般性能是最主要的因素时采用面向过程开发,它没有面向对象那么易维护易扩展易复用。
2.java语言的特点
跨平台、面向对象,支持多线程、支持网络编程。
3.JVM,JDK,JRE都是什么
jvm是运行java字节码的虚拟机,对不同的系统又不同的实现,让相同的代码在不同的机器上都能出一样的结果。
JRE是java的运行环境,它是运行已编译 Java 程序所需的所有内容的集合,包括 Java虚拟机(JVM),Java类库,java命令和其他的一些基础构件。
JDK是Java Development Kit,它是功能齐全的Java SDK。它拥有JRE所拥有的一切,还有编译器(javac)和工具(如javadoc和jdb)。它能够创建和编译程序。
4.什么是java字节码
jvm可以理解的代码就是字节码,(就是扩展名是.class文件),它不需要任何特定的处理器,只面向虚拟机。jvm和字节码实现一次编译随处运行。
5.从java代码到运行起来又哪些步骤?
java源代码通过jdk中的编译器编译生成jvm理解的lava字节码,然后jvm可以运行字节码。
6.java和c++区别是什么?
都是面向对象语言,都支持封装、继承和多态。c++可以操作指针,Java 不提供指针来直接访问内存。Java 的类是单继承的,C++ 支持多重继承;java的接口可以多继承。Java 有自动内存管理机制,不需要程序员手动释放无用内存。
7.构造器是否可以被重写?
构造器不可以,在继承的时候,子类也无法获得父类的构造器和私有的属性。一般要用父类的构造器都是用super,加载顺序?先加载父类吧,那super什么时候执行?
补充:可以重载。
8.说说面向对象
面向对象有封装、多态继承三个特征。
封装是属性私有化,对外提供访问的方法,继承可以通过继承父类实现方法的复用,多态是声明父类指向子类的实例。
好处是什么?常用的场景
9.String,StringBuffer,StringBuilder的区别,为什么String不可变
1.String是不可变的,StringBuffer,StringBuilder可变
从设计层面上看,抽象类提供了一种 IS-A 关系,子类对象必须能够替换掉所有父类对象(里氏替换)。而接口更像是一种 LIKE-A 关系,它只是提供一种方法实现契约,并不要求接口和实现接口的类具有 IS-A 关系。看不 明白
从使用上来看,一个类可以实现多个接口,但是不能继承多个抽象类。
接口的字段只能是 static 和 final 类型的,而抽象类的字段没有这种限制。
接口的成员只能是 public 的,而抽象类的成员可以有多种访问权限。
抽象类一般会包含抽象方法,抽象方法一定位于抽象类中。
接口是抽象类的延伸,在 Java 8 之前,它可以看成是一个完全抽象的类,从 Java 8 开始,接口也可以拥有默认的方法实现,因为不支持默认方法的接口的维护成本太高了。在 Java 8 之前,如果一个接口想要添加新的方法,那么要修改所有实现了该接口的类。
备注:在JDK8中,接口也可以定义静态方法,可以直接用接口名调用。实现类和实现是不可以调用的。如果同时实现两个接口,接口中定义了一样的默认方法,必须重写,不然会报错。
13.对象相等和引用相等的区别:对象相等比较的是内存中的内容,引用比较的是地址
14.==和equals,==对于基本类型比较值,对于引用类型比较地址;equals方法如果没有被覆盖和==一样,如果被覆盖了就根据内容比较。42 == 42.0为什么是true
15.为什么重写equasl的时候也要重写hashCOde?
转载于:https://www.cnblogs.com/coolBing/p/10461739.html
java/javaee基础面试问题相关推荐
- Java Web基础面试问题——Cookie和Session
Java Web基础面试问题 Cookie 和 Session 的区别 什么是HTTP 超文本传输协议,是一种用于分布式.协作式和超媒体信息系统的应用层协议. 设计HTTP最初的目的是为了提供一种发布 ...
- java arraystoreexception_java基础面试
前言 熬夜整理了一份java基础面试题,希望大家支持,如果文中有错误希望大家指正: 公众号:「知识追寻者」 ❝ 知识追寻者(Inheriting the spirit of open source, ...
- Java开发基础面试知识点
目录 Java基础 数据类型 ==和equals的区别 hashcode()和equals()方法 String.StringBuilder.StringBuffer区别 访问权限修饰符 final修 ...
- JAVA多线程和并发基础面试问答
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一.在 ...
- ***JAVA多线程和并发基础面试问答
多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一.在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题.(校对注:非常赞同这个观 ...
- “面试不败计划”: java语言基础面试题(三)
点击上方"好好学java",选择"置顶公众号" 优秀学习资源.干货第一时间送达! 好好学java java知识分享/学习资源免费分享 关注 精彩内容 java实 ...
- java 多线程并发 问题_JAVA多线程和并发基础面试问答
原文链接 译文连接作者:Pankaj 译者:郑旭东 校对:方腾飞 多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一.在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌 ...
- Java基础面试16问
来自三太子敖丙的Java基础面试16问 原文地址 ** 说说进程和线程的区别? ** 进程是程序的一次执行,是系统进行资源分配和调度的独立单位,他的作用是是程序能够并发执行提高资源利用率和吞吐率. 由 ...
- 百一测评java基础答案_百一测评——《Web应用开发》选择题(含参考答案)—JavaEE基础...
<百一测评--<Web应用开发>选择题(含参考答案)-JavaEE基础>由会员分享,可在线阅读,更多相关<百一测评--<Web应用开发>选择题(含参考答案)- ...
最新文章
- JavaEE Web开发之Servlet篇
- 比较简单的c语言编辑器,大佬们,小菜鸟想问一问用vc编译器做简易画图软件
- iis php json文件,配置iis支持.json格式的文件
- 车辆跟驰模型matlab代码实现_MATLAB——考虑驾驶员特性及前车速度的快速路模型...
- 【渝粤教育】国家开放大学2018年春季 0341-21T高级英语听力(2) 参考试题
- 上传附件_留学落户|上传附件预审时一定一定要注意的问题!
- CSS3 背景起始位置 background-origin属性
- 程序员和编码员之间的区别
- 全栈创建一个小程序(mpvue+nodejs+mysql)---(一)--本地开发
- Python游戏编程入门(一)——初识Pygame
- 学习嵌入式必须学习32单片机吗?
- python爬虫什么意思-通俗的讲,网络爬虫到底是什么?
- Titanic第二章:第一节数据清洗及特征处理
- 三年半经验,蚂蚁头条快手怎么选?网友:第一次看到头条比快手offer低的
- 想要分离歌曲内的伴奏?轻松搞定
- 备份微信聊天记录到电脑上,并且可以随时导回
- Python从入门到实践第9章课后作业
- 记一次微信H5支付失败(网络环境未能通过安全验证,请稍后再试)解决方案
- 大白话解析Context中的cancelCtx
- 视频教程-拼多多返利系统二-Java
热门文章
- Spring 创建对象的问题,不同构造方法创建对象,使用工厂类类获取对象、单例或多例、延迟创建问题
- Java字符编码的转化问题
- Servlet+MySQL使用DBCP数据库连接池实现用户登录
- Jenkins构建之常用的触发器和Git Hook自动构建
- Map与Set的经典OJ题
- android 组件 线程,Android UI线程和非UI线程
- python os.popen.readlines异常_python中执行sed命令操作源文件时出现错误
- 有效可靠地管理大规模 Kubernetes 集群
- 技术解析系列 PouchContainer Goroutine Leak 检测实践
- getcwd和pwd为什么不一样_企业职工,公务员为什么缴纳的养老保险不一样呢?