
java
H阿布
这个作者很懒,什么都没留下…
展开
-
equals方法的姐妹篇——如何实现高效的hashCode方法
1、何时实现hashCode方法hashCode跟equals一样,都是基类Object中的一个方法。而什么时候该重写hashCode方法呢?其实这个问题的答案我们也许都知道,就是我们的类需要使用到集合框架时,绝大多数情况都要实现equals和hashCode方法,而不能只实现这两个方法其中一个。为什么呢?我们可以看一个例子:public class Goods { public int ...原创 2020-04-19 13:36:55 · 371 阅读 · 0 评论 -
听说你还不会实现equals方法?收藏这篇文章就够了!
1、何时需要重写equals相信javaer们应该都知道equals方法,它是基类大佬Object中的一个方法,所以java下面所有的类都“自带”这个方法。看方法名就知道,意图就是对比传入的目标对象, 跟自己是否“相等”。我们先看看这个方法在Object类中的实现: public boolean equals(Object obj) { return (this == o...原创 2020-04-12 14:58:48 · 478 阅读 · 0 评论 -
jdk动态代理实现总结和范例
最近在研究spring aop,其中代理在aop扮演着一个很重要的角色,现在来总结一下动态代理(这里只总结动态代理,代理模式和静态代理略)。动态代理是跟静态代理的目的都一样,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 先来看看动态代理原创 2016-05-11 23:20:42 · 597 阅读 · 0 评论 -
<<、>>、>>>的运用
虽然在项目中很少用上移位运算,但基础知识还是要掌握好的。众所周知移位运算的效率比运算符要高很多,在底层开发和游戏开发运用得比较多。<<:左移。例如 x<原创 2016-05-15 17:21:13 · 569 阅读 · 0 评论 -
根据经纬度计算两地距离java实现
最近项目有个需求是:已知两地经纬度,计算两地的距离。于是网上搜索了一下计算公式,在这里记录一下,方便以后使用,数学公式理解起来太复杂,所以直接上代码:public static double getDistance(double lon1, double lat1, double lon2, double lat2) { double radLat1 = rad(lat1);原创 2017-08-10 13:10:34 · 4307 阅读 · 0 评论 -
centos7编译openjdk8
最近在学习jvm,平时有关java虚拟机的知识都是从别人的认识,或者书本中获得,然而“纸上得来终觉浅,绝知此事要躬行”。想更深刻的认识jvm,还得自己亲自去研究一番。于是利用工作之余的时间自己编译一套jdk。编译前注意问题1、编译openjdk时,需要提供一个启动jdk,即boot JDK; 2、boot JDK需为当前编译的openjdk的上一个版本。例如这里编译的openjdk8,就要用jdk原创 2017-08-19 22:20:57 · 2637 阅读 · 0 评论