【疯狂Java学习笔记】【第一章:Java语言概述】
【学习笔记】
1、Java与C#的异同:
Java与C#的相同之处有很多,它们均摒弃了C++面向对象的多继承、宏定义、全局变量、全局函数、指针等等难以使用的机制,添加进了成熟的机制,如垃圾回收、接口等等。
不同之处在于,Java是一种跨平台的语言,而C#是Microsoft发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言,因此,C#要比Java更能够很好地运用Windows系统。
所以如果是基于Windows系统去开发一个网络式应用,使用C#会更加优秀,而一个开放式的企业应用通常会选用Java作为开发语言。
2、编译型语言和解释型语言:
编译型语言是指使用专门的编译器,针对专门的平台(操作系统),将高级语言翻译成为平台的机器码(包括机器指令和操作数),并包装成该平台所能识别的可执行程序的格式。编译之后通常需要进行连接,连接是指将两个及其以上编译好的目标代码组装,生成最终的可执行性程序,从而实现低层的代码复用。编译后的机器码可脱离它的开发环境,但是却依赖于具体的平台,通常不可移植。常见的如C、C++、fortran、Pascal等语言都是编译型的语言。
解释型语言是指使用特定的解释器,对写好的代码进行逐行的编译,翻译成机器码并且立刻执行。解释型语言相当于把编译和运行过程混到一起去执行。解释型语言可以方便地实现程序级别的移植,只要在不同平台配置它的解释器就可以,但是解释型语言牺牲了它的执行效率。常见的Ruby、Python等都是解释型的语言。
Java的特殊性:Java语言编写的程序需要经过编译步骤,但这个编译步骤并不会生成特定平台的机器码,而是生成平台无关的Java字节码(.class),Java中负责解释执行Java字节码的Java虚拟机,即JVM。在不同平台上,JVM的具体实现是不同的,但是它们都提供了相同的接口,这是实现Java跨平台的重要部分!
JVM是一个抽象的计算机,它具有指令集并使用不同的存储区域。它负责执行指令,还要管理数据、内存和寄存器。
3、JVM、JRE、JDK的关系:
JVM是Java虚拟机,它的作用是对.class的字节码进行解释执行。然而运行一个Java程序还需要其它的如类加载器、字节码校验器、大量基础类库等等,这就是JRE(Java运行时环境)。仅仅是运行Java程序可以只安装JRE,但是要进行Java程序开发,就必须要安装JDK,JDK主要包括了除JRE外的Java编译器和常用的Java类库等。
【疯狂Java学习笔记】【第一章:Java语言概述】的更多相关文章
- Java 学习笔记 ------第一章 Java平台概论
本章学习目标: Java版本迁移简介 认识Java SE.Java EE.Java ME 认识JDK规范与操作 了解JVM.JRE与JDK 下载与安装JDK 一.Java版本迁移简介 书上已经表达得非 ...
- [编程笔记]第一章 C语言概述
//C语言学习笔记 第一讲 C语言概述 第二讲 基本编程知识 第三讲 运算符和表达式 第四讲 流程控制 第五讲 函数 第六讲 数组 第七讲 指针 第八讲 变量的作用域和存储方式 第九讲 拓展类型 第十 ...
- Java学习笔记 第一章 入门<转>
第一章 JAVA入门 一.基础常识 1.软件开发 什么是软件? 软件:一系列按照特定顺序组织的计算机数据和指令的集合 系统软件:DOS,Windows,Linux 应用软件:扫雷.QQ.迅雷 什么是开 ...
- Java 学习笔记 第一章:Java语言开发环境搭建
第一章:Java语言开发环境搭建 第二章:常量.变量和数据类型 第三章:数据类型转换.运算符和方法入门 1.Java虚拟机——JVM JVM(Java Virtual Machine ):Java虚拟 ...
- [HeadFrist-HTMLCSS学习笔记][第一章Web语言:开始了解HTML]
head title body 元素= 开始标记 + 内容 +结束标记 还能给段落一个变量名 <p id="houseblend"> body </p> s ...
- 《C#并发编程经典实例》学习笔记-第一章并发编程概述
并发编程的术语 并发 同时做多件事情 多线程 并发的一种形式,它采用多个线程来执行程序. 多线程是并发的一种形式,但不是唯一的形式. 并行处理 把正在执行的大量的任务分割成小块,分配给多个同时运行的线 ...
- [HeadFirst-JSPServlet学习笔记][第一章:前言与概述]
第一章 前言与概述 web服务器做什么? 答:接收客户请求,然后向客户返回结果 web客户做什么? 答:此处客户指浏览器,web客户允许用户请求服务器上的某个资源,并向用户展现请求的结果. html ...
- Java学习笔记心得——初识Java
初识Java 拿到这本厚厚的<Java学习笔记>,翻开目录:Java平台概论.从JDK到TDE.认识对象.封装.继承与多态...看着这些似懂非懂的术语名词,心里怀着些好奇与担忧,就这样我开 ...
- Java学习记录第一章
学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...
- C语言学习笔记第一章——开篇
本文章B站有对应视频 (本文图片.部分文字引用c primer plus) 什么是C语言 顾名思义,c语言是一门语言,但是和我们所讲的话不同,它是一门编程语言,是为了让机器可以听懂人的意思所以编写的一 ...
随机推荐
- using System.Threading;
/// <summary> /// 执行动作:耗时而已 /// </summary> private void TestThread(string threadName) { ...
- (转)操作型数据库的春天:MongoDB 1.5亿美元融资背后的故事
大部分融资都要耗时数月,但非关系式数据库MongoDB仅用3周时间就完成了1.5亿美元的融资.为什么这个进程会这么快,MongoDB CEO Max Schireson在接受采访时说,这是因为投资者看 ...
- (转)深入探讨在集群环境中使用 EhCache 缓存系统
简介: EhCache 是一个纯 Java 的进程内缓存框架,具有快速.精干等特点,是 Hibernate 中默认的 CacheProvider.本文充分的介绍了 EhCache 缓存系统对集群环境的 ...
- Oracle数据类型对应Java类型
SQL数据类型 JDBC类型代码 标准的Java类型 Oracle扩展的Java类型 1.0标准的JDBC类型: CHAR java.sql.Types.CHAR java.lang.St ...
- IPoint从自定义的投影坐标系转换到自定义的地理坐标系
IPoint pointStart = new PointClass(); pointStart = xyPolyline.FromPoint; ISpatialReferenceFactory pS ...
- L005-oldboy-mysql-dba-lesson05
L005-oldboy-mysql-dba-lesson05 在线改表工具:pt-onine-schema-change 来自为知笔记(Wiz)
- ng-src作用
... <ul class="phones"> <li ng-repeat="phone in $ctrl.phones | filter:$ctrl. ...
- [DevExpress]ChartControl之创建X,Y轴Title示例
关键代码: /// <summary> /// 设置X轴Title /// </summary> /// <param name="chart"> ...
- 【原】隐藏ultraGrid1指定列
void uGrdAllFlight_InitializeRow(object sender, InitializeRowEventArgs e) { /***********TEST START** ...
- grails的插件
今天来歪理邪说一下grails的插件. 有个问题让本人困惑了一段时间,插件是属于grails的,还是属于某个工程的?为什么会有这个问题呢,这涉及到grails插件的安装方式. grails的插件像是一 ...