专栏名称: 沉默王二
技术文通俗易懂,吹水文风趣幽默。学 Java,认准二哥的网站 javabetter.cn
目录
相关文章推荐
中海油服COSL  ·  2025油生之坚守力量 ·  2 天前  
中海油服COSL  ·  2025油生之坚守力量 ·  2 天前  
大皖新闻  ·  万岁山武侠城回应“不倒翁”女演员摔落 ·  3 天前  
大皖新闻  ·  万岁山武侠城回应“不倒翁”女演员摔落 ·  3 天前  
德州日报  ·  DeepSeek,你也太懂德州了吧! ·  3 天前  
51好读  ›  专栏  ›  沉默王二

蛇年最有前景的一个方向。

沉默王二  · 公众号  · 互联网短视频  · 2025-02-04 14:04

主要观点总结

本文主要介绍了如何使用AI工具如deepseek、openai等提升生产力,并给出了掌握AI应具备的逻辑思维,包括提问思维、判断能力和迭代思维。作者还谈到了自己在AI使用中的体验和认知,并鼓励读者在蛇年有一个质的飞跃。最后,文章介绍了ThreadLocalMap如何解决Hash冲突以及为什么ThreadLocalMap设计使用线性探测法来解决哈希冲突。

关键观点总结

关键观点1: AI工具的使用和提升生产力的方法

作者介绍了自己使用AI工具的经验和认知,并阐述了如何利用这些工具来提高生产力。同时,作者强调了掌握AI需要具备提问思维、判断能力和迭代思维。

关键观点2: deepseek和其他AI工具的特点和使用注意事项

作者提到deepseek是生成式的AI工具,需要正确的数据输入才能得到正确的答案。同时,强调了AI工具的使用需要有正确的态度和方法,不能过分依赖,要有自己的判断和思考能力。

关键观点3: ThreadLocalMap解决Hash冲突的方法

作者详细解释了ThreadLocalMap如何解决Hash冲突,以及为什么选择线性探测法而不是HashMap的拉链法。同时指出ThreadLocalMap设计的目的是存储线程私有数据,采用线性探测更节省空间。

关键观点4: 文章的学习价值和呼吁

作者鼓励读者在技术和认知上有一个质的飞跃,并介绍了自己的编程星球和座右铭,最后呼吁读者加入他们的学习团队,一起成长。


正文

大家好,我是二哥呀。

今天和一个拿到百度 offer 的读者线下面基比了一下谁更帅,哈哈,有我朋友圈的小伙伴应该都看到了。

我们聊了很多,其中免不了 AI 这一趴,说实话,从 openai 点燃这把火,到今年 deepseek 的强势崛起,蛇年最有前景的方向,我想大家心中都有数。

那就是如何用 deepseek、openai,或者豆包、腾讯混元、阿里通义、讯飞星火、智谱、Kimi 这些现成的工具来提升我们的生产力。

或者来增加我们的收入(别去做韭菜)。

我结合自己的一些认知和使用体验,给大家普及一下,我认为掌握好 AI 应该具备的一些逻辑思维。

01、要有提问思维

你要知道自己需要解决的问题是什么,越具体越好。

有些小伙伴觉得 deepseek 不好用,其实就是姿势不太对,大模型本身具备的是推理能力。

假如你给的问题很模糊,他不可能给出一个你想要的答案,因为他无法在你的问题基础上做出推理。

其实和我们请教别人是一个样,就比如说VIP 群里有球友提问说,程序包com.mysql.cj不存在,大佬们这个怎么解决,这种问题就很不具体,也没有堆栈,也没有截图。

把 deepseek 比作一个出租车司机,你不能对他说“把我拉去吃饭的地方”,你应该给他说,“我是一个吃货,把我拉到王府井的辣婆娘”。

爱因斯坦曾说,提出真问题可能就意味着解决了问题的一半

02、要有判断能力

