疯狂java
Happy_tt
不忘初心,不要着急,总会得到答案!
展开
-
对象与内存控制
Java内存管理分为两个方面即内存分配和内存回收。内存分配特指创建Java对象时jvm为该对象在堆内存中所分配的内存空间;内存回收指的是当该Java对象失去引用变成垃圾时,jvm的垃圾回收机制自动清理该对象,并回收该对象所占用的内存。不能因为jvm内置了垃圾回收机制而认为java不存在内存泄漏,因此不能肆无忌惮的创建对象。 一、实例变量和类变量 1.java程序变量可分为成员变量和局部变量。原创 2017-09-24 14:24:04 · 230 阅读 · 0 评论 -
数组与内存控制
一、数组初始化 1.数组初始化方式有两种: 静态初始化:初始化时显示的指定每个元素的初始值。比如:int [] a=new int[]{1,2,3}或者int[] a={1,2,3} 动态初始化:初始化时只指定数组长度,由系统分配初始值。比如:int[] a=new int[3] 2.需要注意的问题 (1)Java数组是静态的,即数组被初始化以后,数组的长度是不能改变的。 (2)Jav原创 2017-09-23 20:02:17 · 271 阅读 · 0 评论 -
Java容器
Java集合类即Java容器。集合类和数组不一样,数组元素既可以是基本类型的数值,也可以是对象的引用变量,但是集合里只能保存对象的引用变量(则个问题下面还会详细的解释一下)。Java集合类主要是由两个接口派生而出:Collection和Map,这两个接口是Java集合框架的根接口,这两个接口还包括了一些子接口和实现类,容器类图如下:上图中蓝色背景的为接口,橘红背景的是我们经常是会用的类。下面我们会...原创 2017-09-26 14:07:01 · 258 阅读 · 0 评论 -
Map、Set和List的一些关联
三种集合的示意图如下: 一、Map和Set Map集合的key具有的特征是无序不重复,如果将Map的所有key集中起来,那么这些key就组成了一个set集合,而且事实就是Map集合提供了如下方法来返回所有key组成的集合: 可以看出keySet()的返回类型就是Set类型的。对于Map而言只要把所有的key集中起来,它就是一个set,这就是从Map到Set的转换,从Set到M原创 2017-09-27 14:27:18 · 351 阅读 · 0 评论 -
java垃圾回收机制
一、什么是垃圾回收机制 java的垃圾回收机制是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间。需要注意的是垃圾回收回收的是无任何引用的对象占据的内存空间,而不是对象本身。真正的垃圾回收机制不是立马回收,具体在什么时间开始是不确定的,这和抢占式的线程在发生作用时的原理一样。 二、关于在讲解垃圾回收时会用到的一些概念 1.强制垃圾回收。由于程序无法原创 2017-09-29 09:52:55 · 2022 阅读 · 0 评论 -
关于Java表达式中的陷阱
一、字符串陷阱 1.对于对象的创建方式 (1)通过new关键字调用构造器创建Java对象:String a=new String("ltt")->此语句创建了两个Java对象即“ltt”这个直接量对应的字符串对象和new String构造器返回的字符串对象。 (2)通过Class对象的的newInstance方法调用构造器创建Java对象。 (3)通过Java的反序列化机制从IO流中恢复J原创 2017-10-03 08:35:12 · 314 阅读 · 0 评论 -
面向对象以及捕捉异常需要注意的问题
一、面向对象 1.instanceof运算符 instanceof运算符的前一个操作数通常是一个引用类型的变量,后一个操作数通常是一个类,用于判断前面的对象是否是后面的类或者其子类。 当编译器编辑Java程序时,编译器无法检查引用变量的实际引用对象的类型,它只检查该变量的编译类型。对于强制转型要求如下(使用instanceof也是如此): ☆在编译阶段,要想编译通过,则(1)被转型变量的编原创 2017-10-05 09:55:18 · 347 阅读 · 0 评论