1. java内部类
使用内部类的原因:
(1)内部类可以对同一个包中的其它类隐藏;
(2)内部类方法可以访问定义这个类的作用域中的数据,包括原本私有的数据。(如果不需要访问外部,定义成静态内部类)
ps:内部类是一个编译器现象
2. c++内联函数
如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方。
ps:不要去内联超过10行的函数,不要去内联虚函数、析构函数,谨慎内联拥有循环和switch语句的函数。
3. c++类成员的三种访问权限
- public:可以被该类中的函数、子类的函数、友元函数访问,也可以由该类的对象访问;
- protected:可以被该类中的函数、子类的函数、友元函数访问,但不可以由该类的对象访问;
- private:可以被该类中的函数、友元函数访问,但不可以由子类的函数、该类的对象、访问。
4. c++友元函数
类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。
5. java8中的jvm内存区域
线程私有:虚拟机栈、程序计数器、本地方法栈
线程共享:堆、元空间、直接内存
6. gc方法:标记清除、标记整理、复制、分代收集