李晓晗的博客 Java Coder

headfirstjava第一章笔记

2019-07-15
lxh

head first Java第一章

Java的工作方式

  1. 编写源代码
  2. 编译器运行源代码并检查错误
  3. 编译器产生字节码
  4. Java虚拟机(JVM)读取执行字节码
因为JVM在执行,所以可以跨平台,这就是Java酷的地方

我需要做的事

  1. 编写源代码,存为xx.java
  2. 执行javac程序编译xx.java
  3. 编译没有错误就会产生xx.class这个文件,由字节码组成的
  4. 启动JVM执行xx.class,JVM将这个字节码转化为平台能理解的形式

题外话

Java的sun公司已经被oracle公司收购了,我一直以为oracle只是个数据库,原来是赞助金州勇士队的甲骨文公司,勇士队的主场就是甲骨文球馆(我又把学习带到了我擅长的领域,勇士总亚军)。

库里

一些概念

  • 强类型语言

强类型语言也称为强类型定义语言。是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。

java、.NET、C/C++等都是强制类型定义的。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。

例如你有一个整数,如果不显式地进行转换,你不能将其视为一个字符串。

与其相对应的是弱类型语言:数据类型可以被忽略的语言。它与强类型定义语言相反,一个变量可以赋不同数据类型的值。

  • 动态绑定

动态绑定是指在执行期间(非编译期)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。程序运行过程中,把函数(或过程)调用与响应调用所需要的代码相结合的过程称为动态绑定。

动态绑定(后期绑定)是指:在程序运行过程中,根据具体的实例对象才能具体确定是哪个方法。

动态绑定是多态性得以实现的重要因素,它通过方法表来实现:每个类被加载到虚拟机时,在方法区保存元数据,其中,包括一个叫做方法表(methodtable)的东西,表中记录了这个类定义的方法的指针,每个表项指向一个具体的方法代码。如果这个类重写了父类中的某个方法,则对应表项指向新的代码实现处。从父类继承来的方法位于子类定义的方法的前面

Java中integer与boolean两种类型并不相容.
int x = 1;
while(x){}//这种写法是在Java中是错误的,只能使用boolean类型

李晓晗

更新于2019-7-15 中午

参考资料:


Similar Posts

Comments