面试题目(一)JAVA的概述

什么是Java

  1. 面向编程和跨平台的语言
  2. 吸收了C++和C的优点,并且相比于C++使用简单方便和便捷
  3. 极好地实现了面向对象理论

jdk1.5之后的三大版本

  1. Java SE:允许开发和部署在桌面,服务器,嵌入式环境和实时环境中使用的Java应用程序
  2. Java EE:企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构和 Web2.0应用程序。
  3. Java ME:为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。

JVM、JRE和JDK的关系

  1. JVM:是Java的虚拟机,Java程序需要运行在虚拟机上,而在不同平台有不同的虚拟机,这是java可以跨平台的原因
  2. JRE:包括java虚拟机和核心类库的文件夹,核心类库主要是java.lang的包
  3. JDK:是提供给java开发人员使用的编译器,其中包括了JRE,javac.exe(编译器),javaw.exe,开发工具
  4. 所以三者的关系是JDK包含(JRE包含(JVM));

什么是跨平台性?原理是什么

  1. 跨平台性:主要是java程序编译以后,可以在各个平台上运行
  2. 实现的原理:因为java是通过JVM上运行的,所以各个系统只要下载各个系统相对应的JVM就可以运行java程序

Java语言有哪些特点

  1. 简单易学
  2. 面向对象
    • 封装
    • 继承
    • 抽象
    • 多态
  3. 跨平台性
  4. 安全性
  5. 支持网络编程
  6. 支持多线程

什么是字节码?采用字节码的最大好处是什么

  1. 字节码文件:java源代码通过编译器编译之后的文件(.class文件),它只面向虚拟机
  2. 好处:
    • 一定程度上解决了传统解释型语言的执行效率
    • java程序无序重新编译便可在多种不同的计算机上执行
  3. JAVA源代码–》编译器编译–》JVM可执行的JAVA字节码文件(.class文件)–》JVM–》JVM解释器–》程序运行

什么是Java程序的主类?应用程序和小程序的主类有何不同?

  1. 主类就是JAVA程序执行的入口,一个JAVA程序有很多类,但是只有一个类是主类。
  2. 区别:
    • 应用程序:主类是指包含main()方法的类
    • 小程序:是一个继承自系统类JApplet或Applet的子类,而且必须是public类。

Java应用程序与小程序之间有那些差别?

应用程序是从主线程启动(也就是main()方法)。applet小程序没有main方法,主要是嵌在浏览器页面上运行(调用init()线程或者run()来启动),嵌入浏览器这点跟flash的小游戏类似。

Java和C++的区别

  1. Java不提供指针来直接访问内存,程序内存更加安全
  2. Java是单继承,C++是多继承
  3. Java有自动内存管理机制,不需要程序员手动释放无用内存

总结

这个是我自己通过观看Java基础知识面试题来复习的,通过题目来回顾,如果有啥不准确的,请留言告诉我,十分感谢!

猜你喜欢

转载自blog.csdn.net/qq_41816516/article/details/106669145