自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(140)
  • 资源 (2)
  • 收藏
  • 关注

转载 SSM三大框架的运行流程、原理、核心技术详解

一、Spring部分1、Spring的运行流程·第一步:加载配置文件ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");,ApplicationContext接口,它由BeanFactory接口派生而来,因而提供了BeanFactory所有的功能。配置文件中的bean的信息是被加载在HashMap中的,一个bean通常包括,id,class,property等,bean的id对应HashMap中的Key,

2021-02-18 22:15:48 963

原创 springMVC的所有注解的原理

1、@Controller@Controller用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping注解。@Controller只是定义了一个控制器类,而使用@RequestMapping注解的方法才是真正处理请求的处理器。2、@RequestMappingRequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所...

2021-02-01 17:13:52 354

转载 SpringMVC工作原理

SpringMVC的工作原理图:SpringMVC流程1、 用户发送请求至前端控制器DispatcherServlet。2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。4、 DispatcherServlet调用HandlerAdapter处理器适配器。5、 Han...

2021-01-31 21:05:50 165

转载 SpringMVC 实例 --非注解

练习项目:testSpringMVC 实例 --非注解,只用于学习理解。到了spring 3.0以后或许部分东西已经过时了,在实际工作中并不一定好用。但对于理解SpringMVC的实现方式很有帮助,在以后使用注解时,会明白是怎么个来龙去脉!web.xml配置文件:<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5"xmlns="http://java.sun.com/xml/ns/java...

2021-01-30 15:32:58 122

原创 springmvc-servlet.xml配置表功能解释

问:<?xml version="1.0" encoding="UTF-8" ?>答:xml version="1.0"表示是此xml文件的版本是1.0 encoding="UTF-8"表示此文件的编码方式是UTF-8问:<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">答:定义此文件为SpringMVC配置.

2021-01-30 14:53:33 268

转载 【tomcat】手动部署动态JavaWeb项目到tomcat

1.通过修改server.xml进行配置1.查看项目的目录结构:  tomcat运行时加载WebConmtent目录注意:WEB-INF下要有classes目录和lib目录与web.xml(如果没有classes目录从项目目录的build目录下考到WEB-INF目录下)2.修改E:\tomcat\apache-tomcat-7.0.72\conf\server.xml(项目名字为空,去掉项目名字映射)3.启动eclipse进行测试:测试:...

2021-01-27 12:42:49 132

转载 Spring的aop常用标签

常用标签<aop:config>作用: 用于声明开始aop的配置<aop:aspect>作用: 用于配置切面。 属性: id:给切面提供一个唯一标识。 ref:引用配置好的通知类bean的id。 <aop:pointcut>作用: 用于配置切入点表达式 属性: expression:用于定义切入点表达式。 id:用于给切入点表达式提供一个唯一标识。 <aop:before>作用: 用于配置前置通知 属性:

2021-01-26 16:48:10 293

原创 Eclipse怎么快速注释程序代码

方法bai一、使用Ctrl+Shift+C快捷键1、在duEclipse中拖动鼠标,选中需要注释zhi的dao代码。zhuan2、按住Ctrl+Shift+C快捷键。3、会发现所选代shu码被“//”注释掉。当调试完后,可再次按住Ctrl+Shift+C快捷键打开注释。方法二、使用Ctrl+/快捷键1、在Eclipse中拖动鼠标,选中需要注释的代码,通常为连续多行代码。2、按住Ctrl+/快捷键。3、会发现所选代码被“//”注释掉。当调试完后,可再次按住Ctrl+/快捷键打开注释。方法三、使

2021-01-26 14:34:30 1815

转载 tomcat配置虚拟路径在server.xml中加入Context启动闪退问题

需要做图片上传功能,第一次使用的路径是项目路径下的资源路径。发现每次上传成功后并不能直接使用url访问,只能重新服务才能访问。后来百度得知需要放到其他硬盘地方。需要用tomcat做服务器来存储图片。按照如上教程,复制粘贴,启动tomcat闪退。。。百度得知!!!!!第一次见这么靠谱的百度回答了。。最后我做图片上传是用的另一种方法,参考我的另一篇文章Springboot 上传图片到项目路径下不能访问,需要重启...

2021-01-21 15:54:28 468 2

转载 tomcat与jdk兼容性的坑

