自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(108)
  • 资源 (4)
  • 收藏
  • 关注

原创 datagrip 相关数据连接信息无缝迁移

本文主要讲了,怎么能将老电脑的datagrip相关连接信息,配置信息,查询脚本等平滑迁移到新的电脑上面。

2023-09-07 19:11:12 2602 3

原创 1. activiti之工作流介绍

可能很多人对activiti 这个名词是陌生的,但是说到请假审批流程,贷款审批流程,加班申请流程等这些名词,相信大家都不会陌生。那么如果我们要实现这些流程的控制,流转,终止结束,该怎么实现呢?本专栏后面会详细介绍。

2023-06-29 13:55:41 425

原创 23. 数据结构之位图

位图(Bitmap)作为一种特殊的数据结构,它使用一系列位来表示数据,每个位只有两个状态(0或1)。由于它的高效性和节省空间的特性,位图在很多场景中都有广泛的应用。本节,我们就位图展开详细介绍。

2023-06-26 09:53:36 903

原创 22. 算法之图的最短路径

关于图的最短路径问题,是图这种数据结构中的经典问题。也是与我们的生活息息相关的,比如上海四通八达的地铁线路,从一个地铁站,到另一个地铁站,可能有很多种不同的路线。那么,我们选哪种路线,用时最短?换乘最少?花费最少?

2023-06-24 22:01:26 673

原创 21. 算法之动态规划

动态规划(Dynamic Programming),是一种分阶段求解的方法。动态规划算法是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治) 的方式去解决。

2023-06-16 18:11:08 445

原创 20. 算法之回溯算法

回溯算法实际上一个类似枚举的深度优先搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回(也就是递归返回),尝试别的路径。

2023-06-16 18:08:10 569

原创 19. 算法之分治算法

分治算法(divide and conquer)的核心思想其实就是四个字,分而治之 ,也就是将原问题划分成n个规模较小,并且结构与原问题相似的子问题,递归地解决这些子问题,然后再合并其结果,就得到原问题的解。

2023-06-16 15:51:03 601

原创 18. 算法之贪心算法

