【疯狂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语言是一门语言,但是和我们所讲的话不同,它是一门编程语言,是为了让机器可以听懂人的意思所以编写的一 ...
随机推荐
- 使用gulp脚本配合TypeScript开发
目标:编写TypeScript时,保存即生成js文件. 使用npm安装以下组件 gulp gulp-rename through-gulp gulp-typescript 编写gulpfile ...
- 使用PSD设计网页页面
一.一个独立的页面 1.分析这个页面,在脑海或草稿上要确立页面板块布局(如版块区域的,位置和大小)2.根据设计稿的的情况,分析背景图的分布.ICO图的分布等 3.切割相应的图片,导出.合并图片(一般用 ...
- CKedit在线编辑器
在线编辑器 在实现所见即得的编辑效果. FCK 是开发者的名字的缩写 CKEditor 功能很完善的,具有,在线编辑与图片上传JS插件 UEdit ...
- WiFi相关知识
1. 无线路由器的覆盖范围和带机量 覆盖范围取决于发射功率.接收灵敏度,以及对端的发射功率和接收灵敏度.因为Wi-Fi设备在发出数据包后,一定要等待对方回ACK才会确认发送成功,所以,如果任意一方的发 ...
- HDU1857题解(逆向思维trie)
题目link:http://acm.hdu.edu.cn/showproblem.php?pid=1857 先简述一下题目: 有一个RXC的字母矩形,R,C在500内,要匹配m个单词,m在100000 ...
- 串操作,C++实现
对串的基本操作都全已经实现 对kmp,kf字符串替换等功能全都已经实现 由于时间原因.没来得及注释,希望大家参考见谅. 串操作hstring.h头文件实现 //kallen 1 #ifndef _HS ...
- NSS_01 开始
工作中一直使用asp.net webform, 最近有一个新的小项目, 决定用asp.net mvc3, 边学习边工作吧,记录一下开发过程中的问题,因为工作嘛,只记录问题,可能不会很详细. 准备使用a ...
- hadoop filesystem 删除文件 复制文件 重命名文件
private void moveFile(Configuration conf, String Path1, String Path2, String newname ) throws IOExce ...
- const和#define的区别
在刷题的时候经常遇到定义全局常量我一般都是用#define(可能是因为很少接触const的原因) 在昨天做到51nod1082时照常暴力用#define定义最大.可是提交超时..... 后来看他人写的 ...
- 让Ecshop网店系统用户自动登陆
让Ecshop网店系统用户户自动登陆,打开ecshop includes/init.php文件,可以发现Ecshop系统判断用户的SESSION不存在的时候会去读取存储在COOKIES里面的值.如下代 ...