A-JAVA基础
java基础
昊昊1011
这个作者很懒,什么都没留下…
展开
-
java类加载过程
类加载过程: 1,JVM会先去方法区中找有没有相应类的.class存在。如果有,就直接使用;如果没有,则把相关类的.class加载到方法区 2,在.class加载到方法区时,会分为两部分加载:先加载非静态内容,再加载静态内容 3,加载非静态内容:把.class中的所有非静态内容加载到方法区下的非静态区域内 4,加载静态内容: 4.1、把.class中的所有静态内容加载到方...转载 2019-04-21 17:35:05 · 77 阅读 · 0 评论 -
为何要使用原码, 反码和补码?
机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1. 比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011。如果是 -3 ,就是 10000011 。那么,这里的 00000011 和 10000011 就是机器数。 真值 因为第一位是符号位,所以机器数的形式值就不等于真正的数...转载 2019-12-23 09:24:29 · 938 阅读 · 0 评论 -
java 老年代 新生代 永久代
Java GC、新生代、老年代 堆内存 Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。 在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 (...转载 2018-08-26 23:23:36 · 2749 阅读 · 0 评论 -
JVM 堆内存设置原理
堆内存设置 原理 JVM堆内存分为2块:Permanent Space 和 Heap Space。 Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。 Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation),New ...转载 2018-09-03 23:34:32 · 112 阅读 · 0 评论 -
JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。 HotSpot虚拟机GC算法采用分代收...转载 2018-09-04 00:07:04 · 93 阅读 · 0 评论 -
详解Java的自动装箱与拆箱(Autoboxing and unboxing)
转载 2018-08-14 10:33:17 · 152 阅读 · 0 评论 -
new String("aaa")创建了几个String对象?
String str=new String("aaa"); 这行代码究竟创建了几个String对象呢?答案是2个,而不是3个。由于new String("aaa")相当于"aaa"与一个就是创建出来的放在堆时原实例对象,而另一个就是放在常量池中的 "aaa" 对象,当然这里的str本身只是一个引用,放在栈里,用来指向堆中创建出来的对象。常量池(constant pool)指的是在编译期被确定,并...转载 2018-07-04 10:17:57 · 317 阅读 · 0 评论 -
new String()究竟创建几个对象?
new String()究竟创建几个对象?1. 由来遇到一个Java面试题,是关于String的,自己对String还有点研究?下面是题目的描述:在Java中,new String("hello")这样的创建方式,到底创建了几个String对象?题目下答案,各说纷纭,有说1个的,有说2个的。我觉得都对,但也都不对,因为要加上一定的条件,下面来分析下!2. 解答2.1. 分析题目中的String创建...转载 2018-07-04 10:02:34 · 245 阅读 · 0 评论