java学习——入门扫盲篇
概要
近期这几天開始进入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学习——入门扫盲篇的更多相关文章
- Java正则表达式入门基础篇
正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为 ...
- halcon视觉入门扫盲篇
halcon视觉入门扫盲篇 前言 在公司让我研究视觉的时候,我是两眼一抹黑的.之前完全没有接触过视觉.综合权衡后选择了Halcon,使用的是HDevelop 13 (64-bit). ...
- 从.Net到Java学习第十一篇——SpringBoot登录实现
从.Net到Java学习系列目录 通过前面10篇文章的学习,相信我们对SpringBoot已经有了一些了解,那么如何来验证我们的学习成果呢?当然是通过做项目来证明啦!所以从这一篇开始我将会对之前自己做 ...
- Java学习之反射篇
Java学习之反射篇 0x00 前言 今天简单来记录一下,反射与注解的一些东西,反射这个机制对于后面的java反序列化漏洞研究和代码审计也是比较重要. 0x01 反射机制概述 Java反射是Java非 ...
- Java学习之jackson篇
Java学习之jackson篇 0x00 前言 本篇内容比较简单,简单记录. 0x01 Json 概述 概述:JSON(JavaScript Object Notation, JS 对象简谱) 是一种 ...
- Java学习之注解篇
Java学习之注解篇 0x00 前言 续上篇文章,这篇文章就来写一下注解的相关内容. 0x01 注解概述 Java注解(Annotation)又称Java标注,是JDK5.0约会的一种注释机制. 和J ...
- 从.Net到Java学习第八篇——SpringBoot实现session共享和国际化
从.Net到Java学习系列目录 SpringBoot Session共享 修改pom.xml添加依赖 <!--spring session--> <dependency> & ...
- 从.Net到Java学习第四篇——spring boot+redis
从.Net到Java学习系列目录 “学习java已经十天,有时也怀念当初.net的经典,让这语言将你我相连,怀念你......”接上一篇,本篇使用到的框架redis.FastJSON. 环境准备 安装 ...
- 从.Net到Java学习第三篇——spring boot+mybatis+mysql
从.Net到Java学习第一篇——开篇 环境:mysql5.7 新建mysql数据库demo,然后执行如下sql脚本进行数据表创建和数据初始化: -- ------------------------ ...
随机推荐
- 如何在内存中压缩并加密ZIP
项目中遇到了一个问题,考虑到安全原因,需要将文件以二进制数据的方式打包成压缩文件,并且这个压缩文件是有密码的. 去Google上找了些API,下载来看了下,琢磨出了以下方法 首先放API: <! ...
- 说一说Servlet 的生命周期
答:servlet 有良好的生存期的定义, 包括加载和实例化. 初始化. 处理请求以及服务结束.这个生存期由 javax.servlet.Servlet 接口的 init,service 和 dest ...
- EasyUI的使用步骤
(1) 将easyui-1.4.3中jquery.min.js\jquery.easyui.min.js复制到工程的script下 (2) 将themes复制到工程中 (3) 在页面中引入2个JS 2 ...
- 1028: C语言程序设计教程(第三版)课后习题8.2
Description求方程 的根,用三个函数分别求当b^2-4ac大于0.等于0.和小于0时的根,并输出结果.从主函数输入a.b.c的值.Inputa b cOutputx1=? x2=?Sampl ...
- python笔记之第一次使用(未入门)
刚开始学习python,之前完全没有接触,在这里写下自己学习python的过程和心得. 首先,安装python,打开官网:http://python.org.点击Download.我选择了3.5.1版 ...
- Python collections.defaultdict 笔记
其实defaultdict 就是一个字典,只不过python自动的为它的键赋了一个初始值.这也就是说,你不显示的为字典的键赋初值python不会报错,看下实际例子. 比如你想计算频率 frequenc ...
- 用CSS样式画横线和竖线的方法
今天在做网页的时候,需要用到CSS画横线,虽然比较简单,但也出了一些小问题,拿来做个备忘. 方法一:用DIV,代码如下:(推荐此方法) <div style="width:80 ...
- Round B APAC Test 2017
https://code.google.com/codejam/contest/5254487 A. Sherlock and Parentheses Problem Sherlock and Wat ...
- 转:详细解说 STL 排序(Sort)
详细解说 STL 排序(Sort) 详细解说 STL 排序(Sort) 作者Winter 详细解说 STL 排序(Sort) 0 前言: STL,为什么你必须掌握 1 STL提供的Sort 算法 1. ...
- JSTL与EL(转)
基本使用 <c:forEach items="${deptList}" var="dept"> <div ...