【疯狂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语言是一门语言,但是和我们所讲的话不同,它是一门编程语言,是为了让机器可以听懂人的意思所以编写的一 ...
随机推荐
- 大家注意:升级 win8.1 火狐浏览器 谷歌浏览器 搜狗五笔输入法 都不能用啦
大家注意:升级 win8.1 火狐浏览器 谷歌浏览器 搜狗五笔输入法 都不能用啦 我的电脑64位 win8 thinkpad e531,8G内存 刚在线升级完8.1,发现这些问题,大家注意,有知道问题 ...
- 【转载】Linux小白福利:《超容易的Linux系统管理入门书》(三)在虚拟机上安装Linux
本篇是Linux小白最佳实践第3篇,目的就是让白菜们自己动手安装个Linux玩玩.如果你是Linux小白,请务必亲自动手来安装.不想安装多个操作系统的,虚拟机是最佳选择,一台电脑上可以用虚拟机安装7. ...
- Linux 锁
问题: 1.假如对某个文件加了锁/lock,但是程序退出时没有关闭锁,如果想在另外一个程序中用这个文件,如何办? 2.
- QT设置窗口屏幕居中
int main(int argc, char *argv[]){ QApplication ap(argc, argv); QDesktopWidget *pDesk = QApplicatio ...
- 一次GC问题定位
同事有段代码执行时间过长,需要进行优化, Hashmultimap<Int,Bean> map = ...; for (400w*96) { // 计算过程 Bean = doComput ...
- xtraScrollableControl 滚动条随鼠标滚动
代码如下 // using System; using System.Windows.Forms; using DevExpress.XtraEditors; namespace WindowsFor ...
- ListView练习
1. 在 .xml中创建一个ListView是不会显示出来的. 2. ListView的Item: 列表项, 3. 显示ListView的4个要素: 3.1 ListView控件:在layout布局中 ...
- 去掉iphone手机滑动默认行为
/*去掉iphone手机滑动默认行为*/ $('body').on('touchmove', function (event) { event.preventDefault(); });
- numpy简单入门
声明:本文大量参考https://www.dataquest.io/mission/6/getting-started-with-numpy(建议阅读原文) 读取文件 有一个名为world_alc ...
- Head of a Gang (map+邻接表+DFS)
One way that the police finds the head of a gang is to check people's phone calls. If there is a pho ...