【历史】

第三代语言:

(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. House_Of_Spirit ctf oreo程序分析

    oreo程序下载 提取码:t4xx 程序分析 int __cdecl main() { leave_add = 0; leave_del = 0; leave_buf = (char *)&u ...

  2. eclipse maven 项目突然所有的JS方法都失效了

    原因:JS 或者 jQuery 有严重的语法错误

  3. mybatis一级缓存和二级缓存的使用

    在mybatis中,有一级缓存和二级缓存的概念: 一级缓存:一级缓存 Mybatis的一级缓存是指SQLSession,一级缓存的作用域是SQLSession, Mabits默认开启一级缓存.在同一个 ...

  4. base64 换表 解密脚本

    做逆向经常遇到换表的base64 有了py脚本 一切都好说: import base64 import string str1 = "x2dtJEOmyjacxDemx2eczT5cVS9f ...

  5. Linux环境安装mongodb

    介绍 上篇介绍了Linux环境下安装Node.js的步骤,紧接着来安装mongodb.另外,推荐我的另一篇 Windows下图文详解Mongodb安装及配置,先在Windows下熟悉下mongodb, ...

  6. jsoncpp解析

    讲jsoncpp解析json的文章,很不错,可以参考: http://blog.csdn.net/hzyong_c/article/details/7163589 http://www.cnblogs ...

  7. 【转】海量数据解决思路之BitMap

    转载(http://zengzhaozheng.blog.51cto.com/8219051/1404108) 一.概述 本文将讲述Bit-Map算法的相关原理,Bit-Map算法的一些利用场景,例如 ...

  8. P4050 [JSOI2007]麻将

    传送门 怎么好像没什么人写 $dp$ ...? 设 $f[i][j][k][0/1]$ 表示当前处理完前 $1$ 到 $i$ 的数,上一位开始的顺子有 $j$ 个,当前位开始的顺子有 $k$ 个,是否 ...

  9. win 10 自带 Ubuntu 系统的文件位置

    win 10 自带 Ubuntu 系统的文件位置 Ubuntu 作为最为流行 Linux 系统中的一种,是用来学习 Linux 相关知识是最好不过的选择.专门搞一个 Ubuntu 系统的电脑不太现实, ...

  10. C#.NET、Power BI、数据挖掘

    阅读目录 1.采集目目标特点与分析 2.方案第一版-Low到爆,别笑话 3.碰壁后的第二版方案 4.最终方案第三版 5.总结 说起采集,其实我是个外行,以前拔过阿里巴巴的客户数据,在我博客的文章:C# ...