Integer数据比较(升级篇)

发布于:2017-2-20 23:54 作者:losetowin 浏览:1021 分类: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 浏览:5897 分类:Java
如何判断两个对象相等,这个问题实际上可以看做是如何对equals方法和hashcode方法的理解。

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

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

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

阅读全文>>

标签: java

0

【排序算法】快速排序

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

阅读全文>>

【排序算法】冒泡排序

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

最简单的一个排序算法

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

阅读全文>>

使用BATIK解析SVG生成PNG图片

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

阅读全文>>

标签: svg batik

0

一致性Hash的介绍

发布于:2016-11-27 22:37 作者:losetowin 浏览:1316 分类:Java

场景


单个节点的缓存容量达到上限,无法继续单点增加内存,如何解决?

单个节点支撑的QPS达到上限,如何解决? 

初步方案

增加N个缓存节点,为了保证缓存数据的均匀,一般情况会采用对key值hash,然后取模的方式,然后根据结果,确认数据落到哪台节点上:如下:

hash(key)%N 

很好,这个的确解决了上面的问题,实现了初...

阅读全文>>

标签: 一致性哈希

0

锁的公平和非公平

发布于:2016-11-20 20:39 作者:losetowin 浏览:2037 分类:Java
简单介绍

在锁的获取上,存在一个公平性和不公平性的问题,所谓的公平是指,在一段时间内,先对锁发起获取请求的一定被先满足。或者可以理解成期望获取锁的线程是一个先进先出的队列,等待时间最久的线程最优先获取到锁。而非公平是指,获取锁的顺序并不是有序的,可以随时插队。就好比都在排队检票,突然来了一个人说他的火车马上就要开车了,想插在你前面检票进站,这时候你就有可能仁慈了,把位置让他插入了。 这时...

阅读全文>>

【设计模式】模板方法模式

发布于:2016-11-2 22:56 作者:losetowin 浏览:1043 分类:Java
定义

定义一个操作中算法的框架,将一些步骤延迟到子类。使得子类可以不改变一个算法的结构,即可重定义该算法的某些步骤。
或者可以描述成:
定义一个算法的骨架,将一些实现步骤延迟到子类。不变的行为放到超类中,去除掉子类中的重复代码。

UML图

QQ20161102-0.png

使用场景

多个子类有公共的方法,并且逻辑基本相同时。
重...

阅读全文>>

关于Java中Daemon线程

发布于:2016-6-22 23:18 作者:losetowin 浏览:1328 分类:Java
  1. 什么是daemon线程?
    也可以称为守护线程,是一种支持性线程,主要用于程序中的后台调度及支持性工作
  2. 主要用在什么地方? 
    比如垃圾回收就算一种守护线程
  3. 需要注意什么?
    1). 因为是守护线程,或者说是支持性线程,就意味着这个线程并不属于程序中不可或缺的一部分。所以当所有的非守护线程(即用户线程)结束之后,程序就会结束,JVM退出,同时也就会杀死所有的非守护线程(可以参见J...

阅读全文>>

标签: java daemon

0

【基础-积累】JAVA获取当前jar包目录

发布于:2016-6-5 22:39 作者:losetowin 浏览:1667 分类:Java

在java开发中,经常需要获取当前jar包所在目录,比如需要获取配置文件,具体代码如下:

代码如下:

 this.getClass().getProtectionDomain().getCodeSource().getLocation().getFile(); 

或者下面这种

 this.getClass().getProtectionDomain()...

阅读全文>>

标签: java jar

0

1 2 3 4 5