Java基础介绍运行机制笔记
1. 基础知识点图解

- 编程语言核心结构:变量、基本语法、分支、循环、数组、……
- Java面向对象的核心逻辑:OOP、封装、继承、多态、接口……
- 开发Java SE高级应用程序:异常、集合、I/O、多线程、反射机制、网络编程…
2. 各种语言对比
| 名称 | 适用对象 |
| C | 操作系统、嵌入式领域、数据库、服务器、单片机、编译器、Linux开发 |
| C++ | 开发桌面软件、操作系统、图形处理、游戏、网站、搜索引擎、数据库 |
| Java | Android平台应用、应用服务器程序、网站、嵌入式领域、大数据技术(包括Hadoop及其他大数据处理技术)科学应用等 |
| C# | 在微软云计算平台Windows Azure和.NET框架创建现代网页应用,开发Windows终端应用,开发企业级桌面应用 |
| Python | 人工智能、数据科学、Web应用、用户交互界面、自动化任务、统计和科学计算等 |
3. Java诞生
Sun公司(斯坦福大学网络,不是太阳,音读:san)Jgosling团队在1990年Green项目中急需一种语言实现平台独立性为此创造了Java语言。1995年正式推出Java,同时Web此时开始兴起,java也投入广泛使用。目前,随着Java技术在Web方面的不断成熟,已经成为Web应用程序的首选开发语言。
4. Java技术体系平台
- Java SE(Java Standard Edition)标准版:支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE
- Java EE(Java Enterprise Edition)企业版:是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet 、Jsp等,主要针对于Web应用程序开发。版本以前称为J2EE
- Java ME(Java Micro Edition)小型版:支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,此版本以前称为J2ME
5. Java主要特性
- 易学性:Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。
- 强制面向对象:Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。
- 分布式:Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
- 健壮性:Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。
- 安全性:Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。如:安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查。
- 跨平台性:Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
- 解释型:如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统的解释器中运行。
- 性能略高:与那些解释型的高级脚本语言相比,Java的性能还是较优的。
- 原生支持多线程:在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。
6. Java运行机制
- 核心机制:Java虚拟机
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。对于不同的平台,有不同的虚拟机。Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
因为有了JVM,同一个Java 程序在三个不同的操作系统中都可以执行。这样就实现了Java 程序的跨平台性。

流程示例:

- Java运行环境搭建:JDK、JRE
JDK(Java Development Kit Java开发工具包):给Java开发人员使用的,包含java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。(其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等)
JRE(Java Runtime Environment Java运行环境) :包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等。(如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可)
简单而言,使用JDK的开发工具完成的java程序,交给JRE去运行。

JDK = JRE + 开发工具集(例如Javac编译工具等)
JRE = JVM + Java SE标准类库
Java基础介绍运行机制笔记的更多相关文章
- 《Java疯狂讲义》(第3版)学习笔记 2 - Java语言的运行机制
内容 1.高级语言的运行机制 2.Java 语言的运行机制 1.高级语言的运行机制 高级语言主要分为编译型语言和解释型语言两类. 编译型语言是指使用专门的编译器.针对特定平台(操作系统)将高级语言源代 ...
- JVM学习001通过实例总结Java虚拟机的运行机制
JVM学习(1)——通过实例总结Java虚拟机的运行机制-转载http://www.cnblogs.com/kubixuesheng/p/5199200.html 文章转载自:http://www.c ...
- 深入解析java虚拟机-jvm运行机制
转自oschina 一:JVM基础概念 JVM(Java虚拟机)一种用于计算设备的规范,可用不同的方式(软件或硬件)加以实现.编译虚拟机的指令集与编译微处理器的指令集非常类似.Java虚拟机包括一套字 ...
- Java基础:类加载机制
之前的<java基础:内存模型>当中,我们大体了解了在java当中,不同类型的信息,都存放于java当中哪个部位当中,那么有了对于堆.栈.方法区.的基本理解以后,今天我们来好好剖析一下,j ...
- Java基础:GC机制
上一节,简单的介绍了java当中的内存模型,那么经常和内存模型一起提到的JAVA垃圾回收机制当然也需要在这里一并的总结一下. 所谓是垃圾回收机制,用通俗的话来说,就是将那些没有被任何变量引用的实例对象 ...
- 《疯狂Java讲义》(二)---- Java程序的运行机制和JVM
1. 运行机制 Java源文件(*.java)-----使用javac编译----编译成*.class文件----使用java解释执行----特定平台的机器码 2. 原理 负责解释执行字节码文件的就是 ...
- java基础介绍(转)
很全面的介绍JAVA基础的文档 Java 编程简介,第 1 部分: Java 语言基础 http://www.ibm.com/developerworks/cn/java/j-introtojava1 ...
- 全面理解Java异常的运行机制
1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单.听话. ...
- java基础之反射机制
一.概念 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为jav ...
随机推荐
- nyoj116士兵杀死(两)段树单点更新
士兵杀敌(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:5 描写叙述 南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的. 小工是南将军手下的军师,南将军常常 ...
- 精装友好联络算法实现借壳和RI
精装友好联络会 注册算法分析: 1. 许可证由三部分组成. 2. 的登记号的第一部分是顺序编号0x6d模 3. 登记代码的第二部分: 先将订单号与0XB25F1异或,将异或后的结果转换成十进制字符串 ...
- DataGrid DataGridTemplateColumn
设置单元格的样式 <DataGrid.Columns> <DataGridTextColumn Header="检测项目" Binding="{Bind ...
- C++的中英文字符串表示(string,wstring),使用wcout.imbue(std::locale("chs"));本地化解析编码
在C++中字符串类的string的模板原型是basic_string template <class _Elem, class traits = char_traits<_Elem> ...
- 枚举与字符串转及RecordSet转XML,JSON
function AdoToJs(ado: TADOQuery): string; var I, J: Integer; json: string; begin json := '{columns:[ ...
- jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
转:http://www.cnblogs.com/wiseant/p/4553837.html 最近在一个ASP.NET MVC5项目中使用Bootstrap的模态窗(弹出层)来让用户填写内容,其中的 ...
- clipboard.js在剪切中的使用
目前只是对文字的复制. 下面的代码解释: 1.html 需要添加data-clipboard="copy"和data-clipboard-target="对象选择器&qu ...
- 《Windows via C/C++》学习笔记 —— 设备I/O之“同步的设备I/O”(系列文章)
前面曾经讲过,设备I/O的方式有两种:同步和异步.本篇介绍一下同步设备I/O.主要涉及到两个函数:ReadFile和WriteFile. 不要被这两个函数的名称迷惑,不仅可以将这两个作用于文件,也可以 ...
- 无辜的RAD(RAD是让你去创造和使用可复用的组件,不是让程序员“变白痴”)good
无辜的RAD 2005-3-21 说实话,RAD很无辜.从出生的那天其就被骂,天天被指着鼻子说“不就是拖个控件嘛”,就好像当年说学电脑“不就是插个鼠标嘛”.也怪程序员大都天性犯贱,就爱一遍又一便的写基 ...
- Controls 属性与继承 TShape 类的小练习(使用TShape可以解决很多图形问题)
本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, ...