自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (6)
  • 收藏
  • 关注

原创 面试经典|快速排序思想及实现

如何对数据高效排序一直是一个重要的问题,算法中排序分为内部排序和外部排序,而内部排序又分为插入排序、交换排序、选择排序、归并排序等。我们平时常用的冒泡排序和快速排序就属于交换排序。所谓交换就是根据序列中两个元素关键字的比较结果来对换这两个记录在序列中的位置。本篇笔记记录快速排序的思想及实现。

2021-10-29 14:53:28 444 3

原创 算法经典|二分查找详解

查询算法是非常重要的算法之一,即便不从事算法相关岗位,在CRUD的开发岗中,查询也是常见的业务操作。通常我们是从头到尾查询一个顺序表(数组、链表等)得到我们的结果,这种方式的时间复杂度为O(n),但针对一些特殊的数据,可以采取更加高效的方式查询。

2021-09-18 16:00:57 2933

原创 通用的系统权限模型的设计

一个系统的开发往往分成若干个模块,有些模块跟业务相关,但是也有部分模块是可复用的基础模块,比如权限管理模块,一次做好,多次可以复用。本文将介绍博主对权限管理模块的一些总结。

2021-09-06 16:50:43 723

原创 如何去掉广告实现百度精准搜索

https://www.bilibili.com/video/BV1Yb4y1Z786https://www.bilibili.com/read/cv11573189?from=notehttps://gitee.com/bestming/search_tools/tree/main如何去掉广告实现百度精准搜索百度搜索技巧我们在使用百度搜索资源的时候,可能输入的关键字不论怎么变化,查询前面几条结果都是广告,即便是我们输入"如何去除百度广告":显示的第一条也还是广告…那么有没有办法去掉百度

2021-06-10 20:40:06 9329 2

原创 Python爬取自己CSDN后台原始markdown数据

本文将介绍如何使用Python爬取CSDN后台原始的markdown数据。

2021-05-30 12:25:28 1340 2

原创 对外API接口的安全性设计及鉴权方式

一个公司需要拓展业务时,内部的业务系统往往需要跟外部系统交互,比如现在用户希望在支付宝或微信上交电费,话费,转账…那么电力公司、运营商、银行就需要跟支付宝和微信打通内部系统与支付宝微信系统之间的网络,提供相关api接口。像这种对外的api接口往往对安全性有严格要求,本文整理了一下常用的api鉴权方式以及安全措施(如有不当之处,请路过的大佬指正)。对外API接口的安全性设计及鉴权方式API鉴权方式...

2021-05-09 17:33:29 14723 1

原创 基于FreeMarker的自定义代码生成器

官方以及民间大佬都提供了一些代码生成器,例如mybatis-generator、Mybatis-plus的代码生成器等,但是可能跟我们平时使用习惯不一样。本文将介绍如何使用FreeMarker定义自己的代码生成器。

2021-03-27 11:36:53 693

原创 vue实现markdown编辑器以及md文件转化成html

我们在制作个人的博客系统或类似的项目时,写博客以及将写好的博客展示出来便是绕不开的基本功能,好在目前已有相关的开源插件给开发者使用。本文将总结mavon-editor插件和marked插件的使用方法,通过vue实现markdown编辑器,以及将markdown文件转换成对应的html,并自定义CSS。

2021-03-14 14:44:38 4524

原创 idea2020.1踩坑:找不到程序包和符号(冷门解决)

idea2020.1踩坑:找不到程序包和符号(冷门解决)我下好idea2020.1和maven之后,在maven的setting.xml加上了localRepository修改仓库位置,然后在idea的setting里面设置maven地址为我修改到的那个地址**(这也是我以前在多台电脑上的做法,都没有出现过现在这种情况)**。在使用idea2020.1版本创建maven项目编译时提示找不到程序...

2020-11-10 12:31:01 27497 104

原创 使用Java生成思维导图

使用Java生成思维导图前言最近因为一些原因需要做一些资料管理,准备建一个文件夹,然后对各种资料做一个分类,每个分类做一个文件夹。可以想象,随着资料数量和种类的增多,文件层级关系的增加,以后需要查一个文件在哪个位置的时候可能就不那么方便,Windows的资源管理器搜索在文件多的时候又不是很快,因此决定做一个资源地图,能够把所有的文件和文件夹以一种树状图的方式展示出来,首先想到的就是xmind...

