java性能
DT平哥
做好自己
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
性能分析系列
一、开发者的自测利器-Hprof命令 1、示例演示 例子程序: /** * PROJECT_NAME: test * DATE: 16/7/22 * CREATE BY: chao.cheng **/ public class HProfTest { public void slowMethod() { try {转载 2016-10-05 08:10:12 · 392 阅读 · 0 评论 -
多线程内存溢出产生的实战分析
Caused by: java.lang.OutOfMemoryError: unable to create new native thread at java.lang.Thread.start0(Native Method) at java.lang.Thread.start(Thread.java:597) at java.util.Timer.init>(Time转载 2016-10-05 08:16:06 · 1316 阅读 · 0 评论 -
HashMap实现原理分析
概述 HashMap是Java集合框架(Java Collection Framework, JCF)中一个基础类,它在1998年12月,加入到Java 2版本中。在此之后,Map接口本身除了在Java 5中引入了泛型以外,再没有发生过明显变化。然而HashMap的实现,则为了提升性能,不断地在改变。 1.hash表的复习 在正式学习HashMap源码之前,先复习一下hash表的实现。转载 2016-10-06 21:01:10 · 1048 阅读 · 0 评论 -
交换排序与插入排序
排序算法进行分类: 其中每个算法都有其相应的时间复杂度和空间复杂度,这里我也对它们做了一个汇总: 排序算法 时间复杂度 空间复杂度 稳定性 复杂性 平均情况 最坏情况 最好情况 冒泡排序 O(n^2) O(n^2) O(n) O(1转载 2016-10-06 21:11:31 · 1333 阅读 · 0 评论 -
选择排序与归并排序
选择排序 直接选择排序 【基本思想】 每一趟在待排序列中选出最小(或最大)的元素,依次放在已排好序的元素序列后面(或前面),直至全部的元素排完为止。 直接选择排序也称为简单选择排序。首先在待排序列中选出最小的元素,将它与第一个位置上的元素交换。然后选出次小的元素,将它与第二个位置上的元素交换。以此类推,直至所有元素排成递增序列为止。 选择排序是对整体的选择。只有在确定转载 2016-10-06 21:37:33 · 653 阅读 · 0 评论 -
基数排序与计数排序
基数排序 【基本思想】 首先设立r个队列,对列编号分别为0~r-1,r为待排序列中元素的基数(例如10进制数,则r=10),然后按照下面的规则对元素进行分配收集 1,先按最低有效位的值,把n个元素分配到上述的r个队列中,然后从小到大将个队列中的元素依次收集起来 2,再按次低有效位的值把刚收集起来的关键字分配到r个队列中,重复收集工作 3,重复地进行上述分配和收集,直到最高有效位。(也就是转载 2016-10-06 21:39:40 · 1016 阅读 · 0 评论 -
KMP模式匹配算法
首先我们需要了解什么是模式匹配? 子串定位运算又称为模式匹配(Pattern Matching)或串匹配(String Matching)。在串匹配中,一般将主串称为目标串,将子串称为模式串。本篇博客统一用S表示目标串,T表示模式串,将从目标串S中查找模式串T的过程称为模式匹配。 虽然我们的主角是KMP模式匹配算法,但我们还是要先从暴力匹配算法讲起,通过发现暴力匹配算法存在的问题,由此来引出K转载 2016-10-06 21:43:29 · 274 阅读 · 0 评论 -
JVM理解
Dalvik虚拟机能不能执行class文件?为什么不能执行class文件? 答:不能,Dakvik并不是一个Java虚拟机,它没有遵循Java虚拟机规范,不能执行Java的class文件,使用的是寄存器架构而不是JVM中常见的栈架构,但是它与Java又有着千丝万缕的关系,它执行的dex文件可以通过class文件转化而来。 JVM内存区域 我们在编写程序时,经常会遇到OOM(o转载 2016-10-06 22:00:23 · 204 阅读 · 0 评论
分享