今天帮同学排查报错:一开始以为是文件配置出错,但是后面的问题提示是版本不兼容问题,他的运行环境是:jdk1.8.0.1+tomcat8.5.1(实际上不应该会报错),但是还是报了版本不兼容问题。最后升级了tomcat为9.0成功。一般是和jdk版本保持一致的,也就是说tomcat7对用jdk7版本;tomcat8对用jdk8版本(猜测:但是如果maven中的servlet-api高于tomcat中的servlet-api会出现不兼容的问题,解决这一问题:1、将pom.xml文件中的servlet-api

2021-01-19 12:16:20 2940

转载 JAVA高并发的三种实现

提到锁,大家肯定想到的是sychronized关键字。是用它可以解决一切并发问题,但是,对于系统吞吐量要求更高的话,我们这提供几个小技巧。帮助大家减小锁颗粒度,提高并发能力。初级技巧-乐观锁乐观锁使用的场景是,读不会冲突,写会冲突。同时读的频率远大于写。悲观锁的实现:悲观的认为所有代码执行都会有并发问题,所以将所有代码块都用sychronized锁住乐观锁的实现:乐观的认为在读的时候不会产生冲突为题,在写时添加锁。所以解决的应用场景是读远大于写时的场景。中级技巧-Str.

2021-01-17 16:23:21 231

转载 java的反射

反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码))一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.

2021-01-15 17:28:45 42

转载 文件从代码到执行经历了哪些过程

作为一名程序员或者学习 C 语言的伙伴们,我们在编写程序的过程中是否曾几何时思过过以下几个问题呢?1、我们编写的内容电脑为什么就能认识呢?2、真的就是我们编写什么就执行什么吗?那出错又是什么原因导致的呢?3、为什么有时候程序执行的结果胡乱跑呢?4、我们的代码到电脑的执行到底经历了哪些过程呢?也许起初的时候大家也都思考过,也都想着一探究竟,但是随着时间的流逝,随着一行行代码的编写,把这些最初的想法都磨灭了,更多时候对自己对他人的回答就是,他就是这样运行的,这么写就行了。下面我们带着这些

2020-11-03 21:01:24 336

原创 信号带宽与信道带宽

信号带宽:一个信号可以分解为一系列不同频率正余弦函数的加权和。带宽,就是那些对应的加权非零部分对应的三角函数的频率宽度。信号频谱的宽度,也就是信号的最高频率分量与最低频率分量之差。例如:一个由数个正弦波叠加成的方波信号,其最低频率分量是其基频,假定为 f =2kHz,其最高频率分量是其 7 次谐波频率,即 7f =7×2=14kHz,因此该信号带宽为 7f - f =14-2=12kHz。在计算机网络中,带宽用来表示网络中某通道传送数据的能力,因此网络带宽表示在单位时间内网络中的某信道所能通过的“最高数据率

2020-10-24 10:07:09 4339 3

原创 码元通俗解释

波特率又称码元率,是指每秒传输码元的数目,单位波特(Band)比特率为每秒传输的比特(bit)数。码元:在数字通信中常常用时间间隔相同的符号来表示一个二进制数字,这样的时间间隔内的信号称为(二进制)码元。 这是百度百科的解释通俗点说,可以把一个码元看做一个存放一定信息量的包,如果只存放1bit,那么波特率等于比特率,但是一般不止存放1bit如一串二进制信息为101010101 当一个码元携带的信息量为1bit时,那么就有9个码元,其波特率相当于比特率,如果每三个一组101,010,101,这时就可以

2020-10-23 21:03:15 10964 3

原创 操作系统-内存与外存的对换

1.对换的引入在多道程序环境下,可能会有如下两个问题:内存中的某些进程可能被阻塞(由于等待I/O或其他原因),但是该进程占用了大量的内存空间,甚至会发生内存中所有的进程都被阻塞的情况。 在上述情况下,还有些作业在外存上等待调入内存,但因内存空间已被那些阻塞的进程占用所以这些在外存上等待的作业无法被调入内存执行。上诉两个问题会导致系统资源被严重浪费,且系统吞吐量(单位时间内完成的工作量)会下降。为了解决这个问题,引入了对换(swapping)。2.概念对换是指将内存中的暂时还不能被运...

2020-09-01 23:55:54 1764

转载 不知道怎么清理C盘?做完这几步,电脑一下子多出几十个G

