java深入学习
文章平均质量分 81
亦心谷
这个作者很懒,什么都没留下…
展开
-
java深入学习之ArrayList工作原理
ArrayList应该是我们使用得比较频繁的一个集合类了。它主要特点包括: 1.自动扩容,也就是常说的动态数组; 2.可以添加任何类型的对象,包括null; 3.随机访问元素速度快; 4.非安全的集合类,也就是不同步的; 如果你已经清楚ArrayList的底层数据结构、自动扩容的实现原理以及它的一些常用方法的具体实现,那么你就没有必要往下阅读了。ArrayList的数据结构ArrayLis原创 2017-06-11 18:36:35 · 331 阅读 · 0 评论 -
java虚拟机内存区域简单介绍
首先看一张图: 由图可看出java虚拟机在执行java程序时会把它管理的内存分为5 个数据区域,其中有些区域是随着虚拟机进程的启动而存在的,有些是依赖用户线程的启动和结束而建立和销毁的。程序计数器程序计数器也叫指令计数器,pc, 用于存储下条指令的地址内容。在java虚拟机中,pc是一块较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器,其中分支、循环、跳转、异常处理和线程恢复等基础原创 2017-07-13 21:04:05 · 326 阅读 · 0 评论 -
java内存回收机制相关
对于垃圾回收,我们主要思考哪些内存需要回收、什么时候回收和如何回收几个问题。哪些内存需要回收堆中几乎存放着java中所有对象实例,垃圾收集器在对堆进行回收前,需要判断哪些对象是存活的,哪些对象是已经“挂掉”,并且是需要回收的。判断对象的存活与否,主要有引用计数法和根搜索算法。如何判断对象需要回收引用计数法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器就减1原创 2017-07-17 19:51:28 · 284 阅读 · 0 评论 -
java反射机制简析
最近在看Spring框架,其中的IOC中最基本技术就是利用java的反射机制。反射机制通俗来讲就是根据给出的类名(字符串方式)来动态地生成对象。这种编程方式可以让对象在生成时才决定到底是哪一种对象。我们只需要在配置文件中给出定义即可,目的就是提高灵活性和可维护性。从一个栗子说起package com.yixingu;public class LiZi { private float pric原创 2017-06-30 17:47:18 · 294 阅读 · 0 评论 -
简析Lock与synchronized
synchronized想来大家都比较熟悉,这是java的一个关键字,也就是java的一个内置特性。但既生瑜何生亮,既然有了synchronized来实现同步,为何还要新增Lock,想来Lock肯定有一些synchronized没有的优点。为什么要有Lock用过synchronized的都知道,当一个代码块或一个方法被synchronized修饰时,当线程获取到锁并执行这段代码时,其它线程只能一直等原创 2017-07-25 23:04:36 · 414 阅读 · 0 评论