小龙人_Feng
码龄5年
  • 3,899
    被访问
  • 23
    原创
  • 261,702
    排名
  • 1
    粉丝
  • 0
    铁粉
关注
提问 私信
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
  • 加入CSDN时间: 2017-05-29
博客简介:

FengDuidui的博客

查看详细资料
  • 1
    领奖
    总分 62 当月 0
个人成就
  • 获得6次点赞
  • 内容获得2次评论
  • 获得8次收藏
创作历程
  • 18篇
    2021年
  • 6篇
    2019年
成就勋章
TA的专栏
  • 网络
    1篇
  • LeetCode笔记
    10篇
  • JVM
    3篇
  • Java基础知识
    2篇
  • 算法
    3篇
  • Java源码
    4篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

ConcurrentHashMap-Jdk7-源码解读

ConcurrentHashMap-Jdk7-源码解读1. ConcurrentHashMap数据结构2. HashEntry3. Segment4. ConcurrentHashMap5. 总结6. 参考欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你
原创
发布博客 2021.11.05 ·
47 阅读 ·
0 点赞 ·
0 评论

HashMap并发问题

HashMap是非线程安全的,在并发情况下可能会在扩容时形成环形链表,导致死循环(该问题在JDK1.8版本已经修复),也可能发生数据丢失的问题put源码(JDK7U71)①:在HashMap构造函数中,并未显式指定table值,而是指向了EMPTY_TABLE(空数组),在put方法中进行初始化;②:key=null时,键值对直接放在table[0]中,若已存在null的key,则替换并返回旧值,若不存在null,则放入链表头部;③:在1.7中,扩容条件不止是阈值,只有当元素数量>=阈值,.
原创
发布博客 2021.10.20 ·
1183 阅读 ·
0 点赞 ·
0 评论

Idea-配置JDK

Idea中有多个配置菜单,每个菜单可配置的内容有所不同:打开File>Project Structure>SDKs,点击右侧页面的加号选择JDK即可配置JDK(选择JDK的安装路径即可):配置完成后,打开Project Structure>Project,在这里可以配置当前项目所使用的JDK:...
原创
发布博客 2021.10.14 ·
48 阅读 ·
0 点赞 ·
0 评论

ArrayList详解(基于1.8)

ArrayList是在Java开发中使用率很高、很常见的集合类,它继承自AbstractList,实现List接口,并实现了 RandomAccess, Cloneable, java.io.Serializable标记接口,底层基于可扩容的数组实现,允许Null存在,同时支持快速访问、序列化、复制。继承结构public class ArrayList<E> extends AbstractList<E> implements List<E>, .
原创
发布博客 2021.10.14 ·
61 阅读 ·
0 点赞 ·
0 评论

网络编程面试题(2020最新版)-转载

网络编程面试题(2020最新版) ThinkWon 2020-03-16 17:36:28 ...
转载
发布博客 2021.07.21 ·
269 阅读 ·
0 点赞 ·
0 评论

LeetCode笔记-0004-寻找两个有序数组的中位数

题目信息给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 (2 + 3)/2 = 2.5来源:力扣(
原创
发布博客 2021.05.20 ·
26 阅读 ·
0 点赞 ·
0 评论

LeetCode笔记-0993. 二叉树的堂兄弟节点

993. 二叉树的堂兄弟节点难度:简单(简单个鬼!!)来源:力扣(LeetCode)著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。993. 二叉树的堂兄弟节点在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。我们给出了具有唯一值的二叉树的根节点 root ,以及树中两个不同节点的值 x 和 y 。只有与值 x 和 y 对应的节点是堂兄弟节点时,才返回 true.
原创
发布博客 2021.05.20 ·
29 阅读 ·
0 点赞 ·
0 评论

LeetCode笔记-0012.整数转罗马数字

12.整数转罗马数字难度:中等来源:力扣(LeetCode)著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。12.整数转罗马数字罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符数值I1V5X10L50C100D500M1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V .
原创
发布博客 2021.05.20 ·
19 阅读 ·
0 点赞 ·
0 评论

LeetCode笔记-0021.合并两个有序链表

21. 合并两个有序链表难度:简单来源:力扣(LeetCode)著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4]输入:l1 = [], l2 = [] 输出:[]输入:l1 = [], l2 = [0] 输出:[0]提示:两个链表的节点数目范围是 [0, 50].
原创
发布博客 2021.05.20 ·
23 阅读 ·
0 点赞 ·
0 评论

