- 博客(22)
- 收藏
- 关注
原创 代码随想录day18
给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。
2024-03-12 12:25:43
960
原创 【手撸Spring 04】注入属性和依赖对象
null?在 Bean 注册的过程中是需要传递 Bean 的信息,在几个前面章节的测试中都有所体现 new BeanDefinition(UserService.class, propertyValues);所以为了把属性一定交给 Bean 定义,所以这里填充了 PropertyValues 属性,同时把两个构造函数做了一些简单的优化,避免后面 for 循环时还得判断属性填充是否为空。
2024-03-10 21:04:23
838
1
原创 代码随想录day13
需要借用一个辅助数据结构即队列来实现,队列先进先出,符合一层一层遍历的逻辑,而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。而这种层序遍历方式就是图论中的广度优先遍历,只不过我们应用在二叉树上。
2024-03-06 20:25:32
140
原创 【手撸Spring】03 基于Cglib实现含构造函数的类实例化策略
在实例化接口 instantiate 方法中添加必要的入参信息,包括:beanDefinition、 beanName、ctor、args其中 Constructor 你可能会有一点陌生,它是 java.lang.reflect 包下的 Constructor 类,里面包含了一些必要的类信息,有这个参数的目的就是为了拿到符合入参信息相对应的构造函数。而 args 就是一个具体的入参信息了,最终实例化时候会用到。
2024-02-28 22:42:40
1097
原创 【手撸Spring】02 实现Bean的定义、注册、获取
在 Bean 定义类中已经把上一章节中的 Object bean 替换为 Class,这样就可以把 Bean 的实例化操作放到容器中处理了。如果你有仔细阅读过上一章并做了相应的测试,那么你会发现 Bean 的实例化操作是放在初始化调用阶段传递给 BeanDefinition 构造函数的。@Override。
2024-02-27 16:52:20
938
原创 代码随想录day6
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!接下来如何移动left 和right呢, 如果nums[i] + nums[left] + nums[right] > 0 就说明 此时三数之和大了,因为数组是排序后了,所以right下标就应该向左移动,这样才能让三数之和小一些。当遍历到 C[k]+D[l] 时,如果 −(C[k]+D[l])出现在哈希映射中,那么将 −(C[k]+D[l]) 对应的值累加进答案中。否则返回 false。
2024-02-27 14:39:18
706
原创 01-创建简单的Bean容器
目前的 Bean 定义中,只有一个 Object 用于存放 Bean 对象。如果感兴趣可以参考 Spring 源码中这个类的信息,名称都是一样的。不过在后面陆续的实现中会逐步完善 BeanDefinition 相关属性的填充,例如:SCOPE_SINGLETON、SCOPE_PROTOTYPE、ROLE_APPLICATION、ROLE_SUPPORT、ROLE_INFRASTRUCTURE 以及 Bean Class 信息。
2024-02-25 12:36:34
1081
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人