Java GC 知识点

发布于:2017-5-21 17:35 作者:losetowin 浏览:1190 分类:Java
GC算法
    
引用计数无法处理循环引用的问题
标记清除算法
1、从根节点开始标记所有被引用的对象
2、遍历整个堆,把未标记的对象清除。

会产生Stop-The-World,产生内存碎片。
复制算法
把内存空间划分为两个相等的区域,每次只使用一个区域。GC时,遍历当前使用区域,把正在使用中的对象复制到另外一个区域中。因为只复制正在使用中的,所以复制成本比较小。复制过去之后会做相应...

阅读全文>>

标签: java GC

0

联盟收入下降的排查及解决

发布于:2017-5-2 23:07 作者:losetowin 浏览:1175 分类:技术

 1 

起因

     博客上月的百度联盟收入下降了。而且是下降了40%+。虽然原本就没有多少钱,但是呆呆的狗粮钱一下子少了一半啊,所以需要查一下为什么收入下降这么多。

 2 

思路

首先思路自然是看网站流量,加了百度统计,看流量的变化趋势很方便。 


    &nb...

阅读全文>>

【算法】两个栈实现一个队列

发布于:2017-4-9 16:45 作者:losetowin 浏览:1243 分类:Java

问题描述

使用两个栈实现一个队列,实现pop方法和push方法,存储元素为int数据

思路

使用stack1做数据存储,使用stack2做临时数据中转。pop时,将stack1的数据转到stack2中,然后pop一个出来。之后将stack2的数据pop到stack1中。


代码实现

/**
 * 两个栈模拟一个队列(先进先出)
 * @author www....

阅读全文>>

标签: 算法

0

ThreadPoolExecutor入门

发布于:2017-3-22 0:37 作者:losetowin 浏览:1187 分类:Java
01

为什么要用线程池?

1、降低资源消耗:重复利用已创建好的线程,减少线程的创建和销毁带来的资源消耗

2、提高系统的相应速度:任务到达时,不需要等待线程创建,直接利用现有线程可直接执行。

3、提升线程的可管理性:线程是稀缺资源,如果不加限制的创建,不仅会消耗系统资源,还会降低系统的稳定性。使用线程池可以进行统一的分配和调优。

线程越多,不一定意味着程序越快。线程越多会造成上下文切换次数的增多,反...

阅读全文>>

Integer数据比较(升级篇)

发布于:2017-2-20 23:54 作者:losetowin 浏览:1120 分类:Java

之前有写过一篇关于Integer的文章《Integer的数据比较》(http://mp.weixin.qq.com/s?__biz=MzA3NjE5NzE4Nw==&mid=402194451&idx=1&sn=3d8db79ae561f08cba5cb01df96e3bd8#rd)这次再聊一下关于Integer的数据比较,增加一点新的内容。具体还是以例子作为开始。

下面的程...

阅读全文>>

Java中如何判断两个对象是否相等

发布于:2017-2-5 22:54 作者:losetowin 浏览:6393 分类:Java
如何判断两个对象相等,这个问题实际上可以看做是如何对equals方法和hashcode方法的理解。

从以下几个点来理解equals和hashCode方法:

1、equals的作用及与==的区别。
2、hashcode的作用及与equals的关系。

1、equals的作用及与==的区别。
equals被用来判断两个对象是否相等。
equals通常用来比较两...

阅读全文>>

标签: java

0

【排序算法】快速排序

发布于:2017-2-5 10:41 作者:losetowin 浏览:1103 分类:Java
快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为两个子序列(sub-lists)。
步骤为:
  1. 从数列中挑出一个元素,称为"基准"(pivot),
  2. 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区结束之后,该基准就处于数列的中间位置。这个称为分区(p...

阅读全文>>

【排序算法】冒泡排序

发布于:2017-2-3 19:44 作者:losetowin 浏览:1032 分类:Java

最简单的一个排序算法

冒泡排序算法如下:
    1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
    2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
    3. 针对所有的元素重复以上的步骤,除了最后一个。
    4. 持续每次对越来越少的元素重复上面的步骤,直到...

阅读全文>>

使用BATIK解析SVG生成PNG图片

发布于:2017-2-2 21:43 作者:losetowin 浏览:3838 分类:Java
    假期搞了一个小玩意,输入部分文字生成指定的图片,这个其实在朋友圈很多,比如之前的大字等游戏与此类似,比如我搞得这个就是生成微信的转账记录,转账金额和转账时间是可以变更的,如下图:
test.png
当然这里面是有留一个彩蛋的,最上面的时间和下面的转账时间是对不上的,所以这个仅仅是玩一玩~~不要用作其他用途。
(PS:15/16年比较多的微商朋友圈的各种收款记录转账记...

阅读全文>>

标签: svg batik

0

redis堵塞了怎么办(上)

发布于:2016-12-26 20:17 作者:losetowin 浏览:1304 分类:技术
背景描述:
硬件成本越来越低,所以在很多实际项目中,经常用到redis来作为缓存提高系统的响应速度,也有系统用它来做DB存储, redis很快,主要原因在于以下几点:
     1、纯内存操作,读写操作简单,线程占用时间短。
     2、单线程模型,避免了上下文切换带来的时间消耗。
   ...

阅读全文>>

标签: redis

0

1 2 3 4 5 6 7 ... »