![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 83
缘来如此09
度,恒
展开
-
java 记一次Comparator的踩坑经历
Comparison method violates its general contract!报错问题排查原创 2022-10-15 15:05:29 · 1205 阅读 · 0 评论 -
equals和==和hashcode的恩怨情仇
一、前言:equals和==和hashcode是java中的基础中的基础,但是确实容易被问到,而且因为工作中经常用所以很容易在复习时遗漏掉,这几天面了个大厂就在这个问题上翻车了,不仅记混了,而且很坚信自己记混的答案,好在其他问题答的不错,加上面试官容忍度高放过一马,所以今天也就详细整理了下它们三个的恩怨情仇二、【==】双等号【==】其实没那么复杂,它的功能就只是比较两边的值是否相等。只是如果变量是引用类型(Integer、String、Object)的话,比较的就是内存地址,因为引用类型变量存.原创 2021-10-14 14:31:27 · 187 阅读 · 0 评论 -
Java 6种延时队列的实现方法
一、延时队列的应用什么是延时队列?顾名思义:首先它要具有队列的特性,再给它附加一个延迟消费队列消息的功能,也就是说可以指定队列中的消息在哪个时间点被消费。延时队列在项目中的应用还是比较多的,尤其像电商类平台:1、订单成功后,在30分钟内没有支付,自动取消订单2、外卖平台发送订餐通知,下单成功后60s给用户推送短信。3、如果订单一直处于某一个未完结状态时,及时处理关单,并退还库存4、淘宝新建商户一个月内还没上传商品信息,将冻结商铺等。。。。上边的这些场景都可以应用延时队列解决。转载 2021-10-06 13:58:49 · 4973 阅读 · 0 评论 -
java标准注解及元注解详解
一、注解定义注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便地使用这些数据。注解的语法比较简单,除了@符号的使用之外,它基本与Java固有的语法一致。二、标准注解@Override,表示当前的方法定义将覆盖超类中的方法。如果你不小心拼写错误,或者方法签名对不上被覆盖的方法,编译器就会发出错误提示。@Deprecated,如果程序员使用了注解为它的元素,那么编译器会发出警告信息。@SuppressWarnings,关闭不当的编译器警告信息原创 2021-10-06 13:00:36 · 250 阅读 · 0 评论 -
并发编程--深入理解synchronized锁升级
一、synchronized应用场景1.修饰实例的方法public synchronzied void test() {}2.修饰静态方法public static synchronized void test() {}3.修饰代码块public void test() { // 对当前对象this加锁 synchronized(this) { ... } // 对class对象加锁 synchronized(Test.class) { ... }原创 2021-07-20 17:34:57 · 618 阅读 · 0 评论