自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 大白话讲解IOC和AOP

IOC和AOP什么是IOCIoC(Inversion of control)控制反转,它是一种思想,而Spring Framework实现了这一思想。Ioc也称为依赖注入(DI)。IOC控制反转,即将new 对象的权利交给Spring容器。将创建对象的控制权交给Spring容器有什么好处呢?想象这样一个场景,我们要创建一个对象,这个对象可能依赖一个或多个其他对象,就像我们创建下面这个对象的样子。@Controllerpublic class TestService { @Autowir

2022-02-15 16:24:49 313

原创 SpringSecurity自定义注解和处理器

登录功能添加一个配置类@Configurationpublic class SecurityConfig extends WebSecurityConfigurerAdapter { @Resource UserDetailsService userDetailsService; @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception {

2021-12-20 20:11:43 2138

原创 Dubbo入门

记录学习Dubbo的笔记 由于使用的是掘金在线编辑器,所以图片有掘金的水印概述为什么说dubbo性能高Dubbo是一种分布式架构,基于RPC:远程过程(方法)调用。远程过程(方法)调用中最耗时和最最关键的两个技术时:序列化和网络通信。序列化:主要有xml、json、二进制流…等、Dubbo采用的是效率最高的是二进制流。网络通信:不采用TCP协议,需要进行三次握手、四次挥手。Dubbo采用Socket通信机制,知道IP地址和端口号,直接进行连接。以下项目只是基于maven不是基于springb

2021-10-30 10:34:50 106

原创 SpringBoot整合MarkDown实现图片上传和回显

SpringBoot整合MarkDown实现文件上传和回显(采用先上传后回显).application.yml文件中进行如下配置这里说明一下如果你此处不配下面这些的话,你就需要在你文件上传时指明你要上传的路径如果你配了下面的配置的话,并且文件上传时不指定上传路径,你整个项目的文件上传的保存位置就是如下的位置。如果你配了下面的配置,同时文件上传时又指定文件上传的路径,以你文件上传时指定的为准#文件上传的路径 需要你在电脑中有对应的目录spring: servlet:

2021-06-29 16:53:52 335

原创 四次挥手中你还不知道的ACK机制

为面试做准备中。后面有对ACK机制的详细讲解。四次挥手比较好解释。看一下我的草图。ACK表示发来的数据已确认接收无误。图中一个箭头代表一次挥手。第一次挥手:主动关闭方:发送一个FIN,表示自己没有数据要发送了。第二次挥手:被动关闭方:收到FIN后知道对方不会再有数据传来。主动关闭方:收到ACK后将进入半关闭状态,只会发送ACK进行确认,不会发送其他数据。第三次挥手:被动关闭方:发送一个FIN,表示自己没有数据要发送了。第四次挥手:被动关闭方:收到ACK后将进入关闭

2021-05-07 10:19:40 1390

原创 冲刺面试三次握手和四次挥手!!

为面试做准备中。三次握手如果想要准确的把数据传送给对方,一开始需要进行三次握手如下图(图片来源网络):网上三次握手都是三步骤搞定。这里为了方便大家理解,我先拆成四步骤。客户端要和服务端建立通信,需要发送一个SYN给服务端。服务端接受到信息后,需要返回一个ACK表示确实收到了。服务端要和客户端建立通信,需要发送一个SYN给客户端。客户端接受到信息后,需要返回一个ACK表示确实收到了。简单点理解就是一个SYN需要和一个ACK匹配,不能落单。再来看一下这图很容易发现服务端发了一个AC

2021-05-05 19:54:56 77

原创 面向青铜的java自学路线

有经验的人都知道,java还是需要一些路线的,因为java有些知识前后关联挺大的,先学后面和先学前面难度是不一样的。如果你是新手,只要你知道路线这个东西,起码要比别人强,至少知道可以怎么走(更重要的还是看你走不走)。当时我也是新人,想学又不知道从哪里开始学习。学完了又不知道接下来要学什么,更可气的是资源都不知道该到哪里去找。只要笼统的学过java,确实是可以大致得出一个路线来的,所以你们也不用担心我是瞎扯的,而且我也是只把核心知识整理成一条路线,其他的知识也会列出一些,不会进入主线。如果你还不知道ja

2021-03-05 10:31:20 108 1

原创 动态规划中初识状态压缩(入门)

想必很多人还不知道动态规划是可以状态压缩的吧,通俗的讲就是把维数变小,一般就是把二维数组降为一维。维数变小意味着空间变小,速度还不变,不用空间换时间,这就是状态压缩的强大之处。以leetcode64题最小路径和为例,带大家一步一步见识一下状态压缩这个小技巧题意:给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小说明:每次只能向下或者向右移动一步示例1输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解

2021-02-01 15:43:56 183

原创 Spring Data JPA基本增删改查和JPQL查询(含完整代码和视频连接)

问题:SpringDataJPA怎么使用?一、考察目标主要考核SpringDataJPA的用法二、题目分析spring data jpa 的使用步骤(下面有具体实现细节)1.创建maven工程并导入依赖2.添加配置3.实体类添加注解4.编写dao接口5.编写测试类三、应用场景spring data jpa 是针对jpa规范中具体实现的在封装,hibernate框架就是jpa规范的具体实现。四、总结主要考察的是:1.spring data jp.

2021-01-29 17:37:33 160 1

原创 java刷题时常用容器详解

当初学java时,只是简单的把java基础知识过了一遍就跑去刷题了,很多知识都是在刷题的过程中慢慢加深理解的。由于每次刷题时,刷到与容器有关的我基本上都跑去百度了,例如百度一下:java中List的常用方法。百度的次数不少,但总感觉不成体系,容易搞混,于是在这篇文章中总结了刷题过程中容器的一些常用方法。以此减少自己以后百度的次数。如果你想复习一下容器的常用方法或者希望以后在容器这方面能少百度几次的话,相信这篇文章对你一定会有帮助。容器,就是保存数据用的的东西容器不需要定义大小,会自动扩容基本的容

2020-10-25 09:35:06 229

原创 听说你还不懂约瑟夫环!!!

约瑟夫环问题: N个人编号为1,2,……,N,围成一个环,依次报数,每报到M时,杀掉那个人,求最后胜利者的编号。换一下编号,现在假设有10个人编号为a,b,c,d,e,f,g,h,i,j,M=3吧。杀第一个人的结果如下杀第二个人的时候相当于从d开始,结果如下最后我们可以知道d最终存活了下来,设f(n) = x 表示有n个人时存活下来的是x,这里f(10)=d。现在我们来跟踪一下d的位置变化一开始杀第一个人时d的位置然后杀第二个人时d的位置看到这里我想你应该什么都看不出来,如果我此

2020-10-01 12:45:43 101

原创 小白级别,一台计算机如何把数据发送给另一台计算机

天各一方的两台计算机是如何找到对方并进行数据传输的?这一切要从计算机网络中五层模型开始讲起。五层模型有以下这些了解五层模型基本上就知道一台计算机如何把数据发送给另一台计算机了。不过标题也说了,这是小白级别,文章会省略许多繁琐的细节。一、物理层如果两台计算机要通信,首先需要的就是把两台计算机用线链接起来,例如用光纤、电缆、双绞线等。就像这样子建立链接的目的就是为了通信。由于计算机之间只能传输0和1这样子的电信号,所以我们发送给其他计算机的数据最终都会转化成一大串只包含0和1这样的电信号。二、数据链

2020-08-16 13:03:38 542

原创 花了一个月的时间在一个oj网站只刷了这些题,从此入门了绝大多数算法

如果你想入门算法,那么我这篇文章也许可以帮到你。oj网站有这么多,当然还有其他的。我当初是在hdu上面刷的,不要问我为什么,问就是当时我也是一个新手,懵懵懂懂就刷起来了。点这里可以进入这个网站https://vjudge.net/我只在hdu上刷其他的没刷过。让我建议的话也是建议你刷hdu,差不多真的。先给大家看一下我oj网站上的记录,这是杭电刷题网站,我不是杭电的,我是一个非常非常普通的本科生。链接在这http://acm.hdu.edu.cn/很水的数据提交错误(WA)的次数太多,但我确确实

2020-07-25 19:28:15 424

原创 一文秒懂桶排序算法

桶排序。原理:把一个区间的数据放在一个桶里,另一个区间的数据放在另一个桶里,放完数据之后把每一个桶里的数据进行排序就完成了核心过程。区间的大小由自己设定(这个设定简单)。桶的数量的话就是(总区间)/(每个桶区间大小)+1。给个图加深点印象。public class BucketSort{ public static int[] bucketSort(int[] arr) { if(arr==null||arr.length<2) return arr; int n = arr.len

2020-07-24 15:58:56 91

原创 大一寒假我在一个oj网站只刷了这些题从此入门了绝大部分通用算法

如果你想入门算法,那么我这篇文章也许可以帮到你。先说点题外话。这是在一个不冷不热的寒假,照理来说寒假应该很冷,但这个寒假是真的舒服。这样舒服的寒假学习似乎是一件不可能的事情,所以我继续我的游戏生涯,点开了我最近新玩不久的游戏,名字叫做阴阳师,相信有一些小伙伴应该是玩过的。不喜欢随便玩。这个游戏入门应该是比较难。我凭借着一学期的努力(不是努力打阴阳师哈)在别人开始复习期末考试的时候开始了我的阴阳师之旅,每天真的是爱不释手。别人复习我玩游戏真的美滋滋,不过要入门这个游戏真的是费脑筋(玩这个游戏时比较较真),基

2020-05-31 22:33:11 928

原创 分析一波快速排序的代码

我写这篇文章的目的主要是帮助理解快速排序中的一些小细节(大佬请无视),如果你是学过快速排序后对某些代码有些疑问或者想温习一下快速排序,这篇文章应该可以帮到你。文章的代码可能和你掌握的不一样,但原理是一样的。如果你还不知道什么是快速排序的话推荐你看这篇文章(里面10种排序都有,用java实现的)不要一去不复返啊!我也是从这篇文章里学会了多种排序,其他排序的一些细节也会陆陆续续的讲完。当你看的差不多的时候,我想你对某些细节一定有一些困惑,这可能也是我当时的困惑,虽然我不可能和你的困惑完全一样,但我相信大多数人应

2020-05-24 15:38:45 187

空空如也

空空如也

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

TA关注的人

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