java面试2(java技术栈和Hollis面试内容分享)
1.什么是java虚拟机?
java虚拟机(JVM)是一个可执行java字节码的虚拟机进程,java源文件被编译成能被java虚拟机可执行的字节码文件.
2.什么是平台无关性,java是如何做到平台无关的?
跨平台是一种语言在计算机上的运行不受平台约束,一次编译处处运行的情况.平台无关一般有两种:源代码级和目标代码级,而我们经常说的是目标代码级.
c和c++具有一定程度的源代码级平台无关,他们是源代码可以不用修改,在每个平台上重新编译就可以运行,但是一般提交软件提交的是成品,无源码,不能编译.
java编译出来的是字节码,去到哪个平台都能用,前提是那个平台装有java开发工具包(JDK),java最大的优势就是跨平台,对于java交付的一般是jar包或者war包,只要系统上有JVM,就可以运行.
至于java是如何做到的?
我们编写的java源文件,经过编译会产生字节码文件,而字节码文件需要经过jvm虚拟机,然后翻译为机器语言后才能被执行.由于我们的不同的系统上安装者不同的虚拟机,源码产生的字节码文件不会有不同,而字节码文件经过不同系统的JVM会产生有差异的机器语言,是的机器可以运行.关键就在于jvm知道底层硬件平台的指令长度等,完整的表达正确的语义.
3.JDK和JRE的区别
java运行时环境(JRE)是将要执行java程序的java虚拟机,包含了执行applet的浏览器插件.
java开发工具包(JDK)是完整的java软件开发包,包含了JRE,编译器和其他工具,可以让开发者开发,编译,运行java应用程序.
JDK > JRE > JVM
4.static关键字是什么意思?
static关键字表名一个成员变量或者成员方法可以没有所属类的成员变量的情况下被使用.
5.什么是构造函数?什么是默认构造函数?
构造函数一种在用来创建对象时初始化对象的特殊方法,即为对象成员进行初始化赋值的,总是与new关键字一起使用,特别的一个类可以有多个构造函数,可根据参数类型,参数个数不同来调用.
他跟一般的实例方法类似,不同的是构造器没有返回类型,不会被继承,构造器的名称一般与类名相同,有着初始化对象数据成员的任务.
而默认构造函数是指在编写一个可实例化的类的时候没有专门编写的构造函数,多数的编程语言会自动的生成缺省构造器,一般会将成员变量的值初始化默认值.如:int->0;Integer -> null;
6.构造函数可以被重载吗?可以重写吗?
构造函数可以被重载,实现对象数据的不同初始化,不能被重写,子类不能继承父类的构造函数,只能在子类的构造方法中调用父类的构造方法(自动调用默认的构造方法),保证父类对象也进行初始化(子类继承父类对象数据得到初始化).
java面试2(java技术栈和Hollis面试内容分享)的更多相关文章
- 都卷Java,你看看你得学多少技术栈才能工作!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言:授业解惑 我知道,你不知道的还有很多! 你了解计算机要从哪里开始学习吗?你清楚为了能 ...
- .Net 微服务架构技术栈的那些事
一.前言 大家一直都在谈论微服务架构,园子里面也有很多关于微服务的文章,前几天也有一些园子的朋友问我微服务架构的一些技术,我这里就整理了微服务架构的技术栈路线图,这里就分享出来和大家一起探讨学习,同时 ...
- java技术栈:项目概述
学习使用java到现在也有三年多了,这三年基本是以项目驱动的方式学习,有好有坏,个人觉得好处在于,有一个清晰的目标让你解决,这会让你学习非常迅速有效.当然坏处就是片面,不成体系.这种学习方式在学校以小 ...
- 【转】Java方向如何准备技术面试答案(汇总版)
本文转载自:“Java团长”公众号 1.面向对象和面向过程的区别 面向过程优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机.嵌入式开发.Linux/Unix等一般采 ...
- Java技术栈思维导图
Java技术栈思维导图 Java IO流体系 设计模式
- [转]Java工程师技术栈--成神之路
一.基础篇 1.1 JVM 1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收 http://www.jcp.org/en/jsr/detail?id=133http://if ...
- Java方向如何准备技术面试答案(汇总版)
本文转载自:"Java团长"公众号 1.面向对象和面向过程的区别 面向过程优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机.嵌入式开发.Linu ...
- 关于Java 软件工程师应该知道或掌握的技术栈
鄙人星云,今天突然想写这么一篇需要持续更新的文章,主要目的用于总结当前最流行的技术和工具,方便自己也方便他人. 更新时间:2018-10-23 09:26:19 码农职业路径图 码农入门职业路径图 J ...
- java十年技术栈[总结复习用]
以下摘自http://www.tvtv223.com/so/8/default/8.html#36-数据库的分库分表mycat java技术栈 参考了众多资料,这里就不再详细列举了,可以自行去搜索 1 ...
随机推荐
- js和jquery实现显示隐藏
(选择的重要性) 当点击同一个按钮的时候实现显示影藏 <a id="link" class="b-btn-four task-resolve add-sub-tas ...
- Java基础学习笔记四 Java基础语法
数组 数组的需求 现在需要统计某公司员工的工资情况,例如计算平均工资.最高工资等.假设该公司有50名员工,用前面所学的知识完成,那么程序首先需要声明50个变量来分别记住每位员工的工资,这样做会显得很麻 ...
- Semaphore 源码分析
Semaphore 源码分析 1. 在阅读源码时做了大量的注释,并且做了一些测试分析源码内的执行流程,由于博客篇幅有限,并且代码阅读起来没有 IDE 方便,所以在 github 上提供JDK1.8 的 ...
- .Net Core SignalR 实时推送信息
以前一直没用成功过SignalR(.net asp),最近几天又参考了对应的文档,最终调成功啦. 开始之前,应该注意: 一定要.Net Core 2.1.0以上的SDK. VS2017 15.6以上的 ...
- 第三章Hibernate关联映射
第三章Hibernate关联映射 一.关联关系 类与类之间最普通的关系就是关联关系,而且关联是有方向的. 以部门和员工为列,一个部门下有多个员工,而一个员工只能属于一个部门,从员工到部门就是多对一关联 ...
- javaScript识别网址文本并转为链接文本
最近项目有个需求:用户之间发送消息时,如果发送者输入的信息中含有网址文本,要在接受者界面中显示网址链接,点击该链接直接跳转到网页.这个功能和 QQ 发送网址文本的效果非常像,可以说是一模一样的. 思路 ...
- eclipse怎么停止building workspace
Eclipse 一直不停 building workspace完美解决总结 一.产生这个问题的原因多种 1.自动升级 2.未正确关闭 3.maven下载lib挂起 等.. 二.解决总结 (1).解决方 ...
- docker注意事项
当你最后投入容器的怀抱,发现它能解决很多问题,而且还具有众多的优点: 第一:它是不可变的 – 操作系统,库版本,配置,文件夹和应用都是一样的.您可以使用通过相同QA测试的镜像,使产品具有相同的表现 ...
- 新概念英语(1-32)A fine day
新概念英语(1-33)A fine day Where is the Jones family? It is a fine day today. There are some clouds in th ...
- django的models模型类的常用数据类型和选项
django框架的models模块ORM框架,能够让我们通过编写类的方式,帮助我们自动生成数据库表. 生成的数据库表名为 应用模块名称_类名 数据库表中字段名 如果我们没有在参数中指定,就是我们写的类 ...