自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

desmond的专栏

给时光以生命, 给岁月以积淀

  • 博客(129)
  • 收藏
  • 关注

原创 Flink Table API/SQL 多分支sink

在某个场景中,需要从Kafka中获取数据,经过转换处理后,需要同时sink到多个输出源中(kafka、mysql、hologres)等。

2023-08-22 13:50:36 963

原创 数据仓库 ODS->DWD->DWS->ADS

Data warehouse(可简写为DW或者DWH)数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它是一整套包括了etl、调度、建模在内的完整的理论体系。数据仓库的方案建设的目的,是为前端查询和分析作为基础,主要应用于OLAP(on-line Analytical Processing),支持复杂的分析操作,侧重决策支持,听且提供直观易懂的查询结果。比较流行的有:AWS Redshift,Greenplum,Hive等。

2023-08-17 13:46:26 752

转载 【转】【网络编程】socket、端口、进程的关系

https://blog.csdn.net/m0_67265464/article/details/124465158

2022-12-02 22:23:36 129

原创 23.二叉树基础(一)

文章目录树基本概念高度深度层二叉树(Binary Tree)满二叉树完全二叉树存储二叉树链式存储: 基于链表顺序存储:基于数组比较二叉树的遍历前序遍历概念代码中序遍历概念代码后序遍历概念代码树如下图:基本概念​ A 为 B 父节点, B为A的子节点​ B,C,D父节点为同一个,他们成为兄弟节点​ 根节点:没有父节点的节点,比如E​ 叶子节点(叶节点):没有子节点的节点,比如GHIJ...

2019-03-07 23:05:10 237

原创 14.散列表(下)

