【疯狂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语言是一门语言,但是和我们所讲的话不同,它是一门编程语言,是为了让机器可以听懂人的意思所以编写的一 ...
随机推荐
- Android知识思维导图
注:图片来源于网络,谢谢分享. 一. 项目目录结构: 布局控件 ListVIew控件 Widget:(窗口小部件) Activity Manager 二. 应用程序的5个模块构成: Activit ...
- node.js笔记——gulp
1.全局安装 npm install gulp -g 2.安装到具体目录,并安装相应的自动化插件 npm install -save-dev gulp gulp-concat gulp-minify- ...
- [easyui] datebox源码阅读. 批注
jquery.datebox.js 文件. (function($){ /** * create date box */ function createBox(target){ var state = ...
- 分布式之高性能IO组件
因为毕业设计(实时分析大型数据流),开始对分布式并行计算做研究,第一个问题就是通讯.高性能的通讯是整个系统性能的基本保障. 方案 就目前的经验来讲,最好的通信选择是:异步非阻塞IO + 资源池. 异步 ...
- jsp链接数据库
数据库表代码: /*Navicat MySQL Data Transfer Source Server : localhost_3306Source Server Version : 50528Sou ...
- 就要从SDG离职了
在知乎上看到有个提问,你为什么从盛大离职.我八月份在盛大游戏实习之间,下个星期准备辞职迎接新的挑战.本文也将提到我在盛大实习的经历以及离职的原因.当然,不会涉及很多SDG内部的管理以及技术上的秘密. ...
- php 生成器 入门理解
概念太晦涩,看不懂,直接上例子: 问题:得到一个1-1000000的整数数组,然后用foreach遍历输出 如果没有生成器,这样做: $arr=range(1,1000000);//这个函数最终会返回 ...
- 创建dataTable
public void createTable() { DataSet ds = new DataSet(); using (DataTable dt = new DataTable("st ...
- 数据可视化(一)-Matplotlib简易入门
本节的内容来源:https://www.dataquest.io/mission/10/plotting-basics 本节的数据来源:https://archive.ics.uci.edu/ml/d ...
- EXPLAIN句法 优化表结构
EXPLAIN tbl_name or EXPLAIN SELECT select_options EXPLAIN tbl_name是DESC[RIBE] tbl_name或SHOW COLUMNS ...