JVM学习笔记2:类型

Boolean

  • Java中的Boolean类型在JVM中映射为int类型。“true”被映射为整数 1,而“false”被映射为整数 0。因此,将原本声明为 boolean 类型的局部变量,赋值为除了 0、1 之外的整数值,在 Java 虚拟机看来是“合法”的。

  • 对于存储 boolean 数组的字节码,Java 虚拟机需保证实际存入的值是整数 1 或者 0。

  • 对于下面的代码来说,第一个if是true,第二个是false。因为第一个是在true是1的情况下,等于问的是“吃过几碗饭”,而第二个if是问“吃了一碗饭吗”。

JVM学习笔记1:概述

JVM解决什么问题

  • JVM在我的理解与CLR是一回事,本身还是为了解决java代码无法直接编译为机器码。
  • 对标C#,类型的动态推导等功能是在运行时做的,因此无法做到AOT。就需要虚拟机来做这个事情了。
  • 如虚函数实现多态这样的情况,JVM中可以简单的获得当前应该调用哪个实现函数,从而优化代码的执行。
  • 最后,使用虚拟机可以做到代码不考虑具体在哪个平台运行的问题,实现跨平台使用。

侯捷C++学习笔记:对象的创建和销毁

概述

  • 本文会记录CPP中对象的创建和销毁的过程中的细节

big three函数

  • 拷贝构造函数
  • 拷贝赋值函数
  • 析构函数

用途:这三个函数是在类中包含了指针的情况下使用的。

  • 当有一个成员变量是一个指针时,就有了给这个变量赋值的问题。如果这个赋值需要深拷贝,那么就需要申请内存空间。这样在析构函数中就需要对指针进行delete。
  • 这个成员变量可以是在对象构造函数中被赋值的,比如是个拷贝构造函数。也可以是在拷贝赋值函数中被赋值的。

侯捷C++学习笔记:Object Model

composition & delegate & inherit 的构造和析构顺序

侯捷C++学习笔记:Reference

本质

  • 通过指针实现,所以本质就是指针

侯捷C++学习笔记:偏特化

什么是偏特化

  • 泛化(泛型)的反义
  • 分为个数的偏特化和范围的偏特化

数量偏特化

  • 举个例子,如果有如下class的定义,第一个class的就是泛型的,而第二个class,也是两个参数,但是第一个参数是个确定类型的,第二个是泛型的。这样就叫个人的偏特化。这固定类型的位置必须是从左至右的,不能跳着写。

侯捷C++学习笔记:类型转换

自己转换为别的类型

  • 做法:使用operator关键字,无需返回值,函数名称就是返回值。如有需要加上const修饰。

侯捷C++学习笔记:面向对象

Composition

  • 组合
  • 其实就是一个类(Container)中包含了另一个类的实例(Component),注意是实例。

侯捷C++学习笔记:基础

1.类

  • 带指针的类
  • 不带指针的类:大多数不需要析构函数

PHP的OOP

  • 在类中可以使用public(公有),protected(受保护)或 private(私有)来修饰属性和方法。如果不修饰默认是public。
  • 类中用var定义变量,var $name,使用方式$this->name
  • 构造函数function __construct(),析构函数function __destruct()
  • 继承class Child_Site extends Site,使用extends关键字
  • 实例化类
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×