【历史】

第三代语言:

(1)C、Pascal、Fortran面向过程的语言;
(2)C++面向过程/面向对象;
(3)Java跨平台的纯面向对象的语言;
(4).NET跨语言的平台。
 
第四代语言:
SQL
 
【特点】
(1)纯面向对象的语言;
(2)与平台无关的语言,提供程序运行的解释环境;
(3)健壮的语言,吸收了C/C++的优缺点,去掉了影响其程序健壮性的部分(例如,指针、内存的申请与释放)。
 
 
【运行机制】
(1)Java虚拟机(JVM)
 
  <1>Java虚拟机可以理解成一个以字节码(*.class)为机器指令的CPU
         (这一点类似于Windows平台上的汇编语言,只要编译成class文件,就可以实现跨平台)
  <2>对于不同的运行平台,有不同的虚拟机
         (JVM for UNIX/Windows/Other Platform)
  <3>Java虚拟机机制屏蔽了地层运行平台的差异,实现了"一次编译,随处运行"。
          (C语言在编的比较好的情况下,可以实现“一次编程,随处运行”,但是还必须在不同的操作系统上编译后才可以)
 
【面试题】
 Java是编译型语言还是解释型语言?
 ----解释型语言
<1>C/C++语言可以直接编译成操作系统识别的可执行文件的格式,不经过第二次,这叫做编译型语言;
<2>Java第一次编译成自己的可执行文件格式*.class,当class文件在执行时是JVM逐行进行解释,生成目标平台识别的格式。
 
             
(2)垃圾收集机制(Garbage collection)
 
  <1>不再使用的内存空间需要回收;
  <2>在C/C++中,由程序员负责回收无用内存;
  <3>Java提供了一种系统级线程跟踪存储空间的分配情况,并在JVM空闲时,检查并释放那些可被释放的存储器空间;
  <4>垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
        (Java程序会出现“卡机”的情况,例如eclipse出现反应慢的情况,这就是在动态进行垃圾回收)
 
 
【运行过程】
源程序(*.java文件)--<Java编译器>--字节码(*.class文件)--<类装载器>--<字节码校验器>--<解释器>--<操作系统平台>
----javac的作用是将*.java文件编译成*.class文件(格式:javac HelloWorld.java)
----java的作用是运行程序(格式:java HelloWorld)
 
【J2SDK】
  ----软件开发包
 
【JRE】
  ----Java运行环境
 
 
 
 
 
 

Java——基础简介的更多相关文章

  1. java基础简介

    一.软件开发 软件:是由数据和指令组成的(例:计算器) 如何实现软件开发呢?    就是使用开发工具和计算机语言做出东西来 二.常用dos命令 d: 回车 盘符切换 dir(directory):列出 ...

  2. Java基础类库简介

    Java基础类库简介 一.常用的基础类库:11个jar(Java Archive,Java归档)包 作为java语言使用者,我们可以感受到java语言带来的优势(平台无关.面向对象.多线程.高效易扩展 ...

  3. Java基础-JVM调优策略简介

    Java基础-JVM调优策略简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.JVM结构分析 1>.JVM结构图 2>.JVM运行时数据区功能说明 JVM管理的内 ...

  4. Java基础-二进制以及字符编码简介

    Java基础-二进制以及字符编码简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必计算机毕业的小伙伴或是从事IT的技术人员都知道数据存储都是以二进制的数字存储到硬盘的.从事开 ...

  5. Java基础-日期格式化DateFormat类简介

    Java基础-日期格式化DateFormat类简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.DateFormat类概述 DateFormat 是日期/时间格式化子类的抽象 ...

  6. Java基础-正则表达式(Regular Expression)语法规则简介

    Java基础-正则表达式(Regular Expression)语法规则简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.正则表达式的概念 正则表达式(Regular Exp ...

  7. Java基础-StringBuffer类与StringBuilder类简介

    Java基础-StringBuffer类与StringBuilder类简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.StringBuffer类 在学习过String类之后 ...

  8. Java基础知识强化之集合框架笔记76:ConcurrentHashMap之 ConcurrentHashMap简介

    1. ConcurrentHashMap简介: ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hashtable功能相同但是线程安全的方法.Conc ...

  9. 夯实Java基础系列15:Java注解简介和最佳实践

    Java注解简介 注解如同标签 Java 注解概述 什么是注解? 注解的用处 注解的原理 元注解 JDK里的注解 注解处理器实战 不同类型的注解 类注解 方法注解 参数注解 变量注解 Java注解相关 ...

随机推荐

  1. CSS3——边框 圆角 背景 渐变 文本效果

    边框 圆角边框 盒阴影 边界图片 圆角 CSS3 圆角制作器 指定每个角 背景 多重背景图像 大小 图像的定位 背景剪裁 渐变 线性渐变(Linear Gradients)- 向下/向上/向左/向右/ ...

  2. Mysql函数----控制流函数介绍

    MySQL有4个函数用来进行条件操作的,可以实现SQL的条件逻辑,允许开发者将一些应用程序业务逻辑转换到数据库后台.   MySQL控制流函数: 1.CASE WHEN[test1] THEN [re ...

  3. 数组转字符串 java8

    public static String arrayToString(int[] arr) { // 1,2,3... StringBuffer sb = new StringBuffer(); fo ...

  4. Vim实用技巧(一)

    vim 命令按键规定 标记 含义 x 按一次 x dw 按一次 d, w dap 按一次 d, a, p 同时按 和 n g<C-]> 按 g, 然后同时按 和 ] <C-=> ...

  5. python内存管理(通俗易懂,详细可靠)

    python内存管理 python3.6.9 内存管理的官方文档 https://docs.python.org/zh-cn/3.6/c-api/memory.html 一.变量存哪了? x = 10 ...

  6. hdu1465不easy系列之中的一个(错排)

    版权声明:本文为博主原创文章,未经博主同意不得转载. vasttian https://blog.csdn.net/u012860063/article/details/37512659 转载请注明出 ...

  7. linux中文件权限格式与chmod命令以及用户和用户组的管理

    简单了解一下linux中的文件权限格式与chmod命令 chmod命令:改变文件或者目录的权限 格式:chmod [参数] [<权限范围><符号><权限代码>] - ...

  8. ThinkPHP中的"路由"是什么意思?

    路由(route)是指根据url, 分配到对应的处理程序的映射. 简单来说,就是一个路径的解析,根据客户端提交的路径,将请求解析到相应的模块/控制器/方法上. 转载自:https://blog.csd ...

  9. Python 实现类似sed命令的字符串替换小程序

    环境 PyCharm, Windows 背景 sed命令 sed 's/原字符串/新字符串' 单引号中间是s表示替换,原字符串就是要被替换掉的字符串,新字符串就是想要的字符串. 效果 在命令行输入py ...

  10. nroff - 用 groff 模拟 nroff 命令

    总览 (SYNOPSIS) nroff [ -h ] [ -i ] [ -mname ] [ -nnum ] [ -olist ] [ -rcn ] [ -Tname ] [ file... ] 描述 ...