文章目录1.用散列表+链表的方式,在复杂度为O(1)里实现LRU:1.1 一个缓存系统主要包含以下三个操作:2.总结3.思考1.用散列表+链表的方式,在复杂度为O(1)里实现LRU:LRU(Least Recently Used):维护一个固定大小的链表,如果缓存中存在当前元素,则删除并把它加入链表尾部。如果不存在,1)如果缓存已满(已达到链表最大长度),则删除头节点(最近最少用到的数据优先删...

2019-01-25 22:01:04 158

原创 13.散列表(中)

文章目录1. 如何设计散列函数1.1 散列函数设计不能太复杂1.2 散列函数生成的值要尽可能随机并且均匀分布2.装载因子过大怎么办3.如何避免低效地扩容4.如何选择冲突解决方法5.工业级散列表的特性&设计5.1 Java HashMap工业级链表实现5.1.1 初始大小5.1.2 装载因子和动态扩容5.1.3 散列冲突解决方法5.1.4 散列行数5.2 工业级散列表应该由哪些特性?5.3 ...

2019-01-23 21:17:24 184

原创 12.散列表(上)

文章目录1.概念2.实现2.1 开放寻址法2.2 链表法1.概念​ 散列表用的是数组支持按照下标随机访问的特性,所以散列表其实就是数组的一种扩展,由数组演化而来​ key: key.​ 散列函数(hash函数):把key转化为hash值的函数​ 散列值(hash值):数组的下标.hash = hash_function(key)​ 对hash函数的基本要求:散列函数计算得到的...

2019-01-20 19:30:24 149

原创 11.排序(下)

文章目录1.归并排序2.快速排序1.归并排序package com.desmond.codebase.algorithm.sorting;/** * 归并排序. * 采取分治思想。排序一个数组,先把数组从中间分成前后两部分, * 然后对前后两部分分别排序,再将排好序的两部分合并在一起,这样,整个 * 数组就有序了。 * @author presleyli * @date 201...

2019-01-20 19:29:04 172

原创 10.排序(上)

文章目录1. 如何分析一个排序算法1.1 排序算法的执行效率1.1 最好、最坏、平均情况时间复杂度1.2 时间复杂度的系数、常数、低阶1.3 比较和交换(移动)的次数1.2 排序算法的内存消耗1.3 排序算法的稳定性2. 冒泡排序2.1 思路2.2 代码2.3 算法分析2.3.1 是否原地排序2.3.2 是否稳定2.3.2 时间复杂度3. 插入排序3.1思路3.2代码3.3复杂度分析3.3.1 空...

2019-01-13 21:57:25 145

原创 09.递归

文章目录1.递归三条件1.1 一个问题可分解为子问题1.2 分解完后,问题与子问题除了数据规模不一样,求解思路完全一样1.3 存在递归终止条件2.如何写递归代码2.1 将大问题化为小问题,写出地推公式,找到终止条件2.2 翻译成代码3.注意实现3.1 堆栈溢出3.2 重复计算1.递归三条件​ 周末你带着女朋友去电影院看电影,女朋友问你,咱们现在坐在第几排啊?电影院里面太黑了,看不清,没法数,现...

2019-01-10 22:13:50 116

原创 08队列

文章目录1.概念2.分类2.1顺序队列2.1.1 不可变大小的队列2.1.2 可变大小的顺序队列2.1.3 利用固定长度,可变的顺序队列2.2链式队列2.3循环队列2.3.1 概念2.3.2 示意图2.3.3 代码3.应用3.1阻塞队列3.2并发队列3.3资源池1.概念先进者先出,是一种操作受限的线性结构,只有两种操作:入队enquque()和 出队dequeue().2.分类基于数组实现...

2019-01-08 22:50:21 167

原创 07栈

文章目录1.概念2.分类2.1顺序栈2.1.1 固定大小2.1.2 可扩容2.2链式栈3.应用3.1函数调用3.2表达式中的应用3.2.1 背景3.2.1 示意图3.3 括号匹配3.4 浏览器前进、后退4. Jvm中的栈1.概念栈是一种操作受限的线性表,只允许在一端插入和删除数据. 先进后出 and 后进先出个人感觉,栈可以使用 内部钱内部的场景,某个对象,在内部包含另一个完整的对象,比如 ...

2019-01-05 17:20:19 158 1

原创 06链表(下)

文章目录1) 单链表反转2) 链表中环的检测3) 两个有序的链表合并4) 删除链表倒数第n个结点5) 求链表的中间结点

2019-01-05 17:19:00 132 1

原创 05链表(上)

文章目录1.底层存储结构2.分类2.1 单链表2.1.1 概念2.1.1 时间复杂度2.2 双向链表2.2.1概念2.2.2 复杂度2.2.3 单链表、双向链表优劣2.3 循环链表3.性能:链表 V.S. 数组4.基于链表的LRU缓存淘汰算法4.1 思路4.2 实现4.3 复杂度分析4.4 引入hash结构降低复杂度5.基于数组的LRU缓存淘汰算法5.1 思路5.2 实现5.3 复杂度分析1.底...

2018-12-22 21:47:58 163

原创 04数组

文章目录1.定义1.1概念1.2如何通过下标随访访问?2.数组插入3.数组删除4.容器与数组比较5.数组编号为啥从0开始5.1 原因15.2 原因21.定义1.1概念数组:是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。线性表:线性表就是数据排成像一条线一样的结构,每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表,队列,栈等也是线性结构。而与他...

2018-12-16 21:23:27 139

原创 03算法复杂度(下)

文章目录1.最好情况时间复杂度(best case time complexity)2.最坏情况时间复杂度(worst case time complexity)3.平均情况时间复杂度(average case time complexity)4.均摊时间复杂度(amortized time complexity)1.最好情况时间复杂度(best case time complexity)最好...

2018-12-15 22:42:29 175

原创 02. 算法复杂度(上)

文章目录1. 概念2.事后统计法3.大O复杂度表示法3.1 概述3.2 时间复杂度分析方法3.2.1 只关注循环执行次数最多的一段代码3.2.2 加法法则:总复杂度等于量级最大的那段代码的复杂度3.2.3 乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积3.3 几种常见复杂度实例分析3.3.0 常用复杂度3.3.1 O(1)3.3.2 O(n)3.3.3 O(logn)3.3.4 O(nlo...

2018-12-13 22:33:19 158

原创 01.概念

数据结构:就是指一组数据的存储结构算法:就是操作数据的一组方法数据结构是为算法服务的,算法要作用在特定的数据结构之上随机访问 v.s. 顺序访问随机访问是说你可以随意访问该数据结构中的任意一个节点,假设该数据结构有10个节点,你可以随意访问第1个到第10个节点。 对于列表而言,如果其存在10个节点,如果你要访问第5个节点,你只能从列表的头或者尾,依次遍历相邻的每一个节点;...

2018-12-10 22:44:00 141

原创 25.Bean加载过程

文章目录1.BeanFactory v.s. FactoryBean1.BeanFactory2. Bean加载过程1.BeanFactory v.s. FactoryBean1.BeanFactoryBeanFactory, 即bean工厂,通常用于访问spring容器.FactoryBean,工厂模式,本身为一个bean,用于创建bean,以下是描述/** * Interface ...

2018-12-10 21:32:13 145

原创 24.再议循环依赖

文章目录1.概念回顾1. 概念2. scope为prototype3. scope为 singleton1. 构造器2. Setter2.解决之道3.探寻源码1.概念回顾1. 概念1. 在本系列,《3.IOC容器》这章中,提到过循环依赖的概念: A 依赖 B, B 也依赖 A: public Class A { private B b; ...

2018-12-10 21:10:00 126

原创 23.bean标签的解析及注册

文章目录1. Xml的解析概览1.1 xml解析1.2 xml解析(内)2. bean的解析2.1 默认标签2.2 自定义标签1. Xml的解析概览1.1 xml解析1.2 xml解析(内)2. bean的解析2.1 默认标签2.2 自定义标签...

2018-11-25 20:56:56 137

原创 22.配置文件读取以及验证(二)

文章目录获取Document寻找文档DTD的定义(EntityResolver)获取Document寻找文档DTD的定义(EntityResolver)​ 在验证xml之前,需要找到这个xml的申明文件(DTD or XSD), 在 dtd/xsd + 验证模式的作用下,对xml进行验证. 此dtd/xsd, 通常声明为一网络地址,如果不指定EntityResolver, xml验证器会通过...

2018-11-13 20:02:57 161

原创 20.中场总结&开启源码阅读

文章目录总结目标章节规划总结​ 从开启阅读源码计划来,已经实施了第一部分:用法拾亿。从2018.09.09开始,至今天(2018.11.04)结束,差不多花了两个月的时间。前后阅读了了三本Spring用法的数。两个月的时间,也不短。总共写了大概17篇阅读笔记吧。凡是业务系统,光看他的代码时看不大懂的,需要知道他的业务是什么,主线是是么,知道业务之后,在读代码就容易多了。Spring也如此,只不...

2018-11-10 16:45:59 117

原创 21.配置文件读取以及验证(一)

文章目录Resource概述类图Bean加载获取Document类图寻找验证模式(DTD or XSD)Resource概述​ Resource抽象了所有Spring内部使用到的底层资源:File、URL、Classpath等。这接口定义了三个判断短浅资源状态的方法:exists, isReadable, isOpen.类图Bean加载获取Document类图​ 加载docum...

2018-11-10 16:44:00 194

原创 15.观察者模式&发布/订阅模式

文章目录15.观察者模式&发布/订阅模式1. 观察者模式1.概念&优缺点2.类图3.代码2.发布-订阅模式1.概念2. 两个模式最重要的区别3. 差异总结15.观察者模式&发布/订阅模式1. 观察者模式1.概念&优缺点概念观察者模式: 1. 在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。 2....

2018-10-30 21:32:08 299

原创 17.内部工作机制

文章目录17.内部工作机制1. 概览图2. 说明17.内部工作机制1. 概览图2. 说明InstantiationStrategy负责创建对象,策略模式,参见18.策略模式BeanWrapper​ 相当于一个代理器,Spring委托BeanWrapper完成Bean属性的填充工作。在Bean实例被InstrantitationStrategy被创建出来之后,容器主控程序将B...

2018-10-28 20:31:20 210

原创 16.容器事件

文章目录16.容器事件1. 概念2. Spring事件类结构1. 事件类 `ApplicationEvent`2. 事件监听接口 `ApplicationListener`3. 事件广播 `ApplicationEventMulticaster`3. 实现示例16.容器事件1. 概念Spring的ApplicationContext能够发布事件并且允许注册相应的事件监听器,因此,它拥有一套完...

2018-10-28 13:54:43 242

原创 14.国际化信息

文章目录14.国际化信息1. 数字格式化2. 日期格式化3. 消息格式化4. 资源化文件5. 动态资源文件4. Spring MessageSource-without Application5. Spring MessageSource-with Application14.国际化信息1. 数字格式化public static void formatNum () { Loc...

2018-10-28 13:53:34 210

原创 13.Bean使用拾遗(三)

文章目录13.Bean使用拾遗(三)13.Bean使用拾遗(三)

2018-10-28 13:51:21 98

原创 12.Bean使用拾遗(二)

文章目录12.Bean使用拾遗(二)1. Autowired/Resource/Inject2. Componet-scan3. DefaultListableBeanFactory动态添加Bean12.Bean使用拾遗(二)1. Autowired/Resource/Inject@Autowired byType, 有required属性@Resource(Java Content d...

2018-10-25 21:18:44 108

原创 11.Bean使用拾遗(一)

文章目录11.Bean使用拾遗(一)1. 内部bean2. null值3.集合合并,允许子继承父同名集合属性合集4.lookup方法注入5.replace-method(方法替换)6. rquest & session作用域FactoryBean11.Bean使用拾遗(一)1. 内部bean<bean id="a" class="com.xxx"> <proper...

2018-10-24 22:26:07 127

原创 10.设计模式&OO原则概览

文章目录10.设计模式&OO原则概览10.设计模式&OO原则概览OO基本概念抽象封装继承多态OO原则封装变化多用组合,少用继承针对接口编程,不针对实现编程为交互对象之间的松耦合而努力设计原则找出可能变化的代码,把他独立封装,不要和那些不需要变化的代码混在一起针对接口编程,而不是针对实现编程良好的OO设计必须具备三个特性:...

2018-10-19 13:19:27 236

原创 8.高级装配(二)

文章目录8.高级装配(二)3. 处理bean歧义性1. 使用首选bean2. 使用Qualifier限定符4. bean作用域5. 运行时注入8.高级装配(二)3. 处理bean歧义性1. 使用首选bean标识为primary的bean将被使用,如果有多个bean标识为primary,这仍会有冲突Bean@Component@Primarypublic class Man ...

2018-10-13 21:15:55 123

原创 7.高级装配(一)

文章目录7.高级装配(一)1. 环境与Profile1.解决不同环境不同配置2.配置方式2. 条件化bean1. 概念2. 举例7.高级装配(一)1. 环境与Profile1.解决不同环境不同配置maven构建时,使用profiles来确定将哪一个配置编译到可部署的应用缺点:不同环境重新构建,可能引入bug使用Spring profile2.配置方式Java可以...

2018-10-11 21:49:28 174

原创 6.装配Bean

文章目录6.装配Bean装配方案通过自动化装配通过Java代码装配通过XML装配导入和混合装配6.装配Bean装配方案基于xml基于java基于隐式地bean发现与自动装配通过自动化装配优点便利,自动化,可以解决大部分问题Spring从两个角度来实现自动转配组件扫描(component scan)xml<context:component-sc...

2018-09-26 07:58:25 162

原创 5.Spring Bean生命周期.md

文章目录5.Spring Bean生命周期生命周期流程图说明总结5.Spring Bean生命周期生命周期流程图说明*调用InstantitationAwareBeanPostProcessor的postProcessBeforeInstantitation()方法实例化:Class clazz, custructor或者 newInstance*调用用InstantitaonAw...

2018-09-23 20:41:30 151

原创 4.工厂模式

文章目录4.工厂模式简单工厂类图优缺点code输出工厂方法类图优缺点code输出抽象工厂类图优缺点code输出4.工厂模式简单工厂类图优缺点优点简单,解耦。缺点当需要扩充业务时,需要对BaoziFactory进行修改,当废弃某一产品时,也需要修改factory代码,产品过多,可能导致factory代码过长,冗余度高。codepackage com.desmon...

2018-09-18 22:20:51 208

原创 随手记-焦虑

最近患上了焦虑症,马上奔三了,感觉自己没啥竞争力,技术方面要学的是在太多了,Spring源码,java数据结构,多线程,JVM等。不知道前面几年是怎么混过来的。。。抓紧一切时间去学习~...

2018-09-13 22:22:59 135

原创 杂记-JPA DO

Jpa, 两个DO绑定了同一张表(86links.auth_user),这两个DO, 字段有差别,在本地运行没问题,在测试运行,期望得到A DO, 结果得到了B DO, 导致报错, 保持一个DO对应一张表就恢复了正常, 具体原因,待进一步查看。...

2018-09-13 09:45:09 185

原创 3.IOC容器

ioc容器三种配置方式依赖注入自定义属性解析器循环依赖(构造器)描述解决重写Bean定义配置元素基于Java配置基于XML配置容器级别ioc容器三种配置方式XML:最基本,最完整、强大注解(Annotation),@Sine 2.5疑问:基于注解,怎么读取<context:component-scan base...

2018-09-13 04:45:53 139

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除