摘要:
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路:用 (n&1)==1 来判断二进制最右边是否是1,是1 的话说明最右边一位是1,继续将n右移一位,继续判断,不过这样会出现问题,如果n是负数,不断将n右移,第一位始终用1补齐,这样会陷入死循环。 换一种思路是,用(n&1)!=0 阅读全文
摘要:
1.什么是进程?什么是线程? 我们可以把计算机上每一个正在进行的任务看做一个进程,比如说听音乐、做PPT、玩游戏等等。进程是受操作系统管理的基本运行单元。 而什么是线程呢? 线程是进程中独立的子部分,可以共享进程中的资源,而又有自己的小秘密。就如同进程在计算中一样的地位,所以也叫“轻量级的进程” 2 阅读全文
摘要:
首先,什么是类的加载?类的加载由类加载器执行.该步骤将查找字节码(classpath指定目录),并从这些字节码中创建一个Class对象。Java虚拟机为每种类型管理一个独一无二的Class对象。也就是说,每个类(型)都有一个Class对象。一旦某个类的Class对象被载入到内存,他就被用来创建这个类 阅读全文
摘要:
前面的几篇都没有太明确地指出 方法区 是什么?现在通过一些资料的收集和学习,下面做一些总结 什么是方法区: 方法区是系统分配的一个内存逻辑区域,是JVM在装载类文件时,用于存储类型信息的(类的描述信息)。 方法区存放的信息包括: 类的基本信息: 1.每个类的全限定名 2.每个类的直接超类的全限定名( 阅读全文
摘要:
类加载过程: 1, JVM会先去方法区中找有没有相应类的.class存在。如果有,就直接使用;如果没有,则把相关类的.class加载到方法区 2, 在.class加载到方法区时,会分为两部分加载:先加载非静态内容,再加载静态内容 3, 加载非静态内容:把.class中的所有非静态内容加载到方法区下的 阅读全文
摘要:
JVM 内存分配模型概念 --在工作中可能用到的机会不多,有个概念的了解 --此文是转载某位读者,应该是在阅读了《深入理解Java虚拟机JVM高级特性与最佳实践》 一书后,总结所得。写的不错,转载哈 一、JVM内存区域划分 大多数 JVM 将内存区域划分为 Method Area(Non-Heap) 阅读全文