贪心算法(greedy algorithm,又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解。下面,我们详细介绍。

2023-06-16 15:25:44 3404 1

原创 17. 数据结构之图

前面介绍了队列,栈等线性数据结构,二叉树,AVL树等非线性数据结构,本节,我们介绍一种新的非线性数据结构:图。图这种结构有很广泛的应用,比如社交网络,电子地图,多对多的关系都可以用图来表示。

2023-06-16 14:03:23 853

原创 16.算法之字符串匹配算法

字符串匹配是我们在程序开发中经常遇见的功能,比如sql语句中的like,java中的indexof,都是用来判断一个字符串是否包含另外一个字符串的。那么,这些关键字,方法,底层算法是怎么实现的么?本节,我们来探究一下,字符串匹配常见的算法。

2023-06-15 14:58:54 1389 3

原创 15. 算法之排序算法

排序是在软件开发中经常遇到的需求。比如基于订单的创建时间倒排,基于金额大小排序等等,那么这些排序底层是怎么写的呢,本节,我们就常用排序算法展开介绍。

2023-06-07 19:46:33 680 8

原创 14.数据结构之多路查找树与堆

之前介绍的都是二叉查找树,二叉树一个节点最多有两个子节点,那么多于两个节点是什么情况呢,这就是我们本节要介绍的多路查找树。多路查找树,也是我们数据库mysql底层索引维护方式。下面,我们来详细介绍。

2023-06-06 10:59:30 306

原创 12.数据结构之AVL树

提到平衡二叉查找树,不得不提二叉查找树。二叉查找树,说简单点,其实就是将我们的数据节点,有序的维护为一个树形结构。这样我们查的时候,那么我们查找某个节点在不在集合中的时间复杂度实际上就是树的高度。如果节点在根节点左右均匀分布,那么维护的树的高度就会最低。

2023-06-05 20:43:58 749

原创 我的2048创作纪念日

刚刚CSDN推送消息,提示我已经在CSDN有2048个日子了,1024在计算机领域是一个很特殊的数字,计算机底层是2进制的,而1024是2的10次方。

2023-06-05 11:06:17 516 1

原创 11. 数据结构之二叉树

上一节,简单概述了树这种数据结构,以及树结构向下,具有某些一些特征的树,比如二叉树,B树,B+树,堆等。其中,二叉树是一个很重要的模块。也是在一些技术面试中,可能会问到的问题。本节,我们就二叉树,做详细介绍。

2023-06-02 09:53:15 839

原创 10. 数据结构之树

之前介绍了顺序表的数据结构,包含队列,栈等,这种结构都是一对一的,但是现实生活中,经常会遇见一对多的数据结构,比如族谱,部门机构等,此时我们需要一个更复杂的数据结构来表示这种场景,这就是树。

2023-05-31 14:32:45 485

原创 09. 算法之二分查找

二分查找是数据结构中很常见的算法。在日常生活中也随处可见,比如,选一个1到100 的数字,让对方猜数字。那么比较快速的方式就是折半猜测。

2023-05-31 11:21:12 771

原创 08. 算法之递归算法

递归,字面意思是递出去,拿回来,通过不断递过去,拿回来的过程,将每次调用结果保存起来,最后实现循环调用。递归在某些情况下会极大降低我们编程的复杂度。是软件开发工程师一定要掌握的技能。

2023-05-30 11:19:21 766 7

原创 06. 数据结构之散列表

散列表也叫作哈希表(hash table),这种数据结构提供了键(Key)和值(Value)的映射关系。只要给出一个Key,就可以高效查找到它所匹配的Value,时间复杂度接近于O(1)

2023-05-29 16:47:35 1056 5

原创 07. 算法之一致性哈希算法介绍

哈希算法在程序开发中的很多地方都能看到他的身影,但是哈希有他的局限性,比如如果两个key哈希到同一个位置的时候,怎么处理优化。本节我们介绍一下常规处理方式。

2023-05-24 09:57:43 2923 24

原创 05. 数据结构之队列

队列(queue)是一种线性数据结构,队列中的元素只能先入先出(First In First Out,简称 FIFO)。队列和实际生活中的排队相对应,是一种和生活息息相关的数据结构,在很多系统中都会有队列设计思想的体现。

2023-05-22 20:27:04 449

原创 04. 数据结构之栈

栈(stack)是一种线性数据的逻辑存储结构。栈中的元素只能先入后出(First In Last Out,简称FILO)。最早进入的元素存放的位置叫作栈底(bottom),最后进入的元素存放的位置叫作栈顶 (top)。

2023-05-22 19:37:23 438

原创 03. 数据结构之链表

链表是相区别于数组的,另一种典型的线性表数据结构。也是学习后面复杂的数据结构的基础,我们后面很多结构比如树,有向图等都可以用链表很方便的存储管理。

2023-05-22 18:38:25 791

原创 02. 数据结构之数组

数组(Array)是有限个相同类型的变量所组成的有序集合,数组中的每一个变量被称为元素。数组是最为简单、最为常用的数据结构。

2023-05-22 14:35:36 1236

原创 01.数据结构和算法概述

数据结构是一个古老的课题。他与程序开发息息相关,但是我们日常开发中,好像很少让我们自己设计一个数据结构。只求程序能跑,并不太关注性能。但是它是我们软件开发人员的基本功,也是拉开普通程序员和高级程序员的一个门槛,是大厂面试必不可少的一部分。

2023-05-17 14:02:32 383

原创 06. git关联远程仓库

我们前面学习git的时候都是自己一台电脑上操作,不管是创建分支还是合并分支代码,那么多人协作的时候怎么处理呢?这时候就需要一个“中介”来帮我们保存以及管理代码,github和gitlab承担的就是这样一个角色。两者之间的关系我在刚开始的时候有提到传送门github作为一个全球范围的代码托管平台,内部孕育了很多优秀的项目,但是因为外网网速限制问题,以及私有代码托管要收费问题,国内大部分企业会选择在自己内部使用gitlab搭建一个自己企业内部的git私服用于代码管理。

2023-05-15 10:41:25 2167

原创 13.设计模式之迭代器模式

迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。它可以让用户透过特定的接口巡访容器中的每一个元素而不用了解底层的实现。

2023-05-14 15:12:54 358

原创 12.设计模式之门面模式

门面模式,是指提供一个统一的接口去访问多个子系统的多个不同的接口,它为子系统中的一组接口提供一个统一的高层接口。使得子系统更容易使用。日志框架slf4J是门面模式最经典的应用场景。

2023-05-14 14:40:57 407

原创 11. 设计模式之组合模式

组合模式又叫整体-部分模式,它是一种将对象组合成树状层次结构的模式,用来表示整体-部分的关系,使用户对单个对象和组合对象具有一致的访问性,属于结构性设计模式。在组合模式中,整个树形结构中的对象都属于同一种类型。带来的好处是用户不需要辨识是树枝节点还是树叶节点,可以进行直接操作,给用户使用带来了极大的便利。

2023-05-14 13:54:03 565

原创 10.设计模式之桥接模式

在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。桥接模式在我们很多框架中都能看到,比如spring的JdbcTemplate

2023-05-14 13:22:23 776

原创 9.设计模式之适配器模式

适配器模式是我们在很多框架中会见到的设计模式。它主要解决的是两种接口不兼容而不能一起使用的问题。通过适配器,将原来的接口适配成目标接口,在不改动老代码的同时,实现两者同时使用。生活中常见的例子比如手机电源充电适配器。

2023-05-14 11:41:44 555

原创 8.设计模式之装饰器模式

装饰器模式以对客户透明的方式动态的给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰器模式可以在不是用创造更多子类的情况下,将对象的功能加以拓展,是继承关系的一个替代方案。

2023-05-13 12:29:30 410

原创 7.设计模式之责任链模式

责任链,即将能够处理同一类请求的对象连成一条链,所提交的请求沿着链传递, 链上的对象逐个判断是否有能力处理该请求,如果能则处理,如果不能则传递给链上的下一个对象。为了避免请求发送者与多个请求处理者耦合在一起, 将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链; 当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。

2023-05-12 16:38:05 517

原创 6.设计模式之观察者模式

观察者模式定义了多个对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会收到通知并被自动更新。这种模式又称发布-订阅模式、模型-视图模式,是一种对象行为型模式

2023-05-11 17:50:26 529

原创 5.设计模式之模板方法

模板方法模式是软件开发中经常用得到模式。在很多流行的框架中都能看到他的身影。比如spring,junit,servlet等等。它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现。

2023-05-11 16:44:06 426

原创 4.设计模式之工厂模式

工厂模式是属于创建型模式的。通过工厂获取一个一个的新对象。实现了创建者和调用者的分离。 本质是实例化对象,用工厂方法代替new操作。工厂模式又细分为简单工厂模式,工厂方法模式和抽象工厂模式。

2023-05-11 15:40:36 451

原创 3.设计模式之建造者模式

建造者模式是对象的创建模式。它将复杂产品的内部组件构建和组件装配的生产过程拆分开来,从而可以生成具有不同内部组件的复杂产品。实现了构建算法、装配算法的解耦,实现了更好的复用。具体的构造实现可以很方便地扩展和切换,从而可以灵活地组合来构造出不同的产品对象。

2023-05-11 11:00:17 226

原创 2.设计模式之单例模式

单例模式可以说是设计模式中最简单,也最常见的设计模式。在很多面试开发面试中也会提到单例。单例模式是创建者模式中的一种。单例保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。

2023-05-10 13:56:40 426

原创 1. 设计模式之代理模式

我们都知道java是面向对象的,他追求万物皆对象,将核心业务逻辑封装到一个个对象中。这样在设计中确实符合高内聚,低耦合的理念。但是有个问题是真实业务场景中,我们有时候需要在一些方法中加入通用的处理逻辑。增强原来的业务功能,但是又不能破坏原来的封装逻辑。

2023-04-28 19:33:22 840

原创 13.java程序员必知必会类库之字节码库

Java代码编译完会生成.class文件,就是一堆字节码。JVM(准确说是JIT)会解释执行这些字节码(转换为机器码并执行),由于字节码的解释执行是在运行时进行的,那我们能否手工编写字节码,再由JVM执行呢?答案是肯定的。而字节码库就提供了一些方便的方法,让我们通过这些方法生成字节码

2023-04-27 20:19:39 590

用于测试java代码操作word文档

用于测试java代码操作word文档,放在百度云下载不方便,为此直接上传,以供下载

2023-04-25

springsequence.7z

spring从配置文件加载bean定义到bean工厂画的时序图,大概流程上面都有描述,但是一些具体实现细节需要自己看代码了解,这张图只是描述基本流程,跟着这个图走一遍spring的源码,基本spring加载bean定义这块会比较容易理解,最后,图片能表达的有限,而且还是别人理解的,可能有疏漏之处,还是得自己看源码。

2020-03-08

cdlinux镜像文件

这是cdlinux的镜像文件,是以前学习破解别人WiFi用到的,当时找了好久,现在拿出来希望帮到有需要的人

2017-11-13

MyEclipse的svn插件以及单独svn服务搭建

SVN是团体合作开发代码的利器,资料里面还有使用说明文档,常见问题,以及eclipse和myeclipse的SVN插件,节省了大量寻找工具的时间,集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。

2017-11-13

Java反编译工具

这是一款Java反编译工具,操作简单,只需要解压,让开exe文件,将你想要看源代码的class文件拖进去,然后你就可以看到源码,实用,方便

2017-11-13

空空如也

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

TA关注的人

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