![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
HelloWorld_Wolf
这个作者很懒,什么都没留下…
展开
-
spring学习笔记
spring的基础笔记原创 2017-06-08 18:29:50 · 211 阅读 · 0 评论 -
Effective Java_13 考虑实现Comparable接口
实现该接口,就表明该类的实例具有内在的排序关系。为实现Comparable接口的对象数组a 进行排序可以使用:Arrays.sort(a)事实上,Java平台类库中的所有值类都实现了Comparable接口。如果你正在编写一个值类,它具有非常明显的内在排序关系,比如按字母排序、按数值排序或者按年代排序,那么你就应该坚决考虑实现这个接口。Comparable接口只有一个方法,就是comp原创 2018-01-26 16:54:00 · 217 阅读 · 0 评论 -
Effective Java-第三章 对于所有对象都通用的方法
一、覆盖equals时请遵守通用约定覆盖equals方法看起来似乎很简单,但是有很多覆盖方式会导致错误,并且后果非常严重。最容易避免这类问题的办法就是不覆盖equals方法,如果满足一下任意一个问题,就可以不用覆盖equals方法:类的每个实例本质上都是唯一的不关心类是否提供了“逻辑相等(logical equality)”的测试功能超类已经覆盖了equals,从超类继承过来的行为对原创 2017-10-19 17:34:30 · 595 阅读 · 0 评论 -
HashMap put()方法源码分析
JDK 1.6public V put(K key, V value) { // 当前key为null的时候会调用putForNullKey()方法来保存值 if (key == null) return putForNullKey(value); // 根据key的hashCode()的方法计算出hash值(如果key对象的类没有重写hashCode(...原创 2018-07-24 16:45:46 · 240 阅读 · 0 评论 -
笔记:ThreadPoolExecutor的maximumPoolSize,workQueue运行顺序
前情今天想修改tomcat自动化的地方,原先的需求是单机tomcat查询出任务后自己启动线程运行(即做生产者又做消费者),现在tomcat变成集群了,想要改成tomcat集群一起运行(生产者-消费者分离),设计的过程中想起原先用的线程池做控制消费者数量,当时没有细看就百度找了几篇博客大体上熟悉了一下,现在正好看看api了解一下,就翻JDK api看,刚好看到ThreadPoolExecutor类...原创 2019-03-25 18:01:41 · 881 阅读 · 0 评论 -
SimpleDateFormat类的pattern和localizedPattern
今天使用SimpleDateFormat重置pattern的时候发现有两个方法一个applyPattern,另一个是applyLocalizedPattern遂好奇这两个方法有何不同。测试代码(因第一次报错发现yyyy对应的是aaaa,所以applyLocalizedPatter改成aaaa)package com.hh;import java.text.DateFormat;impor...原创 2019-07-01 13:43:27 · 1358 阅读 · 0 评论 -
分布式锁(一):使用redis乐观锁实现CAS
环境 四台tomcat作为集群,redis作为共享内存。需求 对于一个共享状态的改变进行加锁,锁的属性为互斥且可重入实现 仿照ReentrantLock类写一个分布式锁问题 CAS实现解决 使用redis乐观锁实现CASCAS(compare and swap)比较并交换;在替换新值前比较一下旧值是否为传入的值,如果一样则替换,当然这样会产生ABA问题,即当原值为A,随后变成了...原创 2019-07-22 10:19:02 · 1458 阅读 · 0 评论