Giter Club home page Giter Club logo

javafamily's Issues

对HashMap文章中有一点疑惑

对于"为啥我们重写equals方法的时候需要重写hashCode方法呢"的问题,文中给出的理由是
如果”帅丙“和”丙帅“两个字符串对象取模后恰好在同一个链表上,结果发现hashCode都一样,我们会不知道要找的是哪个.
这个例子好像有问题,如果不重写,默认的hashcode方法返回值应该不相等吧?也就不存在不知道找哪个的问题.
个人认为重写hashcode的目的是为了让两个本来不相等的对象变得相等

关于HashMap文章中的一个小建议

丙哥,读了你的HashMap.md感觉收获满满,不过有两个地方我想提一下:

  1. 文中 “因为在使用不是2的幂的数字的时候,Length-1的值是所有二进制位全为1,这种情况下,index的结果等同于HashCode后几位的值。”一句中应该是“是2的幂”,Length-1才会全是1吧。
  2. “只要输入的HashCode本身分布均匀,Hash算法的结果就是均匀的。” 这里我觉得可以加上HashMap源码中对hashCode值的一个操作。
    源码中对key的hash方法:
static final int hash(Object key) {
        int h;
        return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);
    }

其中将原32位hashcode与其右移16位后的结果做了异或,为了让高16位也参与到“让hashcode分布更均匀”中,这样更能让hashcode分布均匀吧。
(第一次提issue,如有不妥,望丙哥告知🤓

布隆过滤器(BloomFilter).md中描述的应用场景应该是缓存穿透,而不是缓存击穿吧。


那应用的场景在哪里呢?一般我们都会用来防止缓存击穿(如果不知道缓存击穿是啥的小伙伴不要着急,我已经帮你准备好了,传送门 ↓ )

简单来说就是你数据库的id都是1开始然后自增的,那我知道你接口是通过id查询的,我就拿负数去查询,这个时候,会发现缓存里面没这个数据,我又去数据库查也没有,一个请求这样,100个,1000个,10000个呢?你的DB基本上就扛不住了

【校招、社招】这么吊的面经,不实践一下吗

阿里新零售供应链大量招人了,作为集团的供应链中台,支撑了集团的新零售业务,打造了最先进最稳定的供应链体系,同时也将这套供应链对海外输出,支持建设了ewtp平台,作为阿里的看家业务,前景无疑的广阔,舞台也足够大,快来玩耍吧!!
简历请至:liuzhu.wlz#alibaba-inc.com
校招的小同学抓紧扔简历了,我会联系你进我们的小群,有大神指导简历,分享技术人成长路线了

关于阿里云服务器

老哥,之前不是有个部署阿里云服务器的教程吗,现在有时间学一学了怎么找不到了

复杂对象存储redis

文中提到,有些仔喜欢把复杂对象也转换成JsonString存储,实不相瞒,我就是那个仔,哈哈哈哈。比如在登陆的时候将用户的基本信息(user)以及权限(permission) 一起转成JsonString存缓存了,我想知道更好的做法是什么。

Bloom Filter讲解错误

Bloom Filter应该是用于缓存穿透的?此外这边文章里内容说的缓存击穿的概念根本就是缓存穿透的
image
image

对于ConcurrentHashMap & Hashtable的疑问

文中这句"如果没有,则将对象排斥锁赋值为this,即调用synchronizedMap的对象,就是上面的Map。"应该是错的,既然this.m是map对象,this怎么又会是map对象呢?我没太搞懂this指的是什么

Lucene+Tair来一份文章?

最近遇到一个场景,数据量不是很大,开ES集群比较浪费成本,但是又要求全文检索,那么突然想到一个*操作,Lucenue 直接把 索引文件存到Tair之类的分布式存储中去,每个lucene 直接内嵌到服务中,这样就可以实现一个小型的ES了,不知三太子怎么看

布隆过滤器解决的是缓存穿透

布隆过滤器解决的问题是缓存穿透,前面那篇《缓存雪崩、击穿、穿透》写的是对的,但在布隆过滤器那几篇文章里又写成了缓存击穿。

谁是原创呢

我看了你的秒杀系统2.0,发现超卖并没有解释清楚,于是去google了一圈,发现这个博客,这个博客在文末标注了原创声明,那么谁是原创呢?你们是同一个人?

先点个赞

先点赞
所有的都看了,风格杠杠的
1.在看秒杀这篇的时候有lua脚本,突然想到怎么调用的lua脚本
2.类似于秒杀这篇文章的话是否可以有一个小的demo,可以代码思路整个流程
大家水平都不一样,知道的不知道的,一些关键地方是否可以添加必要代码或者demo的github链接
最近也在排查一些redis涉及的问题,所以想到作者是否也可以分享一些自己实际场景的一些使用或者问题等
例如说:jedis或者lettuce框架选型啊,使用中的问题啊
以上都是本人歪歪出来的,作者的想法肯定比我好,或者精力比较有限,看看是否有必要加一类这些东西

过来主要是点赞的

来点赞的哈

image
给小哥哥提一个建议,同步一下这两块的概念哈,一会击穿 一会穿透,会让人混淆哦

枚举文章内容不完善

枚举类编译之后是final类型的,文章中说的abstract类型是因为类中定义了抽象方法。
关于内部类:
这种形式编译之后不会生成内部类

enum Season{
    Spring;
}

这种形式编译之后会生成内部类

enum Season{
    Spring(){
    };
}

HashMap有错字

[(https://github.com/AobingJava/JavaFamily/blob/master/docs/basics/HashMap.md)]HashMap

面试官,在这样的场景,我们一般都会使用HashTable或者ConcurrentHashMap,但是因为前者的并发度的原因基本上没啥使用场景了,所以存在线程不安全的场景我们都使用的是ConcurrentHashMap。

存在线程安全的场景我们都使用的是ConcurrentHashMap

大佬,能不能提个问题。。

大佬问个问题。。。《java并发编程的艺术》里读到一句话:“当写一个volatile变量时,JMM会把该线程对应的本地内存的共享变量刷新到主内存”。这边的共享变量,是指被volatile修饰的共享变量,还是指该线程所有改动后的共享变量。

redis书籍

redis实战那个书籍解压密码是啥

勘错

你还在为 TCP 重传、滑动窗口、流量控制、拥塞控制发愁吗?看完图解就不愁了 一篇中,操作系统缓冲区与滑动窗口的关系 小节中的第二个例子中,图中和其解释中“3.服务端因为现在非常的繁忙,操作系统于是就把接收缓存减少了 100 字节,当收到 对 140 数据确认报文后,又因为应用程序没有读取任何数据,所以 140 字节留在了缓冲区中,于是接收窗口大小从 360 收缩成了 100,最后发送确认信息时,通告窗口大小给对方” 中 “接收窗口大小应该是120”.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.