概要

近期这几天開始进入java的学习,接触到了好多不是非常了解的概念,像JDK、JRE、JVM、GC等等这些,放到这里来进行下扫盲。

java

java是一种面向对象程序设计语言和java平台的总称,即java包含java语言和java平台。

java语言

java语言跟我们曾经接触过的C#、C++语言一样都是面向对象的语言,拥有面向对象语言的基本特点,java语言也有它自身的特点。比如添加了垃圾回收的一些特点。

同一时候java语言的编程风格跟C#、C++也特别的相似,全部java语言是比較易学的。

JDK

JDK是英文Java Development Kit的缩写,是java的一种软件开发工具包。他的特点是每一个程序都是从命令行调用開始的。除了JDK还有java
IDE,java IDE包含Eclipse、Myeclipse、IntelliJ、Jbuilder、Jdeveloper、Netbeans、JCreator等。

JRE

JRE是Java RuntimeEnvironment的英文缩写。是指java的执行环境,java程序执行所必须的环境的集合。包含jvm和java的类库。

JVM

JVM俗称虚拟机。是JavaVirtual Machine的英文缩写,虚拟机它是一种用于计算机设备的规范,即虚拟机是一个想象中的机器,拥有自己完事的硬件架构如处理器、堆栈、寄存器等,还具有对应的指令系统,在实际的计算机上是通过软件来模拟计算机软硬件实现的。所以我眼下理解为虚拟机为一个软件,这个软件就像计算机一样,它实现了计算机设备的规范。使java程序能够在上执行。

JVM是java最具吸引力的特性之中的一个,Java语言的一个很重要的特点就是与平台的无关性。

而使用Java虚拟机是实现这一特点的关键。一般的高级语言假设要在不同的平台上执行,至少须要编译成不同的目标代码。而引入Java语言虚拟机后。Java语言在不同平台上执行时不须要又一次编译。Java语言使用模式Java虚拟机屏蔽了与详细平台相关的信息,使得Java语言编译程序仅仅需生成在Java虚拟机上执行的目标代码(字节码),就能够在多种平台上不加改动地执行。

GC

GC是垃圾收集机制,是GarbageCollection英文缩写,gc是jvm提供的能力,用于释放那些没有不论什么引用的对象即不再使用的对象所占用的内存。这里须要注意的是垃圾回收回收的是没有不论什么引用的对象占领的内存空间而不是那些不再使用的对象本身。

java平台

java平台由Java虚拟机(JavaVirtual Machine)和Java应用编程接口(ApplicationProgrammingInterface、简称API)构成。Java应用编程接口提供了一个独立于操作系统的标准接口。

java平台包含三个体系J2SE即JavaSE(Java2 Platform StandardEdition,java平台标准版)。 j2EE即JavaEE(Java2
Platform,Enterprise Edition。java平台企业版), J2ME即JavaME(Java 2 Platform Micro Edition,java平台微型版)。

这三个都是java平台。都是java开发的标准。仅仅是不同的标准应用的范围不一样,J2SE为标准版、J2EE为企业版、J2ME为微缩版

总结

以上这些内容有些是在学习中遇到的。有些是常常听大家提起的,通过本篇文章。希望自己能够对这些知识有个感性的认识。原理这些方面还没有进行深入的研究,主要就是解决“就怕不知道”的问题。

