Java面试笔记

站在巨人的肩膀上,好记性不如烂键盘。

All from java面试笔记

本开源书 forked from Java 面试笔记,作者为 DONGChuan,欢迎大家 star 原作者的 repo,以便获得最新更新,谢谢!

说一说Java

sun公司在1995创建。 特点:

  • 面向对象
  • 平台独立
  • 解释性语言
  • 多线程

Java最重要的特点就平台独立,平台独立意味着可以在一个系统编译它然后在另一个系统使用它。

Java为什么是高效的?

因为Java使用Just-In-Time(即时)编译器。 把Java字节码直接转换成可以直接发送给处理器的指令的程序。

列举出2个IDE

eclipse,NetBeans。

面向对象的特征有那些方面?

  • 封装

让变量和访问这个变量的方法放在一起,将一个类中的成员变量全部定义成私有的,只有这个类自己的方法才可以访问到这些成员变量。

  • 抽象

声明方法的存在而不去实现它的类叫做抽象类。

  • 继承

继承是子类自动共享父类数据和方法的机制。是类之间的一种关系,提高了软件的可重用性和可扩展性。

  • 多态

一个方法或者一个对象可以有不同的形式。

JDK JRE JVM

  • 解释它们的区别

JDK

Java Development Kit用作开发,包含JRE,编译器和其他的工具。可以让开发者开发,编译,执行Java应用程序。

JRE

Java运行时环境是将要执行Java虚拟机,可以想象成它是一个容器,JVM是它的内容。

JRE = JVM + Java Packages Classes(like util, math, lang, awt,swing etc)+runtime libraries.

JVM

Java virtual machine(Java虚拟机)是一个可以执行Java编译产生的Java class文件的虚拟机进程,是一个纯的运行环境。

JVM不是平台独立的

Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。

什么是对象?

  • 对象是程序运行时的实体
  • 它的状态存储在变量
  • 行为是通过方法实现的
  • 方法上操作对象的内部状态
  • 方法是对象对对象的通信的主要手段

一个类是由哪些变量构成的?

  • 本地变量 在方法体,构造体内部定义的变量。
  • 实例变量 在类里但是不在方法里。 在类被载入的时候被实例化。
  • 类变量 在类里但在方法外,加了static关键字,也叫做静态变量。

静态变量和实例变量的区别?

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java调用Python

    了解到Java有Runtime.getRuntime().exec() 这样就好办多了。 这个方法其实就好像是cmd命令行一样的执行python 程序:

    一点儿也不潇洒
  • 梁桥评分系统

    虽然算法很简单,就是一个计算器。 但是,其本身逻辑思维很复杂。 就是一个桥它自己的学问,让我们这些门外汉实在是汗颜啊。 所以到最后就是完成了一个很臃肿的exe...

    一点儿也不潇洒
  • 彩色图像中的人脸检测

    色彩模型vs色彩空间 要解开YCbCr色彩空间这个结,色彩模型(color model)和色彩空间(color space)的区别必须要理解。简单来说两者的关系...

    一点儿也不潇洒
  • JVM规范系列第1章:引言

    可以看到JVM其实就是一个虚拟机的机器,与我们的普通PC一样,有内存、有CPU。JVM的内存就是运行时数据区,其CPU就是Java虚拟机指令集。

    陈树义
  • Java基础-Java跨平台原理

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    cwl_java
  • 面试官:JDK、JRE、JVM 三者什么关系?

    这个题目在面试题中基本没怎么出现,但在笔试题中倒是经常见到。所以还是有必要拉出来溜溜~

    田维常
  • 如果你不想长期996,看看这个

    导读:马云说996是“修来的福报”;刘强东给你讲了“地板闹钟的故事”;李国庆认为“管理者提高决策科学性比员工加班更有价值”;经济学家林采宜直接怼马云,说“996...

    华章科技
  • javaSE基础——常见的dos命令即其他

        常用的DOS命令    dir(directory) :    列出当前目录下的文件以及文件夹  md(make directory) : 创建目录...

    Gxjun
  • 浅析JVM

    JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模...

    week
  • Java 9、10、11,谁才是Java程序员的本命?

    之前,我们在《Java 10无跳票发布,主推的新特性引争议》的文章中做了一个小的调查,主要是调查现在的Java程序员都在使用哪个版本的Java?根据调查结果,绝...

    顶级程序员

扫码关注云+社区

领取腾讯云代金券