2020-11-10 12:30:47 6224

原创 用Java实现平衡二叉树

​平衡二叉树的定义在谈平衡二叉树之前,首先了解一下二叉排序树。空树或者具有以下特性的二叉树就是二叉排序树:若左子树非空,则左子树上所有结点关键字的值均小于根节点的关键字的值。若右子树非空,则右子树上所有结点关键字的值均大于根节点的关键字的值。左右子树本身也分别是一棵二叉排序树。根据上述定义可知二叉排序树的中序遍历是一个递增的有序序列。但是二叉排序树的平均查找长度与二叉树的形态有关,如...

2020-11-10 12:30:29 1850

原创 Spring动态代理详解

Java的动态代理是学习Java的时候一个不好理解的知识点,本文将分享我在学习这个知识点中的笔记和理解。Java的java.lang.reflect包下提供了一个Proxy类和一个InvocationHandler接口,通过使用这个类和接口可以生成JDK动态代理类或动态代理对象。Proxy提供用于创建动态代理类和代理对象的静态方法,也是所有动态代理类的父类。如果我们在程序中为一个或多个接...

2020-11-10 12:30:13 3055 2

原创 SpringAOP不生效的情况

在使用SpringAOP的过程中不知道大家有没有遇到这样一个问题,就是我对一个方法做了AOP的增强,但是在内部方法的调用过程中,却发现它并没有按照预期设定的那样执行AOP的增强。下面我通过一个例子来说明这种情况。首先先在数据库中建一个表,这个表只有两列,如图。然后写一个DataService类,在这个类中,主要实现一个insert方法,在insert方法上加了一个@Transactio...

2020-11-10 12:29:55 3100

原创 二叉树之建树和七种遍历(含Java代码)

在刷LeetCode的过程中,想把二叉树的一系列常用操作做一个整理,这篇文章总结了通过Java实现二叉树的创建树、层序遍历、递归和非递归的前中后遍历。

2019-11-19 14:30:04 1305

原创 面试必备——Java的Annotation注解

AnnotationAnnotation是一个接口,程序可以通过反射来获取指定程序元素的Annotation对象,然后通过Annotation对象来取得注释里的元数据。Annotation必须使用工具来处理,工具负责提取Annotation里包含的元数据,工具还会根据这些元数据增加额外的功能。使用Annotation时要在其前面增加@符号,并把该Annotation当成一个修饰符使用。限定重...

2019-11-14 09:39:00 762 1

原创 程序练习之地图探测

问题描述假如有这样一个区域,区域被划分成了一个4 x 6的探测网格,区域的长和宽都不能超过100。在探测这个区域时,将会沿着蛇形路线遍历探测网格上的每一个格子:从左上角开始,向右飞行到尽头;再转向下一行,从右向左飞到尽头;再转头在下一行,从左向右飞行;不停循环直到探测完整个区域。比如这个例子中,飞行探测路线将是这样的:先沿着既定的路线进行探测,最后把探测到的地形保存在一个字符串中带回来。...

2019-04-01 15:06:34 741

原创 面试不能不懂的进程与线程

进程的概念为什么引入进程?在多道程序同时运行的背景下,进程之间需要共享系统资源,这样就会导致各程序在执行过程中出现相互制约的关系,程序的执行就会表现出间断性的特征。这些特征都是在程序的执行过程中发生的,是动态的过程,而传统的程序本身是一组指令的集合,是一个静态的概念,无法描述程序在内存中的执行情况,因此,程序这个静态概念已不能如实的反映程序并发执行过程的特征。为了深刻描述程序动态执行过程的性质...

2019-03-15 15:42:54 213

原创 面试必备——数据库触发器

触发器是用户定义在关系表上的一类由事件驱动的特殊过程。一旦定义,触发器将被保存在数据库服务器中。任何用户对表的增、删、改操作均由服务器自动激活相应的触发器,在关系数据库管理系统核心层进行集中的完整性控制。触发器类似于约束,但是比约束更加灵活,可以实施更为复杂的检查和操作,具有更精细和更强大的数据控制能力。定义触发器触发器又叫做事件-条件-动作规则。当特定的系统事件发生时,对规则的条件进行检查,...

