一、Java内存区域
Java虚拟机在执行Java程序的过程中,会把它所管理的内存划分为若干个不同的数据区域。根据《Java虚拟机规范 SE7》规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域。
1.1 PC寄存器
PC寄存器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。每个线程都会有自己的PC寄存器空间。
Java虚拟机在执行Java程序的过程中,会把它所管理的内存划分为若干个不同的数据区域。根据《Java虚拟机规范 SE7》规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域。
PC寄存器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。每个线程都会有自己的PC寄存器空间。
Epoll是什么?按照man手册的说法,是为处理大批量句柄而作了改进的poll。它在Linux2.5.44中被引进。他具备之前的poll/select所具有的优点,又没有它们的缺点,被公认为Linux 2.6下性能最好的多路IO就绪通知方法。
Epoll只有三个调用,分别是 epoll_create
, epoll_ctl
, epoll_wait
。
当一个类没有定义任何构造函数的时候,编译器会为其生成默认构造函数,又被称为合成的构造函数。
类的默认构造函数要求,类的成员类必须有空参数的构造函数。
如果使用=来初始化一个变量,实际上执行的是拷贝初始化
。编译器把等号右边的初始值拷贝到新创建的对象中去。 如果不使用等号,则执行的是直接初始化
。
C++11新标准规定,允许将变量声明为constexpr类型,以便由编译器来验证变量的值是否是一个常量表达式。 constexpr是在编译器判断是否是常量的。