【学习笔记】
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语言概述】的更多相关文章

  1. Java 学习笔记 ------第一章 Java平台概论

    本章学习目标: Java版本迁移简介 认识Java SE.Java EE.Java ME 认识JDK规范与操作 了解JVM.JRE与JDK 下载与安装JDK 一.Java版本迁移简介 书上已经表达得非 ...

  2. [编程笔记]第一章 C语言概述

    //C语言学习笔记 第一讲 C语言概述 第二讲 基本编程知识 第三讲 运算符和表达式 第四讲 流程控制 第五讲 函数 第六讲 数组 第七讲 指针 第八讲 变量的作用域和存储方式 第九讲 拓展类型 第十 ...

  3. Java学习笔记 第一章 入门<转>

    第一章 JAVA入门 一.基础常识 1.软件开发 什么是软件? 软件:一系列按照特定顺序组织的计算机数据和指令的集合 系统软件:DOS,Windows,Linux 应用软件:扫雷.QQ.迅雷 什么是开 ...

  4. Java 学习笔记 第一章:Java语言开发环境搭建

    第一章:Java语言开发环境搭建 第二章:常量.变量和数据类型 第三章:数据类型转换.运算符和方法入门 1.Java虚拟机——JVM JVM(Java Virtual Machine ):Java虚拟 ...

  5. [HeadFrist-HTMLCSS学习笔记][第一章Web语言:开始了解HTML]

    head title body 元素= 开始标记 + 内容 +结束标记 还能给段落一个变量名 <p id="houseblend"> body </p> s ...

  6. 《C#并发编程经典实例》学习笔记-第一章并发编程概述

    并发编程的术语 并发 同时做多件事情 多线程 并发的一种形式,它采用多个线程来执行程序. 多线程是并发的一种形式,但不是唯一的形式. 并行处理 把正在执行的大量的任务分割成小块,分配给多个同时运行的线 ...

  7. [HeadFirst-JSPServlet学习笔记][第一章:前言与概述]

    第一章 前言与概述 web服务器做什么? 答:接收客户请求,然后向客户返回结果 web客户做什么? 答:此处客户指浏览器,web客户允许用户请求服务器上的某个资源,并向用户展现请求的结果. html ...

  8. Java学习笔记心得——初识Java

    初识Java 拿到这本厚厚的<Java学习笔记>,翻开目录:Java平台概论.从JDK到TDE.认识对象.封装.继承与多态...看着这些似懂非懂的术语名词,心里怀着些好奇与担忧,就这样我开 ...

  9. Java学习记录第一章

    学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...

  10. C语言学习笔记第一章——开篇

    本文章B站有对应视频 (本文图片.部分文字引用c primer plus) 什么是C语言 顾名思义,c语言是一门语言,但是和我们所讲的话不同,它是一门编程语言,是为了让机器可以听懂人的意思所以编写的一 ...

随机推荐

  1. 第四十三篇、利用NSProxy解决NSTimer内存泄漏问题

    问题描述: 用NSTimer来实现每隔一定时间执行制定的任务,例如最常见的广告轮播图.如果我们在 timerWithTimeInterval:1 target:self 中指定target为当前控制器 ...

  2. HTML+CSS学习笔记(1) - Html介绍

    HTML+CSS学习笔记(1) - Html介绍 1.代码初体验,制作我的第一个网页 <!DOCTYPE HTML> <html> <head> <meta ...

  3. Xcode6模拟器时BUG导致键盘无法弹出

    Xcode 6.X版本可能会出现虚拟键盘无法调出,并在控制台出现如下提示:Can't find keyplane that supports type 5 for keyboard iPhone-Po ...

  4. Linux C SMTP POP3 极简陋邮件客户端

    以前以为协议非常高神,但做了这个之后发现还好,没想象的那么艰难. 先要了解邮件的原理 再者就是上面2协议 可以先用telnet测试一下,以初步了解那2协议:http://hi.baidu.com/34 ...

  5. Ueditor设置默认字体

    其实很简单,只需要将ueditor.all.js 以及 ueditor.all.min.js 两个文件中的字体改掉即可 修改方法: 在ueditor.all.js中搜索:设置默认字体和字号: 在ued ...

  6. 2014-10 u-boot 顶层config.mk分析

    /** ****************************************************************************** * @author    Maox ...

  7. jLink(v8)GDB 命令总结

    /** ****************************************************************************** * @author    Maox ...

  8. =====关于swing的一些收集-swing大收集======

    一篇经典的 介绍netbeans中swing 应用程序框架的文章 http://blog.csdn.net/tangwing/article/details/5745075 Swing外观框架 Bea ...

  9. c# 海康威视 Winform播放mp4视频

    最近有个视频播放系统,需要对海康的mp4格式视频进行播放,由于普通播放器无法对该视频进行播放原因是海康对视频进行了自己的编码,需要相应的解码才可以对视频进行播放. 下面是对海康威视视频播放的c#代码( ...

  10. 【转】分享10VPN

    以下介绍的vpn,都是有免费流量赠送的免费vpn,完全不免费的不在之列. 免费vpn因为用的人比较多,所以高峰时段可能会有点慢,但是人少时,还是比较顺畅的.对于偶尔浏览外网,看看新闻的同学来说,免费v ...