#电脑小知识#不知道差友们在刚接触到电脑时,有没有产生过和世超一样的疑问:电脑里的硬盘为啥默认都是从 C 盘开始命名,接着才是 D、E 盘,那么排在字母表 C 前边的 A、B 盘去哪了呢,难不成它是想 C 位出道?后来世超了解到具体原因才发现是自己当时太年轻的缘故,其实在很早之前,电脑确实是有 A、B 盘的。那时还没有出现硬盘,存储数据主要靠的是一种叫软盘的东西,因此通常在计算机上就配有两个软盘的磁盘驱动器,也就是俗称的 A、B 盘。不过软盘的存储能力极小,普遍只有几 MB 甚至..

2020-08-30 09:21:18 1244

转载 面试被问高并发流量控制,我脸都绿了。。。

原文链接:http://www.iocoder.cn/zhishixingqiu/?vip\x26amp;amp;amp;mp收起点击上方“芋道源码”,选择“设为星标”管她前浪,还是后浪?能浪的浪,才是好浪!每天 8:55 更新文章,每天掉亿点点头发...源码精品专栏 原创 | Java 2020 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 Rocke.

2020-08-15 09:30:19 97

转载 外部排序

外部排序给你一个包含20亿个int类型整数的文件,计算机的内存只有2GB,怎么给它们排序?一个int数占4个字节,20个亿需要80亿字节,大概占用8GB的内存,而计算机只有2GB的内存,数据都装不下!可以把8GB分割成4个2GB的数据来排,然后在把他们拼凑回去。如下图:排序的时候可以选择快速排序或归并排序等算法。为了方便,我们把排序好的2G有序数据称为有序子串。接着把两个小的有序子串合并成一个大的有序子串。注意:读取的时候是每次读取一个int数...

2020-07-27 21:26:33 53

转载 路径规划算法D*学习总结

