上一页 1 ··· 6 7 8 9 10 11 12 13 14 下一页

2018年11月13日

Java类加载机制

摘要: 前言 我们知道Java的Class文件编译后生成了.class文件,.calss文件中包含的各种信息,最终都需要加载到虚拟机中之后才能运行和使用。而虚拟机是如何加载这些Class文件的呢?Class文件中从信息进入到虚拟机后会发生什么?这些都是本文要讲解的内容,将会讲解类加载的每个阶段Java虚拟机 阅读全文

posted @ 2018-11-13 21:08 AoTuDeMan 阅读(143) 评论(0) 推荐(0) 编辑

2018年11月8日

内存分配

摘要: 前言 Java技术体系中所提倡的自动内存管理最终可以归结为自动化解决了两个问题:给对象分配内存以及回收分配给对象的内存。 对象的内存分配,往大方向讲,就是在堆上分配(但也可能经过JIT编译后被拆散为标量类型并间接的在栈上分配),对象主要分配在新生代的Eden区上,如果启用了本地线程缓冲,将按线程优先 阅读全文

posted @ 2018-11-08 20:28 AoTuDeMan 阅读(139) 评论(0) 推荐(0) 编辑

2018年11月7日

HotSpot的算法实现

摘要: 上一篇文章垃圾回收机制(GC)从理论上介绍了对象存活判定算法和垃圾收集算法,而在HotSpot虚拟机上实现这些算法时,必须对算法的执行效率有严格的考量,才能保证虚拟机高效运行。 枚举根节点 以可达性分析中从GC Roots 节点找引用链这个操作为例,可作为GC Roots 的节点主要在全局性的引用( 阅读全文

posted @ 2018-11-07 21:04 AoTuDeMan 阅读(659) 评论(0) 推荐(1) 编辑

2018年11月6日

垃圾回收机制(GC)

摘要: 前言 上一篇文章Java内存区域及对象讲述了Java内存运行时的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程生而生,随线程灭而灭,在这几个区域是不需要过多的考虑回收的问题的,因为方法结束或者线程结束时,内存自然就跟随着回收了;而Java堆和方法区则不一样,一个接口中的多个实现类需要的 阅读全文

posted @ 2018-11-06 21:45 AoTuDeMan 阅读(376) 评论(0) 推荐(0) 编辑

2018年11月1日

Java注意点...

摘要: 写这篇文章的目的,只是提醒自己一些在开发中的注意点,只是浅尝辄止,不深究。仅仅给自己提醒用。这篇文章会持续更新的...... 慎用重载 重载(overload) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。在Java1.5之前,基本类型都根本不同于所有的引用类型,但是当自动 阅读全文

posted @ 2018-11-01 16:46 AoTuDeMan 阅读(142) 评论(0) 推荐(0) 编辑

2018年10月31日

JVM内存区域及对象

摘要: 前言 我们都知道Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自不同的用途,以及创建和销毁的时间,有的区域随着虚拟机启动的进程而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如图所示 阅读全文

posted @ 2018-10-31 21:36 AoTuDeMan 阅读(153) 评论(0) 推荐(0) 编辑

2018年10月25日

缓冲区(Buffer)

摘要: 什么是缓冲区? 定义: 缓冲区就是固定数量数据的容器,其作用是一个存储器,或者分段运输区,在这里数据可被存储并在之后用于检索。缓冲区像上一篇文章I/O 模型那样被写满和释放,对于每个非布尔原始数据类型都有一个缓冲区类,尽管缓冲区作用于它们存储的原始数据类型,但缓冲区十分倾向于处理字节,非字节缓冲区可 阅读全文

posted @ 2018-10-25 16:41 AoTuDeMan 阅读(1947) 评论(0) 推荐(0) 编辑

2018年10月24日

I/O 模型

摘要: Java传统IO,读取磁盘文件的数据过程大致如下图所示: 以FileInputStream类为例,对数据的读取进行说明。FileInputStream类有一个read(byte b[ ])方法,byte b[ ]就是我们用来存储读取到的数据,储存在用户空间的缓冲区。read(byte b[ ])方法 阅读全文

posted @ 2018-10-24 16:49 AoTuDeMan 阅读(283) 评论(0) 推荐(0) 编辑

2018年10月23日

并行排序

摘要: 排序是一项非常常用的操作,你的应用程序在运行时,可能无时无刻不在进行排序操作。排序的算法有很多,但是对于大部分的算法都是串行执行的。当排序的元素很多时,若使用并行算法代替串行,显然可以更加有效的利用CPU,提高排序效率。但将串行算法修改为并行算法并非易事,甚至会极大的增加原有算法的复杂度。下面介绍几 阅读全文

posted @ 2018-10-23 16:35 AoTuDeMan 阅读(2401) 评论(0) 推荐(0) 编辑

2018年10月19日

并行搜索

摘要: 搜索是几乎每一个软件都必不可少的功能。对于有序数据,通常采用二分查找法。对于无序数据,则只能挨个查找。 给定一个数组,我们要查找满足条件的元素。对于串行程序来说,只要遍历一下数组就可以得到结果。但是如果要使用并行方式,则需要额外增加一些线程间的通信机制,使各个线程可以有效的运行。 一种简单的策略就是 阅读全文

posted @ 2018-10-19 17:00 AoTuDeMan 阅读(391) 评论(0) 推荐(0) 编辑

上一页 1 ··· 6 7 8 9 10 11 12 13 14 下一页

导航