- 博客(8)
- 收藏
- 关注
原创 JVM-----判断对象是否存活
(1)引用计数法思想:为每个对象添加一个引用计数器,每当有一个地方引用这个对象时,计数器的值就+1,;当引用失效时,计数器的值就-1,;任何时刻计数器的值为0的对象没有在被使用。缺点:很难解决对象之间循环引用的问题,这时两个对象都不能被回收。(2)可达性分析法思想:通过一系列的成为“GC roots”的对象作为起始点,从这些节点,开始向下搜索,搜索所走过的路径称为引用链,当一个对象...
2018-05-31 14:19:33 208
原创 Mysql分页查询
limit m,n :从m+1条开始,取n条。例如:select * from table limit 0,10;取第一条到第十条的数据。假设每页有10条数据,这就是第一页。客户端通过传递start(页码),limit(每页显示的条数)两个参数取分页查询数据库中的数据,具体实现如下:select * from table limit (页码-1)*每页条数,每页条数 ...
2018-05-31 13:40:37 316
原创 Memcached与redis的区别
Memcached redis 高性能分布式内存缓存数据库 内存高速缓存数据库 只支持key-value结构 不仅支持key-value结构,还支持字符串、hash表、链表、集合、有序集合以及基于这些数据类型的相关操作 将全部数据放在内存中 将大部分数据放在内存中 不支持数据备份 支持数据备份(主从复制),即master-slave模式的...
2018-05-31 13:24:25 102
原创 JVM-----空间分配担保
在发生minor gc之前,虚拟机会检测 : 老年代最大可用的连续空间>新生代all对象总空间? 1、满足,minor gc是安全的,可以进行minor gc。 2、不满足,虚拟机查看HandlePromotionFailure参数: (1)为true,允许担保失败,会继续检测老年代最大可用的连续空间>...
2018-05-31 11:37:07 3417 1
原创 JVM-----对象的分配
1、大多数情况下,对象在新生代eden区中分配,当eden区中没有足够内存空间进行分配时,虚拟机将发起一次minor GC(minor gc:发生在新生代的垃圾收集动作,非常频繁,一般回收速度也比较快)。2、大对象直接进入老年代。3、长期存活的对象进入老年代。4、若在survivor空间中相同年龄的所有对象的总和>survivor空间的一半,则年龄>=该年龄的对象直接进入老...
2018-05-31 11:21:25 129
原创 HashMap、TreeMap、HashTable的区别
1、三者都是Map接口的实现类。2、TreeMap是有序的,HashMap和HashTable都是无序的。3、HashTable是线程安全的,HashMap和TreeMap都不是线程安全的。
2018-05-31 10:55:11 208
原创 java基本类型的取值范围
1、byte1字节,-2^7~2^7-12、short2字节,-2^15~2^15-13、int4字节,-2^31~2^31-14、long8字节,-2^63~2^63-15、float4字节,3.402823e+38~1.401298e-45(e+38,为10的38次方)6、double8字节,1.797693e+308~4.9000000e-234...
2018-05-26 00:30:38 405
原创 剑指offer-----二叉搜索树与双向链表
一、题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。二、思路中序遍历树,并时时更新最后一个节点。根据这三个节点的关系,判断出全局关系,从而写出代码。三、代码实现/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode rig...
2018-05-02 17:52:35 78
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人