- 何为编程,编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路,方法、和手段通过计算机能够理解的方式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务,这种人和计算机之间的交流过程就是编程。
- 什么是JAVA,Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还屏蔽了C++里面难以理解的多线程、指针等概念,因此Java语言具有功能强大和简易用两个特征。Java语言作为静态面向对象编程语言的代表,极好的实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
- jdk1.5之后的三大版本,JavaSE(J2SE,Java2 Platform Standard Editiion,标准版)JavaSE 以前被称为J2SE,它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。JavaSE包含了支持Java Web服务开发的类,并为了Java EE 和Java Web提供了基础。Java EE(J2EE,Java2 Platfom Enterprise Edition,企业版)Java EE被称为J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序。Java EE是在Java SE的基础上构建的,它提供了Web服务、组件模型、管理和通信API,可以用来实现企业级别的面向服务体系结构server-oriented architecture,SOA和Web2.0应用程序。2018年2月Eclipse宣布正式将JavaEE更名为JakartaEE。
- JVM、JRE和JDK的关系,JVM Java Virtual Machine 是Java的虚拟机,Java程序需要运行在虚拟机上面,不同平台有自己的虚拟机,因此Java语言是可以实现跨平台的。JRE Java Runtime Environment包括Java虚拟机和Java程序所需要的核心类库等,核心类库主要是Java.lang包,包含了运行Java程序必不可少的系统类、如基本类型、字符串处理、线程、异常处理类等,如果想要运行一个开发环境Java程序,计算机中只需安装JRE即可。JDK Java Development Kit是提供给Java开发人员使用的,其中包含了Java的开发工具,也包含了JRE。所以安装了JDK,就无须再单独安装Javac.exe,打包工具Jar.exe等。JDK(开发工具包)包含了JRE(运行环境),JRE包含了JVM。
- 什么是跨平台?原理是什么?所谓的平台性,是指java语言编写的程序,一次编译之后,可以在多个系统上面运行。实现原理:java程序是通过java虚拟机在系统平台上面运行的,只要当前系统安装了相应的java虚拟机,该系统就可以运行java程序。
- Java语言有哪些特点?面向对象(封装、继承、多态);平台无关性(Java虚拟机实现了平台无关性);支持网络编程并且很方便(Java语言诞生本身就是简化网络编程设计的);支持多线程(多线程机制使得程序在同一时间并行执行多项任务);健壮性(Java语言的强类型机制、异常处理、垃圾自动收集等)安全性等。
- 什么是字节码?采用字节码的最大好处是什么?字节码:Java源代码经过虚拟机编译后产生的文件(扩展名.class文件),不面向任何特定的处理器,只用于虚拟机。采用字节码的好处:Java语言经过字节码的方式,在一定程度上解决了传统解释类型的语言执行效率低的问题,同时又保留了解释类型的语言可以移植的特点,所以Java程序运行时比较高效,并且,由于字节码并不专门针对一种特定的机器操作系统,因此,Java程序无须重新编译便可以在多种不同机器上面运行。
- Java中的编译器和解释器,Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟机器,这台虚拟的机器在任何平台上都提供了给编译程序一个共同的接口。编译程序只需要面向虚拟机器生成的虚拟机器能够理解的代码,然后由解释器来讲虚拟机代码转换为特定系统的机器码执行。在Java中,这种供虚拟机理解的代码叫做字节码,它只面向虚拟机器。每一种平台系统上面虚拟机是不同的。Java源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上面运行,这就是上面提到的Java的特点编译与解释并存的解释。
- final有什么用?用于修饰类、属性和方法,被final修饰的类不可被继承;被final修饰的方法不可被重写;被final修饰的变量不可以被改变,被final修饰不可变的变量的引用,而不是引用指向的内容,引用指向的内容是可以改变的.