【历史】

第三代语言:

(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. 如何在linux上部署vue项目

    安装nginx的前奏 安装依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 创建一个文件夹 cd /usr/ ...

  2. ZABBIX_PROXy

    ProxyMode=0 Server=172.19.30.50 ServerPort=10051 Hostname=172.17.26.102 ListenPort=10051 LogFile=/va ...

  3. 第六周总结&第四次实验报告

    实验四 类的继承 一. 实验目的 (1) 掌握类的继承方法: (2) 变量的继承和覆盖,方法的继承.重载和覆盖实现: 二. 实验内容 三.实验过程 实验代码 package Shiyan4; publ ...

  4. [CQOI2012]模拟工厂 题解(搜索+贪心)

    [CQOI2012]模拟工厂 题解(搜索+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1327574 链接题目地址:洛谷P3161 BZOJ P26 ...

  5. 四:JVM调优原理与常见异常处理方案

    在jvm调优之前,我们必须先了解jvm的内存模型与GC回收机制,这些在我前面的文章里面有介绍!接下来我们通过一个案例来调整jvm性能. 一测试案例: 1.1 编写demo import java.te ...

  6. Tabcontrol动态添加TabPage(获取或设置当前选项卡及其属性)

    http://blog.csdn.net/xiongxyt2/article/details/6920575 •MultiLine 属性用true 或false来确定是否可以多行显示 •Appeara ...

  7. xcode自动生成代码片段

    一.什么是代码片段 当在Xcode中输入dowhile并回车后,Xcode会出现下图所示的提示代码: 这就是代码片段,目的是使程序员以最快的速度输入常用的代码片段,提高编程效率.该功能是从Xcode4 ...

  8. centos虚拟机配置网卡连接

    本地连接 centos虚拟机连接设置: 换过ip之后需要重启网络服务新ip才生效 #service network restart 修改dns:

  9. 划水日记之大哥带我走渗透I

    5/24/19 周五 access注入 先测试是否有漏洞 or nor and 1=1 and 1=2 2. Order by 猜字表端,发现一共有22个 3..然后使用 union select 1 ...

  10. hdu 1059 Dividing bitset 多重背包

    bitset做法 #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a ...