2019-03-14 15:51:14 1685

原创 面试必备——HTTP协议的理解

万维网的内核部分是由三个标准构成的:(1)统一资源定位符(URL),负责标识万维网上的各种文档,并使每个文档在整个万维网的范围内具有唯一的标识符URL。(2)超文本传输协议(HTTP),是一个应用层协议,使用TCP连接进行可靠的传输,HTTP是万维网客户程序和服务器程序之间交互所必须严格遵守的协议。(3)超文本标记语言(HTML),是一种文档结构的标记语言,使用一些约定的标记对页面上的各种...

2019-03-14 11:02:42 1600

原创 数据库之系统的三级模式结构

数据库系统的三级模式结构在数据库系统内部管理数据采用三级模式结构。数据库系统的三级模式结构是指数据库系统由外模式、模式和内模式三级构成。数据库系统模式的概念型:对某一类数据的结构和属性的说明。值:是型的一个具体赋值。例如:学生记录。记录型:(学号,姓名,性别,系别,年龄,籍贯)该记录型的一个记录值:(900201,李明,男,计算机,22,江苏)模式: 是数据库逻辑结构和特征的...

2019-03-13 21:36:12 8352

原创 Java实现简易画图板

Java实现简易画图板最近自己尝试学着实现了一个简单的画图板,可以画出直线、圆、曲线、喷枪、直角矩形、圆角矩形等图形,而且可以通过橡皮擦擦除。欢迎各位大佬提出建议。DrawMain.java主类用于创建画板对象,添加所需的组件。public void init_ui(){ /*界面初始化*/ JFrame jf=new JFrame(); jf.setSi...

2018-09-24 22:04:09 8568

原创 Java中的null

Java 中的nullnull是代表不确定的对象Java中,null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。 比如:int a = null;是错误的。Ojbect o = null是正确的。Java中,变量的适用都遵循一个原则,先定义,并且初始化后,才可以使用。我们不能int a后,不给a指定值,就去打印

2018-01-22 21:48:55 184

原创 Java和C++中自增的区别

Java和C++对i++自增操作符的处理是不同的,JAVA是在内存中复制一份i值的拷贝再运算,而C++中是直接在原值上运算。 int i = 0; i = i++;在java中i=i++的运算实质是先执行在内存中复制一份i的拷贝再i++,然后把拷贝的i值赋给接收者,所以i为原值0 在C++中,则是先执行i=i 此时i为0 再执行i++ 此时i为1,故输出1++ (自增)

2018-01-22 21:41:06 362

原创 分治法解决循环赛日程表

分治法解决循环赛日程表问题描述设有n=2^k个运动员要进行羽毛球循环赛,现要设计一个满足以下要求的比赛日程表: (1)每个选手必须与其他n-1个选手各赛一次。 (2)每个选手一天只能比赛一次。 (3)循环赛一共需要进行n-1天。 由于n=2^k,显然n为偶数。分治法求解思路按分治策略,将所有的选手分为两半,n个选手的比赛日程表就可以通过为n/2个选手设计的比赛日程表来决定。

2018-01-13 23:12:26 2735

原创 回溯法实现最佳调度问题(Java)

回溯法实现最佳调度问题(Java)回溯法实现最佳调度问题的网上解答有很多,但基本上都是C或C++实现的,而且基本上只是粘了个代码而没有详细解释,因此我写了这篇文章,如有不对的地方,欢迎指正。问题描述最佳调度问题的回溯算法实现:有n个任务由k个可并行工作的机器完成。完成任务i需要的时间为Ti。找出完成这n个任务的最佳调度,使得完成全部任务的时间最少。用文件导入每个任务所需要的时间Ti

2018-01-12 22:50:15 4276 1

原创 JavaCC实现语法分析

语义分析设计MiniC的上下文无关文法,在“Parser.jjt”文件中表示该文法,生成调试递归下降分析程序,以便对任意输入的符号串进行分析;以文件流的形式读入要分析的C语言程序;如果输入的源程序符合MiniC的语法规范,在文件中输出语法树。MiniC语法〈程序〉 → int main() {〈语句块〉* } 〈语句块〉 →〈语句〉| {〈语句块〉* } 〈语句〉 →〈顺序语句〉|〈条件

2017-12-27 19:15:39 2290

原创 布线问题(附代码)

布线问题在N*M的方格阵列中指定一个方格的点a,一个方格的点b,求出a到b的最短布线方案(即最短路径)。布线时只能走直线或直角,不能走斜线。 问题分析1、将方格抽象为顶点,中心方格和相邻四个方向(上、下、左、右)能通过的方格用一条边连起来。这样,可以把问题的解空间定义为一个图。2、该问题是特殊的最短路径问题,特殊之处在于用布线走过的方格数代表布线的长度,布线时每布一个方格,布线长度累加1。 3

2017-12-27 17:08:24 2451

原创 Java实现带发音的简易电子词典

Java实现带发音的简易电子词典(以下所有内容均属作者原创,使用请注明出处!)最近我们在做Java的综合实训,我的题目比较简单,是做一个带有发音功能的简易电子词典。 要求:设计一个发音电子词典,具有对英语单词的查询、添加、修改、删除和读音功能。 窗口由菜单栏、工具条和显示栏组成。菜单栏包括文件、编辑、帮助等菜单;工具条包括输入栏和查询、添加、删除、发音等按钮;显示栏显示查询单词在词典中的所有解释

2017-06-28 21:10:41 6934 9

原创 U盘文件夹变成应用程序

当U盘中了某种U盘病毒,使自己的文件夹变成了.exe文件,而原本的文件夹会被隐藏,特别是在电脑上点击这些.exe文件的时候就运行了这些病毒,可能会感染其他盘里面的文件夹,而且被隐藏的文件夹无法通过属性修改变为可见。我在前几天接收一个朋友的压缩包打开之后就碰到了这种情况,然后在网上找到了解决办法。虽然这种病毒没太多威胁,但却很烦人,以下是我找到的方法,希望对大家有帮助。(一)首先使用...

2017-06-24 11:02:52 5567

Java实现发音电子词典

窗口由菜单栏、工具条和显示栏组成。菜单栏包括文件、编辑、帮助等菜单;工具条包括输入栏和查询、添加、删除、发音等按钮;显示栏显示查询单词在词典中的所有解释。

2018-09-25

Java实现简易画图板

简单的画图板,可以画出直线、圆、曲线、喷枪、直角矩形、圆角矩形等图形,而且可以通过橡皮擦擦除。

2018-09-24

C语言知识点总结

比较全的C语言知识点总结,文档字体格式清晰舒服,不同颜色突出重点。

2018-09-21

会场安排问题(贪心法)

设有n个会议的集合C={1,2,…,n},其中每个会议都要求使用同一个资源(如会议室),而在同一时间内只能有一个会议使用该资源。每个会议i都有要求使用该资源的起始时间bi和结束时间ei,且bi < ei 。如果选择了会议i使用会议室,则它在半开区间[bi, ei)内占用该资源。如果[bi, ei)与[bj , ej)不相交,则称会议i与会议j是相容的。会场安排问题要求在所给的会议集合中选出最大的相容活动子集,也即尽可能地选择更多的会议来使用资源。

2018-01-13

循环赛日程表(分治法)

设有n=2^k个运动员要进行羽毛球循环赛,现要设计一个满足以下要求的比赛日程表:(1)每个选手必须与其他n-1个选手各赛一次。(2)每个选手一天只能比赛一次。 (3)循环赛一共需要进行n-1天。用分治法实现

2018-01-13

最佳调度问题回溯法实现(Java)

最佳调度问题的回溯算法实现:有n个任务由k个可并行工作的机器完成。完成任务i需要的时间为Ti。找出完成这n个任务的最佳调度,使得完成全部任务的时间最少。用文件导入每个任务所需要的时间Ti。(至少10个任务)使用回溯算法的思想,设计一个解决该问题的算法。设计一个输出界面,输出调度方案。

2018-01-12

空空如也

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

TA关注的人

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