
java
文章平均质量分 57
Michaelson_Nicklause
这个作者很懒,什么都没留下…
展开
-
为什么重写了equals方法一定要重写hashCode方法?
大家面试的时候应该都有遇到过这种问题,就是如果我重写了equals方法为什么一定要重写hashCode方法?可能很多人都没有重写过hashCode和equals方法,因为在实际应用中可能很少人会直接用自定义的对象作为key。所以hashCode和equals方法的重写实际上是属于业务上的需求,而不是技术上的需求。如果你看过Object类里面这两个方法的解释,你可能也注意到了,在equals方法的注释上面有一句话就是(翻译之后): 请注意,每当重写此方法时,通常都需要重写hashCode方法,以维护h原创 2022-01-05 16:49:35 · 233 阅读 · 0 评论 -
spring cache使用redis作为缓存时的配置问题
spring-data-redis提供了一系列的Serializers作为存储到redis时执行序列化操作,而JdkSerializationRedisSerializer作为默认的序列化器,如果正常使用spring的缓存是没什么问题,但是如果你要直接查询redis的时候可能就不是那么友好了,所以这里可以将它转成json存储在redis,这样更好。重新配置CacheManager,如下: @Bean public CacheManager cacheManager(RedisConn原创 2021-11-12 13:40:17 · 1252 阅读 · 0 评论 -
java 实现图片截取功能
最近项目需要实现图片截取的功能,之前也没做过,时间又赶,网上的例子感觉比较复杂,但是实际上java本身已经相关的API了,并不需要程序猿自己手动计算什么,当然如果是图片等比压缩可能就不同了,使用java实现的代码也很简单:boolean cropImage(InputStream inputStream,int x,int y,int w,int h,String sufix,File fil原创 2018-01-03 09:54:47 · 10178 阅读 · 1 评论 -
深入理解AtomicInteger
AtomicInteger类是jdk并发包下的一个原子操作类,顾名思义原子操作类就是实现变量的原子操作的,要深刻理解这个类的作用我们要先从i++这个操作说起。情景假设:商城后台需要录入库存,现在商品A剩下0个库存,仓库管理员A点击添加按钮添加一个库存,仓库管理员B点击添加按钮添加一个库存。代码如下:public class Product{ private int i; Pro原创 2018-01-05 22:44:46 · 615 阅读 · 0 评论 -
mybatis源码-collection 元素嵌套查询
mybatis大家用得应该比较多也比较熟悉了,源码可能大家也都看了好几遍了,这里我说一下collection的实现细节,首先看一个简单的例子:<select id="getRoleById" parameterType="string" resultMap="myResultMap"> select * from role where id = #{roleId...原创 2018-11-05 21:03:42 · 966 阅读 · 0 评论