通过调研发现目前移动机器人动态路径规划用的比较多的路径规划算法是D*,本人写这篇博客的目的在于记录自己自己这几天的调研总结和学习体会。1.简介D*是动态A*(D-Star, Dynamic A*) 卡耐基梅隆机器人中心的Stentz在1994和1995年的两篇文章提出,主要用于机器人探路。美国火星探测器上采用的就是此寻路算法。2.主要方法1.先用Dijkstra算法从目标节点G向起始节点搜索。储存路网中目标点到各个节点的最短路和该位置到目标点的实际值h,k(k为所有变化h之中最小的值,当前为

2020-07-21 23:45:58 1972

转载 终身规划A*算法(LPA*):Lifelong Planning A*

终身规划A*算法(LPA*):Lifelong Planning A*1.描述2.父代节点与子代节点3.起始距离估计4.优先队列5.节点状态及扩展6.初始化运行7.最短路径搜索8.伪代码9.性质10.符号表示11.算法示例推演12.总结13.对公式的进一步理解伪代码参考资料搜索算法其他文章LPA_start或life Planning A_star是一种基于A*的增量启发式搜索算法。2001年,斯文·柯尼格(Sven Koenig)和马克西姆·利卡切夫(Maxim Likhachev)首次提出。1.描述

2020-07-21 23:26:57 389

转载 A*算法详解(讲的一级棒 )

概述虽然掌握了 A* 算法的人认为它容易,但是对于初学者来说, A* 算法还是很复杂的。搜索区域(The Search Area)我们假设某人要从 A 点移动到 B 点,但是这两点之间被一堵墙隔开。如图 1 ,绿色是 A ,红色是 B ,中间蓝色是墙。图 1你应该注意到了,我们把要搜寻的区域划分成了正方形的格子。这是寻路的第一步,简化搜索区域,就像我们这里做的一样。这个特殊的方法把我们的搜索区域简化为了 2 维数组。数组的每一项代表一个格子,它的状态就是可走 (walkalbe) 和不可走

2020-07-21 23:04:24 538

转载 路径规划算法总结

广度优先算法(Breadth-First-Search, BFS)广度优先算法实际上已经能够找到最短路径,BFS通过一种从起点开始不断扩散的方式来遍历整个图。可以证明,只要从起点开始的扩散过程能够遍历到终点,那么起点和终点之间一定是连通的,因此他们之间至少存在一条路径,而由于BFS从中心开始呈放射状扩散的特点,它所找到的这一条路径就是最短路径;启发式搜索改变广度优先算法原来队列的FIFO模式,给不同的点加入优先级,可以知道,距离终点的曼哈顿距离越小的点,该点的优先级越高存在问题 然而这导致了

2020-07-21 22:37:27 644

转载 一致性Hash原理与实现

前言互联网公司中,绝大部分都没有马爸爸系列的公司那样财大气粗,他们即没有强劲的服务器、也没有钱去购买昂贵的海量数据库。那他们是怎么应对大数据量高并发的业务场景的呢?这个和当前的开源技术、海量数据架构都有着不可分割的关系。比如通过mysql、nginx等开源软件,通过架构和低成本的服务器搭建千万级别的用户访问系统。怎么样搭建一个好的系统架构,这个话题我们能聊上个七天七夜。这里我主要结合Redis集群来讲一下一致性Hash的相关问题。Redis集群的使用我们在使用Redis的过程中,为了保证Re

2020-07-13 15:53:34 123

转载 十大经典排序算法(动图演示)

十大经典排序算法(动图演示) 0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。0.2 算法复杂度0.3 相关概念稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。 不稳定:如果a原本在b的前面,而a.

2020-07-07 22:55:17 86

原创 雅可比矩阵

历史渊源首先,要先介绍一下——多产堪比欧拉,被广泛认为是历史上三大最具运算能力的数学家之一的雅可比先生。卡尔·雅可比1804年12月10日,卡尔·雅可比(Carl Gustav Jacob Jacobi)出生于普鲁士的一个殷实犹太人家庭,成为家中的老二,父亲(Simon Jacobi)是一位成功的银行家。雅可比是个聪明的孩子,幼年跟随舅舅学习古典语言和数学,12岁进入波茨坦大学预科学习,不到半年跳级到高年级,甚至在自学欧拉的《无穷小分析引论》后尝试解决五次方程式。当时的大学并不接受16岁以下的学

2020-06-24 14:12:28 1313

原创 Win10 NVIDIA Container占用CPU高的处理方法

打开任务管理器,发现NVIDIA Container 占用CPU非常高(36.6%)。 2 Windows 10系统NVIDIA Container占用CPU高的处理方法 在任务管理器窗口中,先展开 NVIDIA Container,再右键点击:NVIDIA Display Container LS,在右键菜单中点击:打开服务; 3 在本地服务窗口中,找到并左键双击:NVIDIA Display Container LS 服务; 4 在...

2020-06-08 20:59:55 12138

原创 Antimalware Service Executable 高内存的处理办法,亲测有效

在反恶意软件服务的可执行过程中扮演的重要角色的Windows Defender与Windows捆绑10服务(和,尽管相似性的名字,是完全无关的Emsisoft反恶意软件!)。但是,它消耗的内存远远超过其应有的CPU处理能力,这也是臭名昭著的,甚至可以单枪匹马地降低计算机的速度,以至于无法应付。如果您是Windows Defender用户,并且在异常长时间内注意到CPU使用率很高,您将很高兴知道此问题可以轻松解决。在本文中,我们汇总了一些简单的步骤,您可以按照这些简单的步骤来防止Antimalw...

2020-06-08 20:57:51 455632 27

转载 卡兰特数(n个元素依次进栈,能得到几种不同的出栈序列)

情况1:如果每次入栈之前只能出栈一次:核心代码:// v作为栈存放数据,res作为缓存,存放出栈的元素,打印的时候res从0到n,v从n到0void DFS(vector<char>v,vector<char>res,int circle){ if(circle==length){ printres(res); cout<<"*"; printstack(v); cout<<endl; return.

2020-05-20 17:24:25 2299

原创 概率论与数理统计--独立和不相关

独立和互斥的区别在此省略,比较好理解。首先我们看协方差的定义:            Cov(X, Y) = E{[X - E(X)][Y - E(Y)]}.协方差的性质有:            Cov(X, Y) = Cov(Y, X)            Cov(aX+b, cY+d) = acCov(X, Y)            Cov(X1+X2, Y) = Cov(X1,Y) + Cov(X2,Y)            Cov(X, Y) = E(...

2020-05-11 19:10:54 2647

转载 施密特正交化的几何意义是什么?

https://www.zhihu.com/question/60689540

2020-04-27 23:09:21 1243

原创 向量点积定义的证明

2020-04-27 22:36:22 644

转载 柯西-施瓦茨不等式的证明

柯西施瓦茨不等式的证明:例题

2020-04-26 20:10:54 16086 2

转载 行列式的几何意义

行列式的定义: 行列式是由一些数据排列成的方阵经过规定的计算方法而得到的一个数。当然,如果行列式中含有未知数,那么行列式就是一个多项式。它本质上代表一个数值,这点请与矩阵区别开来。矩阵只是一个数表,行列式还要对这个数表按照规则进一步计算,最终得到一个实数、复数或者多项式。一阶行列式(注意不是绝对值)二阶行列式三阶行列式N阶行列式行列式的几何意义是什么呢?...

2020-04-18 15:41:54 386

转载 机器学习算法GBDT

1.简介gbdt全称梯度下降树,在传统机器学习算法里面是对真实分布拟合的最好的几种算法之一,在前几年深度学习还没有大行其道之前,gbdt在各种竞赛是大放异彩。原因大概有几个,一是效果确实挺不错。二是即可以用于分类也可以用于回归。三是可以筛选特征。这三点实在是太吸引人了,导致在面试的时候大家也非常喜欢问这个算法。gbdt的面试考核点,大致有下面几个:gbdt 的算法的流程? gb...

2020-04-01 23:14:45 645

转载 学习SVM,这篇文章就够了!(附详细代码)

学习SVM,这篇文章就够了!(附详细代码)支持向量机(SVM),一个神秘而众知的名字,在其出来就受到了莫大的追捧,号称最优秀的分类算法之一,以其简单的理论构造了复杂的算法,又以其简单的用法实现了复杂的问题,不得不说确实完美。本系列旨在以基础化的过程,实例化的形式一探SVM的究竟。曾经也只用过集成化的SVM软件包,效果确实好。因为众人皆说原理复杂就对其原理却没怎么研究,最近...

2020-04-01 21:30:07 4732 2

转载 XGBoost算法

1. 什么是XGBoost XGBoost是陈天奇等人开发的一个开源机器学习项目,高效地实现了GBDT算法并进行了算法和工程上的许多改进,被广泛应用在Kaggle竞赛及其他许多机器学习竞赛中并取得了不错的成绩。 说到XGBoost,不得不提GBDT(Gradient Boosting Decision Tree)。因为XGBoost本质上还是一个GBDT,但是力争把速度和效...

2020-03-29 12:44:26 256

转载 机器学习算法之LightGBM

GBDT模型的另一个进化版本:LightGBM。LigthGBM是boosting集合模型中的新进成员,由微软提供,它和XGBoost一样是对GBDT的高效实现,原理上它和GBDT及XGBoost类似,都采用损失函数的负梯度作为当前决策树的残差近似值,去拟合新的决策树。LightGBM在很多方面会比XGBoost表现的更为优秀。它有以下优势:更快的训练效率 低内存使用 更高的准确率 ...

2020-03-28 16:06:11 2159

转载 无痛看懂LightGBM原文

作为三大知名GBDT的实现之一,LightGBM的优点就是快的一逼的同时精度还高。最开始我还以为是框架出自大厂之手,工程上的实现比Xgboost要好很多,所以计算比较快,看了原文才知道这内有乾坤,而且都是很容易理解的道理。所以为了展现我的学识,咳咳,今天一定要来逼逼两句。开门见山的说,LGB(LightGBM,下文均采用此缩写)不需要通过所有样本计算信息增益了,而且内置特征降维技术,所以更快。...

2020-03-28 14:09:04 418

原创 遗传算法(Genetic Algorithm)

1.介绍遗传算法(Genetic Algorithm)遵循『适者生存』、『优胜劣汰』的原则,是一类借鉴生物界自然选择和自然遗传机制的随机化搜索算法。遗传算法模拟一个人工种群的进化过程,通过选择(Selection)、交叉(Crossover)以及变异(Mutation)等机制,在每次迭代中都保留一组候选个体,重复此过程,种群经过若干代进化后,理想情况下其适应度达到***近似最优***的状态。...

2020-03-28 11:19:25 911

大创软著申请完整样例(大部分通用该填的都填上了,可以直接拿来改)

与该博客配套的软著申请样例https://blog.csdn.net/qq_41371349/article/details/104060181

2020-03-23

软著申请完整样例(大部分通用该填的都填上了,可以直接拿来改)

该文章配套模板https://blog.csdn.net/qq_41371349/article/details/104064468

2020-01-21

空空如也

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

TA关注的人

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