- 博客(5)
- 收藏
- 关注
翻译 2021-06-07
Spring XML依赖注入 vs Annotation注释注入翻译stackoevrflow上的大佬的回答两者各有自己的优势,推荐两者混合使用xml配置的方式使得程序员的代码与库中的代码保持相互的独立性,使用注释的方式(注释我们自己写的库代码)将会使得我们的代码对库代码产生依赖,被注释修改过的代码会失去库函数的性质;xml的配置方式使得不需要对代码进行重新的编译,便于测试当被注入的组件不会变化的时候(这个时候不会频繁地更改源码);例如对于不同的构建使用不同的依赖项,(一个例子是,一个项目可能会
2021-06-07 16:41:40
119
原创 TimSort
关于Timsort原理部分可以看一下b站视频讲解github别人整理的文档今天分析一下java的timsort相关的实现。java中的Arrays工具类的静态方法sort():public static void sort(Object[] a, int fromIndex, int toIndex) { /** *首先进行边界检查,可能会报出IllegalArgumentException(fromIndex>toIndex) *或者Arra
2021-05-27 15:31:52
250
原创 由leetcode46学习java中的值传递与引用传递
java中的值传递与引用传递在刷leetcode的时候看别人题解的时候遇到了这样的问题,发现自己其实对于java这门语言的理解还需要深入(应该看一下jvm虚拟机那一块的东西)关于值传递与引用传递,此博文有详细介绍: 理解Java中的引用传递和值传递.针对leetcode上的题目解析链接: link.代码如下:下面展示一些 内联代码片。// A code blockimport java.util.ArrayList;import java.util.List;public class
2021-03-08 17:10:15
148
翻译 调用者保存寄存器与被调用者保存寄存器
调用者保存寄存器与被调用者保存寄存器调用者保存寄存器(caller saved registers)被调用者保存寄存器(callee saved registers)调用者保存寄存器(caller saved registers)也叫易失性寄存器,在程序调用的过程中,这些寄存器中的值不需要被保存(即压入到栈中再从栈中取出),如果某一个程序需要保存这个寄存器的值,需要调用者自己压入栈;被调用者保存寄存器(callee saved registers)也叫非易失性寄存器,在程序调用过程中,这些寄存器中的
2021-03-05 11:06:48
8818
转载 C++析构函数为什么要为虚函数
Q:C++析构函数为什么要为虚函数?A:基类指针可以指向派生类的对象(多态性),如果删除该指针delete []p;就会调用该指针指向的派生类析构函数,而派生类的析构函数又自动调用基类的析构函数,这样整个派生类的对象完全被释放。如果析构函数不被声明成虚函数,则编译器实施静态绑定,在删除基类指针时,只会调用基类的析构函数而不调用派生类析构函数,这样就会造成派生类对象析构不完全,形成了删除一半形象,造成内存泄漏,。所以,将析构函数声明为虚函数是十分必要的。...
2020-07-21 10:18:59
210
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人