- 博客(10)
- 收藏
- 关注
原创 分支预测相关
为什么要有pipeline关于流水线(pipeline),这里举一个生活中的例子。比如在洗车时,当前面一辆车清洗完成进入擦洗阶段后,下一辆车就可以进入喷水阶段了,这就是一个典型的流水线场景(如图所示),它不是说非要前面一辆车把清洗、擦洗全部完成后,下一辆车才能开始。一条洗车流水线可同时洗四辆车。洗车吞吐为4量车。同理,为了提高cpu的执行指令的吞吐量,现在处理器将一个指令的执行,划分成多个阶段。粗略地可以分成fetch(取指:读取指令)、decode(译码:执行译码)、execution(执行:执
2021-11-24 12:02:35
986
原创 21. 合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode
2021-11-16 19:08:55
88
原创 ClassLoader学习
ClassLoader入口:sun.misc.Launcherpublic class Launcher { private static Launcher launcher = new Launcher(); private static String bootClassPath = System.getProperty("sun.boot.class.path"); public static Launcher getLauncher() {
2021-07-12 20:45:38
330
原创 算法复杂度
什么是算法复杂度算法复杂度,即算法在编写写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源通俗的说,就是执行一段代码所需要的资源(主要是花费的时间以及占用的空间)。为什么需要算法复杂度举个例子,现在来了一个需求,需要完成一个排序功能。接到这个需求后,甲、乙两人分别写出了一段代码。两个人都感觉自己写的是最完美的,互相不服,于是分别把代码跑一遍,通过统计、监控等方法,看看谁的代码最先完成排序,占用的内存最少。这样比较当然可行,但是有一个非常大的局限性。1、测试结果依赖测试环境。在比
2020-12-14 20:58:20
8217
原创 java Reference源码解析
Reference源码/** * 引用对象(reference objects)的抽象基类。 * 此类定义了所有引用对象的抽象操作。 * 因为这个类是在与garbage collector 紧密合作的情况下实现的,所以此类不能被子类化(就是 我们无法自定义一个类用于继承这个类)。 * */public abstract class Reference<T> { /* A reference instance 处于四种可能的内部状态之一: * Act
2020-09-29 00:21:28
260
原创 泛型
文章目录什么是泛型什么时候需要使用到泛型K、V 、T 、E 、N 代表什么泛型 T 的使用泛型 T 的使用范围:作用在类上泛型类泛型接口作用在方法上泛型的上下界限定符 extends 、super通配符 ?PECS原则T 和 ? 的区别什么是泛型泛型(generics)从表面的意思上来看,就是“广泛的类型”,实际上就是类型参数化。注意两点:1、类型 2、参数。就是把类型作为参数传递给某处需要它的地方。类型参数化这五个字可以完美的解释泛型的一切,理解了这个关键字泛型==,泛型就很容易理解了。
2020-07-03 22:27:08
317
原创 BeanFactoryPostProcessor与BeanPostProcessor区别
BeanFactoryPostProcessorpackage org.springframework.beans.factory.config;import org.springframework.beans.BeansException;/** * Allows for custom modification of an application context's bean def...
2020-04-06 14:46:47
238
原创 java线程(一)创建线程的方式
创建线程的方式一共有4种,这里只说明前3种。1、继承Thread类重写run()方法,调用start方法启动public class Demo1 { public static void main(String[] args) { MyThread th1 = new MyThread(); th1.start(); // 注:一定要是使用start(...
2019-10-27 22:58:35
148
原创 平衡二叉树(一)
前言每所大学的计算机专业基本上都会开设数据结构这门课,作为计算机专业的四大基本课程之一(数据结构,操作系统,计算机网络、计算机组成原理),数据结构的重要性毋庸置疑。在it这个江湖,有人修习c++大法、有人苦练python神功,当然也少不了我们的java真经了,哈哈,但是无论什么样的武功都需要深厚的内功来催动,而四门基础课程就是内功了。有人可能说,数据结构在工作中基本上用不到,即使使用,语言内...
2019-08-18 17:56:58
331
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人