首页 > 编程语言 >Java理论(一)

Java理论(一)

时间:2022-11-23 20:01:00浏览次数:49  
标签:Java 字节 主类 理论 应用程序 java 虚拟机

什么是java

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因
此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理
论,允许程序员以优雅的思维方式进行复杂的编程

jdk1.5之后的三大版本

  • Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java
    Web 服务开发的类,并为Java EE和Java ME提供基础。
  • Java EE 以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java 应用程序。Java EE 是在 Java SE 的基
    础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented
    architecture,SOA)和 Web2.0应用程序。2018年2月,Eclipse 宣布正式将 JavaEE 更名为 JakartaEE
  • Java ME 以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个
    健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序
    的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。

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,
    就无需再单独安装JRE了。其中的开发工具:编译工具(javac.exe),打包工具(jar.exe)等
    JVM&JRE&JDK关系图

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

所谓跨平台性,是指java语言编写的程序,一次编译后,可以在多个系统平台上运行。
实现原理:Java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,该系统就可以运
行java程序。

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

字节码:Java源代码经过虚拟机编译器编译后产生的文件(即扩展为.class的文件),它不面向任何特定的处理器,只面
向虚拟机。
采用字节码的好处:
Java语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植
的特点。所以Java程序运行时比较高效,而且,由于字节码并不专对一种特定的机器,因此,Java程序无须重新编译便
可在多种不同的计算机上运行。

先看下java中的编译器和解释器:

Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟机器。这台虚拟的机器在任何平台上都提
供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机
代码转换为特定系统的机器码执行。在Java中,这种供虚拟机理解的代码叫做字节码(即扩展为.class的文件),它不面
向任何特定的处理器,只面向虚拟机。每一种平台的解释器是不同的,但是实现的虚拟机是相同的。Java源程序经过编
译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特
定机器上的机器码,然后在特定的机器上运行,这就是上面提到的Java的特点的编译与解释并存的解释。
Java源代码---->编译器---->jvm可执行的Java字节码(即虚拟指令)---->jvm---->jvm中解释器----->机器可执行的二进制机器码---->
程序运行。

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

一个程序中可以有多个类,但只能有一个类是主类。在Java应用程序中,这个主类是指包含main()方法的类。而在Java
小程序中,这个主类是一个继承自系统类JApplet或Applet的子类。应用程序的主类不一定要求是public类,但小程序
的主类要求必须是public类。主类是Java程序执行的入口点。

标签:Java,字节,主类,理论,应用程序,java,虚拟机
From: https://www.cnblogs.com/doubleconquer/p/16779415.html

相关文章

  • Java原型模式大大节省资源测试
    但你需要创建大量相同对象的时候,使用原型模式吧!原型模式    克隆猫猫:publicclassCloneCatimplementsCloneable{publicCloneCat(){try{......
  • Java实现平衡二叉搜索树(AVL树)
    上一篇实现了二叉搜索树,本章对二叉搜索树进行改造使之成为平衡二叉搜索树(BalancedBinarySearchTree)。不平衡的二叉搜索树在极端情况下很容易退变成链表,与新增/删除/......
  • java中级考试
    选择2020分判断1010分解答55分程序页面+综合45分 第2章Css选择器CSS规则由三部分构成:选择符,属性和属性值   选择符{属性:属性值;属性:属性值;...}CSS......
  • Java工具库Guava的数学运算常用方法示例代码
    场景Java核心工具库Guava介绍以及Optional和Preconditions使用进行非空和数据校验:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/127683387为什么使用Gu......
  • 如何通过Java 合并和取消合并 Excel 单元格
    在整理Excel中的数据时,我们不可避免地需要合并和取消合并单元格。同时,如果需要创建跨列或行的标题,我们可以合并Excel单元格以在电子表格中轻松完成此操作。合并单元格......
  • java执行流程
    编译:是指使用Java编译器对源文件进行错误排査的过程,编译后将生成后缀名为.class的字节码文件,不像C语言那样生成可执行文件。Java解释器负责将字节码文件翻译成具体......
  • JAVAEE
    javaee背景克服传统Client/Server架构的弊端迎合Browser/Serexer架构的潮流应用领域为中大型企业软件中大型网站B/S部署企业应用或者网站(联网)Web服务器......
  • JavaScript
    JavaScript内部标签<script>......</script>外部写法j.js<scriptsrc="js/j.js"></script>基础语法<script>//1.定义变量变量类型变量名=变量值......
  • java:绘制图形
    java绘图类:Graphics类 绘图是高级程序中必备的技术,在很多方面都能用到,如:绘制闪屏图片,背景图片和组件外观等。1.Graphics类 Graphics类是所有图形上下文的抽象基类,Gr......
  • java pdf 合并
    packagecom.hefeng.demo.controller;importjava.io.File;importjava.io.IOException;importjava.util.*;importorg.apache.pdfbox.io.MemoryUsageSetting;impo......