java学习——入门扫盲篇的更多相关文章

  1. Java正则表达式入门基础篇

    正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为 ...

  2. halcon视觉入门扫盲篇

    halcon视觉入门扫盲篇 前言     在公司让我研究视觉的时候,我是两眼一抹黑的.之前完全没有接触过视觉.综合权衡后选择了Halcon,使用的是HDevelop 13 (64-bit).      ...

  3. 从.Net到Java学习第十一篇——SpringBoot登录实现

    从.Net到Java学习系列目录 通过前面10篇文章的学习,相信我们对SpringBoot已经有了一些了解,那么如何来验证我们的学习成果呢?当然是通过做项目来证明啦!所以从这一篇开始我将会对之前自己做 ...

  4. Java学习之反射篇

    Java学习之反射篇 0x00 前言 今天简单来记录一下,反射与注解的一些东西,反射这个机制对于后面的java反序列化漏洞研究和代码审计也是比较重要. 0x01 反射机制概述 Java反射是Java非 ...

  5. Java学习之jackson篇

    Java学习之jackson篇 0x00 前言 本篇内容比较简单,简单记录. 0x01 Json 概述 概述:JSON(JavaScript Object Notation, JS 对象简谱) 是一种 ...

  6. Java学习之注解篇

    Java学习之注解篇 0x00 前言 续上篇文章,这篇文章就来写一下注解的相关内容. 0x01 注解概述 Java注解(Annotation)又称Java标注,是JDK5.0约会的一种注释机制. 和J ...

  7. 从.Net到Java学习第八篇——SpringBoot实现session共享和国际化

    从.Net到Java学习系列目录 SpringBoot Session共享 修改pom.xml添加依赖 <!--spring session--> <dependency> & ...

  8. 从.Net到Java学习第四篇——spring boot+redis

    从.Net到Java学习系列目录 “学习java已经十天,有时也怀念当初.net的经典,让这语言将你我相连,怀念你......”接上一篇,本篇使用到的框架redis.FastJSON. 环境准备 安装 ...

  9. 从.Net到Java学习第三篇——spring boot+mybatis+mysql

    从.Net到Java学习第一篇——开篇 环境:mysql5.7 新建mysql数据库demo,然后执行如下sql脚本进行数据表创建和数据初始化: -- ------------------------ ...

随机推荐

  1. C++运算符重载为非成员函数

    #include<iostream> using namespace std; class Complex{ public: Complex(double r=0.0,double i=0 ...

  2. Android应用开发基础篇(10)-----Menu(菜单)

    链接地址:http://www.cnblogs.com/lknlfy/archive/2012/02/28/2372101.html 一.概述 Menu,简单来理解就是当你按下手机的“menu”键时所 ...

  3. BZOJ 2982: combination( lucas )

    lucas裸题. C(m,n) = C(m/p,n/p)*C(m%p,n%p). ----------------------------------------------------------- ...

  4. jquery左右自适应伸缩插件

    简单css布局 body { margin: 0 auto; padding: 0 auto; } .showpannal { position:absolute; left: 200px; top: ...

  5. win7 64位 TortoiseSVN-1.8.4客户端安装

    下载地址链接:http://pan.baidu.com/s/1nukeBVz 密码:tc79 (32 64位都有,注意区分) next一路安装 安装好后,在需要和服务器同步的文件夹图标上--鼠标右键- ...

  6. python自学笔记(五)python文本操作

    一.python自带方法 r:read 读 w:write 写 a:append 尾行追加 先命令行进入python后 >>>d = open('a.txt','w') #在对应路径 ...

  7. perl5 第十一章 文件系统

    第十一章  文件系统 by flamephoenix 一.文件输入/输出函数  1.基本I/O函数    1)open函数    2)用open重定向输入    3)文件重定向    4)指定读写权限 ...

  8. docpad建站记录

    记一下用docpad建站的过程作为备忘.不定时更新 why docpad wordpress对我来说太过于臃肿,我就想要个代码干净的小站来写东西.想要个markdown为基础的静态站. 比较流行的St ...

  9. wordpress常用插件汇总

    WordPress之所以能成为目前最具人气的独立博客程序,除了无数爱好者为它开发的主题外,源源不断的插件支持也是重要的原因之一.wordpress的强大,也是在于无数爱好者源源不断的主题和插件. wo ...

  10. C++使用之常量的定义

    在介绍C++的常前,先看下下面的代码. for (int i = 0; i < 512; ++i) { …; } 512是什么,它具有什么含义?在代码中若直接使用类似512这些“魔数”(magi ...