![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程
画蛇添足
我是一个人!
展开
-
java创建对象过程
java创建对象过程如图所示类检查器虚拟机遇到一条new指令的时候,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个行号引用代码的类是否被加载过、 解析过、初始化过.如果没有,则必须先进行相应的类加载过程.分配内存在类加载检查通过之后,接下来虚拟机将会为新生的对象分配内存. 对象所需要的内存大小在类加载完成之后便会确定,为对象分配内存空间的任务等同于把一...转载 2019-12-02 17:28:39 · 218 阅读 · 0 评论 -
Hotpot Java虚拟机Class对象是在方法区还是堆中
Class对象是存放在堆区的,不是方法区,这点很多人容易犯错。类的元数据(元数据并不是类的Class对象。Class对象是加载的最终产品,类的方法代码,变量名,方法名,访问权限,返回值等等都是在方法区的)才是存在方法区的。方法区在一个JVM实例的内部,类型信息被存储在一个称为方法区的内存逻辑区中。类型信息是由类加载器在类加载时从类文件中提取出来的。类(静态)变量也存储在方法区中。JVM...转载 2019-12-02 15:09:06 · 6888 阅读 · 0 评论 -
对IO的一点理解
在Linux操作系统层面,网络操作即为IO操作,总共有:阻塞式,非阻塞式,复用模型,信号驱动和异步五种IO模型。阻塞式IO操作请求发起以后,从网卡等待/读取数据,内核/到用户态的拷贝,整个IO过程中,用户的线程都是处于阻塞状态。非阻塞与阻塞的区别在于应用层不会等待网卡接收数据,即在内核数据未准备好之前,IO将返回EWOULDBLOCK,用户端通过主动轮询,直到内核态数据准备好,然后再主动发起内核态...原创 2018-12-17 14:23:25 · 923 阅读 · 0 评论