deepseek 是生成式的 AI 工具,你给他喂的垃圾,吐出来的也是垃圾。

你喂给他的都是一些错误的数据,他就不可能给你一个正确的答案。

有时候,AI 会让你觉得一个错误的答案就像真的一样。

我最近看到一个离谱的消息说什么“deepseek 将取代张雪峰,deepseek 将取代程序员”,真的是无语。

其实 deepseek 就像人的大脑一样,你要不停地学习,不停地求知,这样 deepseek 才会变得更聪明,才能更懂你。

才能给你更多正确的答案。

03、要有迭代思维

你不可能一下子就让 AI 解决你的痛点,你应该不停迭代你的提问方式,或者在 deepseek 回答的基础之上不停地调整他的回答思路。

比如说,我问作为一名 26 届的计算机专业学生,年后要找暑期实习,主要是 Java 开发岗,该如何准备,deepseek 的思考过程如下所示(本地部署版本)。

从思考过程来看,并不太符合实际的求职需求,那我在此基础上再追加了一些提问,给他了更多的方向:

我从二哥的编程星球上了解到,Java后端开发岗需要Java后端四大件,Java基础(包括并发编程和JVM),spring全家桶(包括spring boot),MySQL和Redis这些技术栈,然后需要做两个实战项目,一个业务类的,如技术派,一个轮子类的,如mydb,或者一个微服务,如PmHub,然后背面渣逆袭八股,以及刷一些LeetCode 100题来应对笔试。

那再来看他的思考方式,就有了质的提高。

并且会给出一个非常扎实的学习计划。

要知道,这只是一个 7b 尺寸的本地部署版本,如果换成是联网的 671B尺寸版本,效果会更惊人。

也是真心希望,大家在蛇年能有一个质的飞跃,不管是工具的使用上,还是认知上,还是挣钱能力上。

年后,冲冲冲。

三分恶面渣逆袭

早上还有球友在催面渣逆袭的进度,希望能先出 MySQL 和 Redis 篇,对 2.0 版是念念不忘,哈哈。我表示年后会加大更新力度,争取让大家在春招和暑期实习的时候能用得上。

点击屏幕左下方的【关注】按钮,带走她,这份在 GitHub 上星标 13000+ 的面渣逆袭 PDF,真的可以吊打面试官(不骗人)。

17.ThreadLocalMap 怎么解决 Hash 冲突的?

开放定址法

如果计算得到的槽位 i 已经被占用,ThreadLocalMap 会采用开放地址法中的线性探测来寻找下一个空闲槽位:

如果 i 位置被占用,尝试 i+1。

如果 i+1 也被占用,继续探测 i+2,直到找到一个空位。

如果到达数组末尾,则回到数组头部,继续寻找空位。

private static int nextIndex(int i, int len) {
    return ((i + 1 1 : 0);
}

为什么要用线性探测法而不是HashMap 的拉链法来解决哈希冲突?

ThreadLocalMap 设计的目的是存储线程私有数据,不会有大量的 Key,所以采用线性探测更节省空间。

拉链法还需要单独维护一个链表,甚至红黑树,不适合 ThreadLocal 这种场景。

ending

一个人可以走得很快,但一群人才能走得更远。二哥的编程星球已经有 7000 多名球友加入了,如果你也需要一个优质的学习环境,戳链接 🔗 加入我们吧。你可以阅读星球专栏(Java 面试指南技术派PmHub)、向二哥提问、帮你制定学习计划、精修简历、和球友一起打卡成长。

沉默王二,一个有颜值却靠才华吃饭的程序员,高产似母猪,你知道,他的文章风趣幽默,读起来就好像花钱一样爽快(😄)。

点击屏幕左下角的【关注】按钮,你将拥有到一个有趣的灵魂,且每篇文章都有干货。

最后,把二哥的座右铭送给大家:没有什么使我停留——除了目的,纵然岸旁有玫瑰、有绿荫、有宁静的港湾,我是不系之舟