LeetCode笔记-0006.Z 字形变换

6. Z 字形变换难度:中等来源:力扣(LeetCode)著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:PA H N APL SI IG YI R 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSII.
原创
发布博客 2021.05.20 ·
21 阅读 ·
0 点赞 ·
0 评论

LeetCode笔记-0026. 删除排序数组中的重复项

26. 删除排序数组中的重复项难度:简单来源:力扣(LeetCode)著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长.
原创
发布博客 2021.05.20 ·
23 阅读 ·
0 点赞 ·
0 评论

LeetCode笔记-0020.有效的括号

20.有效的括号难度:简单来源:力扣(LeetCode)著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]'的字符串 s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例:输入:s = “()” 输出:true输入:s = “()[]{}” 输出:true输入:s = “(]” 输出:false输入:s = “([)]” 输出:false输.
原创
发布博客 2021.05.20 ·
13 阅读 ·
0 点赞 ·
0 评论

LeetCode笔记-0003-无重复字符的最长子串

题目信息给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。来源
原创
发布博客 2021.05.19 ·
18 阅读 ·
0 点赞 ·
0 评论

重载&重写

重写(@Override)重写需要借助继承/抽象类/接口实现方法名、形参列表相同(形参列表类型、顺序相同即可,名称随意)子类/实现类返回值类型 <= 父类/接口类子类/实现类抛出异常类型 <= 父类/接口类子类/实现类访问权限 >= 父类/接口类类(实例)方法重写后还是类(实例)方法父类private修饰的方法无法重写,即使方法名、形参列表相同也不是重写,是重新定义// 所有的类都直接/间接继承了Object类,所以可以再User类中重写toString()方法pub
原创
发布博客 2021.05.19 ·
17 阅读 ·
0 点赞 ·
0 评论

Java三大特性(封装、继承、多态)

我们都知道Java是面向对象的语言,有三大特征:封装、继承(extends)、多态。这三大特征分别是什么含义?又有什么规则呢?为什么要这样设计?封装隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。规则将对象的属性和实现细节隐藏,不允许外界直接访问(用private修饰)将方法暴露出来,外界通过调用方法来操作、访问成员变量(例如最常用的getter、setter方法)目的/优点隐藏实现细节限制外部对成员变量的不合理访问有利于保护对象信息的完整性便于修改
原创
发布博客 2021.05.19 ·
121 阅读 ·
1 点赞 ·
0 评论

Java内存模型(JMM)

JMM定义Java内存模型(Java Memory Model,简称JMM),JMM为Java虚拟机规范中定义的虚拟模型,用来屏蔽各种硬件和操作系统的内存访问差异,主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样底层细节。此处的变量与Java编程时所说的变量不一样,指包括了实例字段、静态字段和构成数组对象的元素,但是不包括局部变量与方法参数,后者是线程私有的,不会被共享,不存在竞争问题。Java内存模型中规定:线程对变量的所有操作(读取、赋值)都必须在工作内
原创
发布博客 2021.05.19 ·
17 阅读 ·
0 点赞 ·
0 评论

LeetCode笔记-1738. 找出第 K 大的异或坐标值

LeetCode笔记-1738. 找出第 K 大的异或坐标值
原创
发布博客 2021.05.19 ·
26 阅读 ·
1 点赞 ·
0 评论

LeetCode笔记-1738. 找出第 K 大的异或坐标值

发布视频 2021.05.19

LeetCode笔记-0002.两数相加

题目信息给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 ...
原创
发布博客 2019.07.30 ·
74 阅读 ·
0 点赞 ·
0 评论

LeetCode笔记-0001-两数之和

题目信息给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以...
原创
发布博客 2019.07.30 ·
61 阅读 ·
0 点赞 ·
0 评论
加载更多