Java学习笔记1

目录

1.谈谈你过去学习编程语言的方法、经验和教训
2.Java语言都有哪些特点?
3.Java跨平台实现的原理是什么?
4.JDK、JRE、JVM有哪些区别?


1.过去学习编程语言的方法、经验和教训

  • 学习方法
    对于我目前所学习的c、c++、Python这三门语言而言,我基本上采取的是课前看书+上课听讲+课后练习的常见模式。

  • 经验
    在“看书”、“听讲”和“练习”这三个步骤中,我认为最重要的是“看书”,也就是俗称的“预习”。以前觉得看书太枯燥,大段大段的术语和毫不口语化的文字实在是让人提不起兴趣。但是随着学习的加深,不禁发觉,书上那不过十几几十字的定义,往往是对一个概念最为凝练到位的描述。而之后的,反倒被许多学生当成首要的“课堂学习”环节,反而应当只是辅助和巩固的手段,至于代码的实践锻炼,自不必说是在已有的地基上垒土建高了。

  • 教训
    一定一定,搞懂理论和细节;一定一定,要打下扎实的基础;一定一定;要记住最基本的概念和理论,毕竟我也是没少吃这方面的苦头Orz。


2.Java语言都有哪些特点?

  1. 简单高效
  2. 纯面向对象
  3. 平台无关性与可移植性
  4. 稳定性和安全性
  5. 多线程并且是动态的
  6. 高性能
  7. 分布式(物理上分布,逻辑上统一)

3.Java跨平台实现的原理是什么?

  • Java将源程序编译成字节码文件——扩展名为.class。这个二进制代码文件与具体操作系统的机器指令无关,其运行必须借助解释执行系统动态翻译成所在操作系统的机器码(由运行环境当中的Java虚拟机完成解释执行工作)。同时,Java数据类型在任何机器上都是一致的,它不支持特定于具体硬件环境的数据类型,同一数据类型在所有操作系统中占据相同的空间大小。

4.JDK、JRE、JVM有哪些区别?

Java学习笔记1

    1. JDK JDK(Java Development Kit) 是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API
      包括rt.jar)。 JDK是java开发工具包,基本上每个学java的人都会先在机器 上装一个JDK,那他都包含哪几部分呢?在目录下面有
      六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的
      是以下四个文件夹:bin、include、lib、 jre。有这样一个关系,JDK包含JRE,而JRE包含JVM。
    1. JRE JRE(Java Runtime Environment,Java运行环境),包含JVM标准实现及Java核心类库。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)
      JRE是指java运行环境。光有JVM还不能成class的 执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。
      (jre里有运行.class的java.exe) JRE ( Java Runtime Environment ),是运行 Java
      程序必不可少的(除非用其他一些编译环境编译成.exe可执行文件……),JRE的
      地位就象一台PC机一样,我们写好的Win64应用程序需要操作系统帮 我们运行,同样的,我们编写的Java程序也必须要JRE才能运行。
    1. JVM JVM(Java Virtual Machine),即java虚拟机, java运行时的环境,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。针对java用户,也就是拥有可运行的.class文件包(jar或者war)的用户。里面主要包含了jvm和java运行时基本类库(rt.jar)。rt.jar可以简单粗暴地理解为:它就是java源码编译成的jar包。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。
      by @Ancientear