logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Java基础面试题整理

面向对象的三个特征封装,继承,多态.这个应该是人人皆知.有时候也会加上抽象.多态的好处允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用).主要有以下优点:可替换性:多态对已存在代码具有可替换性.可扩充性:增加新的子类不影响已经存在的类结构.接口性:多态是超类通过方法签名,向子类提供一个公共接口,由子类来完善或者...

为什么要学习Java虚拟机?

像很多人一样,我第一次接触Java虚拟机只是因为它需要面试,所以我不得不认真地看一看。很多人回答了为什么他们要学习虚拟机的问题:因为面试。但经过多年的学习和实践,我发现学习虚拟机不仅仅是关于面试,而且是对Java语言的深入理解,并为未来的在线问题奠定基础。首先,让我来谈谈我的第一点:学习Java虚拟机对Java语言的深入理解。对于刚工作了一两年的朋友来说,每个API都不熟悉,自然不会深入到Ja..

究竟什么是Java虚拟机(JVM)?

我们都知道,在Windows上,软件包后缀有exe,而苹果的Mac OS X系统上没有安装exe。类似地,Mac OSX系统上的软件安装包是dmg后缀,不能安装在Windows系统上。为什么不能安装不同系统上的软件,因为操作系统的底层实现是不同的。对于Windows系统,exe后缀的软件代码被编译成能被Windows系统识别的机器代码。对于Mac OSX系统,最后将DMG后缀的软件代码编译为M..

从源代码到机器代码,Java语言中发生了什么?

在上一篇文章中,我们讨论了无论代码是用什么语言编写的,它最终都毫无例外地运行在机器代码中。那么Java语言中发生了什么,从源代码到机器代码?这就是我们今天要讨论的。如下图所示,编译器可以分为前端编译器、JIT编译器和AOT编译器。我们一个接一个地谈吧。前端编译器:源代码到字节码正如我们前面所说的,对于Java虚拟机,实际输入是字节码文件,而不是Java文件。那么,实际上如何将Jav...

Java面试知识点解析——JVM篇

一. JVM 基础知识1)Java 是如何实现跨平台的?注意:跨平台的是 Java 程序,而不是 JVM。JVM 是用 C/C++ 开发的,是编译后的机器码,不能跨平台,不同平台下需要安装不同版本的 JVM答:我们编写的 Java 源码,编译后会生成一种 .class 文件,称为字节码文件。Java 虚拟机(JVM)就是负责将字节码文件翻译成特定平台下的机器码然后运行,也就是说,只要在不同平台上安

#java#jvm
阿里历年Java面试题知识点总结

1. Java中的原始数据类型都有哪些,它们的大小及对应的封装类是什么?booleanboolean数据类型非true即false。这个数据类型表示1 bit,但是它的大小并没有精确定义。《Java虚拟机规范》中如是说:“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的bool...

70道Java开发面试题及答案

1. Java的垮平台原理JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行。也就是说,只要在不同平台上安装对应的JVM,就可以运行字节码文件,运行我们编写的Java程序。而这个过程中,我们编写的Java程序没有做任何改变,仅仅是通过JVM这一”中间层“...

Java虚拟机(JVM)你只要看这一篇就够了!

1. Java 内存区域与内存溢出异常1.1 运行时数据区域根据《Java 虚拟机规范(Java SE 7 版)》规定,Java 虚拟机所管理的内存如下图所示。1.1.1 程序计数器内存空间小,线程私有。字节码解释器工作是就是通过改变这个计数器的值来选取下一条需要执行指令的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖计数器完成如果线程正...

#jvm#java
最新Java基础面试题及答案整理

最近在备战面试的过程中,整理一下面试题。大多数题目都是自己手敲的,网上也有很多这样的总结。自己感觉总是很乱,所以花了很久把自己觉得重要的东西总结了一下。面向对象和面向过程的区别面向过程:   优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。缺点:没有面向对象易维护、易复...

超详细的Java基础面试题总结

最近在备战面试的过程中,整理一下面试题。大多数题目都是自己手敲的,网上也有很多这样的总结。自己感觉总是很乱,所以花了很久把自己觉得重要的东西总结了一下。面向对象和面向过程的区别面向过程:   优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。缺点:没有面向对象易维护、易复...

    共 39 条
  • 1
  • 2
  • 3
  • 4
  • 请选择