网站与微信结合,工程建设最好的网站,开发一个小程序流程,沈阳网络科技公司排名这是《Java面试指南》系列的第1篇#xff0c;本篇主要是介绍Java的一些基础内容#xff1a; 1、Java语言的起源 2、Java EE、Java SE、Java ME介绍 3、Java语言的特点 4、Java和C的区别和联系#xff1f; 5、面向对象和面向过程的比较 6、Java面向对象的三大特性#xff1a… 这是《Java面试指南》系列的第1篇本篇主要是介绍Java的一些基础内容 1、Java语言的起源 2、Java EE、Java SE、Java ME介绍 3、Java语言的特点 4、Java和C的区别和联系 5、面向对象和面向过程的比较 6、Java面向对象的三大特性封装、继承、多态 7、Java如何做到“一次编译到处执行” 8、JVM、JRE、JDK的区别和联系是什么 01、Java语言的起源 这Java是印度尼西亚爪哇岛的英文名称因盛产咖啡而闻名Java的标识也正是一杯正冒着热气的咖啡。 1990年代初Sun公司的詹姆斯·高斯林(Java之父)等人开发了Java语言的雏形最初被命名为Oak目标设置在家用电器等小型系统的程序语言应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高Sun公司放弃了该项计划。 随着之后互联网的发展Sun公司看见Oak在互联网上应用的前景于是改造了Oak由于Oak已经被其他公司注册了Sun公司于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展逐渐成为重要的网络编程语言。2009年Sun公司由于经营问题以74亿美元的价格卖身给了OracleJava语言也一起归属了Oracle。 02、Java EE、Java SE、Java ME介绍 随着Java的发展Sun公司给Java分成了3个版本 1、Java SE (Java Standard Edition) 标准版 2、Java EE (Java Enterprise Edition) 企业版 3、Java ME(Java Micro Edition) 微型版 三者的关系如下 Java SE是标准版主要用于桌面应用软件的编程包含了Java的核心类库。Java EE是企业版在Java SE的基础上加上了大量的API和库主要用于分布式的网站的开发。Java EE和Java SE使用相同的虚拟机。 Java ME和Java SE不同它是一个针对嵌入式设备的“瘦身版”Java SE的标准库无法在Java ME上使用Java ME的虚拟机也是“瘦身版”。在智能手机还未普及的时候功能手机上有很多Java小游戏这个就是使用Java ME开发。Java的初衷就是做这一块的开发。注意Android手机有自己的开发组件不使用J2ME进行开发。 03、Java语言的特点 1、面向对象开发 2、代码可移植一次编译到处执行 3、支持多线程 4、支持网络编程 关于这些特点的特性我们会在随后的篇幅中逐步展开描述。 04、Java和C的区别和联系 1、Java和C都是面向对象的语言都支持封装、继承和多态 2、Java不提供指针操作更安全C支持指针更灵活 3、Java中只支持单继承C支持多重集成 4、Java支持自动内存管理C需要主动释放无用内存 5、Java代码在编译成class文件后可以在各个平台的JVM里运行。C代码在每个平台里都需要编译后才能运行。 05、面向对象和面向过程的比较 1、面向过程就是分析出解决问题所需要的步骤然后用函数把这些步骤一步一步实现使用的时候一个一个依次调用就可以了; 2、面向对象是把构成问题事务分解成各个对象建立对象的目的不是为了完成一个步骤而是为了描叙某个事物在整个解决问题的步骤中的行为。 面向过程 优点性能比面向对象高因为类调用时需要实例化开销比较大比较消耗资源比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发性能是最重要的因素。 缺点没有面向对象易维护、易复用、易扩展 面向对象 优点易维护、易复用、易扩展由于面向对象有封装、继承、多态性的特性可以设计出低耦合的系统使系统更加灵活、更加易于维护 缺点性能比面向过程低 06、Java面向对象的三大特性封装、继承、多态 封装是一个划分抽象的结构和行为的过程它将抽象到的数据组合到一块形成一个整体将该隐藏的数据进行保护只对外暴露这些数据的访问的方法。 封装代码有两个好处 1、代码使用者无需考虑实现细节就能直接使用它别人不能随便修改内部结构 2、在外部接口保持不变的情况下自己可以修改内部实现 继承是使用已存在的类的定义作为基础建立新类的技术新类的定义可以增加新的数据或新的功能也可以用父类的功能但不能选择性地继承父类。通过使用继承我们能够非常方便地复用以前的代码。 多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定而是在程序运行期间才确定即一个引用变量到底会指向哪个类的实例对象该引用变量发出的方法调用到底是哪个类中实现的方法必须在由程序运行期间才能决定。 因为在程序运行时才确定具体的类这样不用修改源程序代码就可以让引用变量绑定到各种不同的类实现上从而导致该引用调用的具体方法随之改变即不修改程序代码就可以改变程序运行时所绑定的具体代码让程序可以选择多个运行状态这就是多态性。多态分为编译时多态方法的重载和运行时多态多态。 07、Java如何做到“一次编译到处执行” “一次编译到处执行”是指应用程序生成的二进制文件后可以直接在其他的支持 Java 的平台上运行换句话说叫二进制兼容。与之对应的是源代码兼容也就是在目标机器上重新编译源代码生成新的二进制文件才可以运行换句话说就是“编译多次到处运行”。 Java实现“一次编译到处执行”是通过JVM和字节码技术来实现的。 08、JVM、JRE、JDK的区别和联系是什么 三者之间存在包含关系 JRE JVM 核心类库 JDK JRE Java开发工具(javac/java等) JVM是Java Virtual Machine即Java虚拟机。 我们编写的Java代码是无法直接在计算机上执行的我们需要将Java代码编译成字节码(class文件)运行在JVM上。它针对于不同的系统有特定的实现可以保证使用相同的字节码都可以运行出相同的结果这样就保证了Java“一次编译到处执行”的跨平台特性。 JRE是Java Runtime Environment即Java运行环境。 JRE包含JVM标准实现及Java核心类库。光有JVM还不能完成class的执行因为在解释class的时候JVM需要调用对应的核心类库才能保证Java运行。 JDK是Java Development Kit即Java开发工具包。 JDK包括了Java运行环境和一堆Java开发工具javac/java/jdb等。有了JDK我们才能开发和编译程序。 结尾 整个Java基础相关知识点如下图我们会在后续的文章中逐步展开。 © 著作权归作者所有,转载或内容合作请联系作者 喜欢的朋友记得点赞、收藏、关注哦