自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 冒泡排序算法

冒泡排序算法冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。算法原理冒泡排序算法的原理如下:比较相邻的元素。如果第一个

2021-07-07 22:18:32 287 1

原创 结构化查询语言

结构化查询语言结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构]上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。简

2021-07-06 22:54:43 1372

原创 数据结构分析

数据结构​ 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。定义​ 数据结构是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型。简而言之,数据结构是相互之间存在一种或多种特定关系的数据元素的集合,即带

2021-07-06 22:06:54 1066

原创 LeetCode 两数之和

描述给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2输入:nums = [3,2,4], target =

2021-07-06 19:01:04 87

原创 剑指Offer JZ63数据流中的中位数

描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。示例1输入:[5,2,3,4,1,6,7,0,8]返回值:"5.00 3.50 3.00 3.50 3.00 3.50 4.00 3.50 4.00 "说明数据流里面不断吐出的是5,2,3…,则得到的平均数分别

2021-07-06 18:03:38 113

原创 商城项目-第二天

商城项目一、拦截器封装结果集1.1自定义响应结果集注解ResponseResult定义注解、设置变量(默认值为true)、添加元注解//标明该注解的生命周期是编译到class阶段@Retention(RetentionPolicy.RUNTIME)//标明该注解只能写在方法或类上面@Target({ElementType.METHOD,ElementType.TYPE})//标明该注解可以随着被定义的java文件生成到JavaDoc文档当中@Documented//标明该注解的子类的声

2021-06-04 09:37:01 87

原创 商城项目-第一天

商城项目一、统一的结果集处理1.1新建ResultEnum枚举类定义数据类型、添加构造方法、定义枚举类型()@Getterpublic enum ResultEnum { SUCCESS(200,"成功"), FAIL(500,"失败"), private Integer code; private String message; //通过构造方法来对枚举进行赋值 ResultEnum(Integer code,String message

2021-06-03 21:17:57 70

原创 两次阿里面试总结出来的登录问题,我来教你这么回答

两次阿里面试总结出来的登录问题,我来教你这么回答前言面试的时候,总是被问到登录问题,看到很多面经,基本上都是点到为止,其实关于这方面的话,面试官总是在我简单的答完之后,继续抛出一个问题或者讲明出现的一种情况,由此来判断你的深度,你的全局关,你的项目的层次等。下面我将讲一下两次面试的时候我的答案和总结First登录问题用户第一次输入用户名和密码之后,会向服务器发送一个post请求,服务器接收到请求的时候会生成一个session,然后会把sessionid复制一份,也就是JESSONID,接着

2021-04-05 19:48:42 490

转载 JWT安全登录

JWT安全登录官网:https://jwt.io/一、JWT简介1.什么是JWT# 官网描述- JSON Web Tokens are an open, industry standard [RFC 7519](https://tools.ietf.org/html/rfc7519) method for representing claims securely between two parties.- JWT.IO allows you to decode, verify and gener

2021-04-04 21:45:25 3161

原创 蚂蚁金服一面复盘

蚂蚁金服一面复盘面试官先打电话确认,问我现在的基本情况,看现在有没有时间进行面试,可能是因为之前进行过一次阿里的面试,所以减去了自我介绍,直接开整,有点不然套路出牌呀。不过由于晚上在工作室做事,脑袋还是有点懵,发挥的不是很好,复盘是为了下一次更好!正文面试官:简单问几个问题,最近在做的是流浪所,这个项目是有好几个人在做吗?(看是不是项目的核心成员什么的)我:这是我个人在做的面试官:就是纯自学,是吧?我:对面试官:有没有什么有谁要用啊?我:一般是自己用的,因为它主要是一个个人的博客系统,想自己

2021-04-03 15:17:20 859 1

原创 程序员客栈(项目简介)

程序员客栈(项目简介)Gitee地址:https://gitee.com/ShenJinyong/programmer-inn一、介绍程序员客栈的初衷是为了解决入门程序员没有一个很好的练手的项目的问题,她集齐各种市面上比较常见各种系统,比如:个人博客系统、员工管理系统和图书管理系统等。我希望她不仅能够巩固我所学知识,也希望她作为教程供后来人成长,未来的发展是希望她可以愈来愈完善,期待各位一起补充…大家好!作为一名学生党,课堂学到的技术有限,而课后自学以简单的视频为主,各种博客为辅。总而言之,言而总之

2021-03-29 20:08:47 2987 1

原创 剑指Offer_简单_JZ5_用两个栈实现队列

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。分析确定stack1为入栈,stack2为出栈(即入数据永远都往stack1中入,出数据永远都从stack2中出,但是当stack2为空时,出数据得从stack1中倒数据),因为将栈中的元素倒一遍就将数据倒序了,就可以达到队列的效果。解题思路import java.util.Stack;public class Solution { Stack<Integer> stack1 = n

2021-03-29 11:41:42 61

原创 剑指Offer_简单_JZ6_旋转数组中最小的数字

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。示例1输入[3,4,5,1,2]输出1解题思路import java.util.ArrayList;public class Solution { public int minNumberInRotateArray(int [] array) { if(array.lengt

2021-03-29 11:39:09 63

原创 剑指Offer_入门_JZZ_斐波那契数列

剑指Offer_入门_JZZ_斐波那契数列题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n≤39。示例1输入4,返回值3基本定义斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368斐波那契数列特别指出:第0项是0,第1项是第一个1

2021-03-29 10:54:14 387

原创 阿里一面复盘(凉经)

阿里一面复盘1.开场白面试官:你先做一个简单的自我介绍我:OK,我叫沈金勇,软件工程专业,目前大三。在大学,主修的课程是JAVA、MYSQL、LINUX。然后我其他的技术栈的话,在简历上也有提到。到目前为止的话,我做过的JAVA类项目一个是五个。一个JAVAWeb项目,它是一个员工管理系统,smbms。然后还有两个是SSM项目。一个是ssmBuild是一个图书管理系统,还有一个是book项目,它也是一个书城项目,主要是在原来书城项目增加了一个下订单的功能,就是购物车的功能。然后还有两个是SpringB

2021-03-12 21:30:31 809 4

原创 JAVA面试准备04——数据结构

JAVA面试准备04——数据结构1.栈栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶(top)。它是后进先出(LIFO)的。对栈的基本操作只有push(进栈)和pop(出栈)两种,前者相当于插入,后者相当于删除最后的元素。2.队列队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。3.链表链表是一种数

2021-03-07 21:34:45 93

原创 JAVA面试准备03——JAVA网络

JAVA面试准备03——JAVA网络1.网络7层架构7层模型主要包括:物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的模数转换与数模转换)。这一层的数据叫做比特。数据链路层:主要将从物理层接收的数据进行MAC地址(网卡的地址)的封装与解封装。常把这一层的数据叫做帧。在这一层工作的设备是交换机,数据通过交换机来传输。网络层:主要将从下层接收到的数据进

2021-03-07 21:26:07 129

原创 JAVA面试准备02——JAVA算法

JAVA面试准备02——JAVA算法1.二分查找算法又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。public class BinarySearch { public static void main(String[] args) { int array[] = {1,3,5,7,

2021-03-07 14:38:38 310

原创 JAVA面试准备01——JAVA集合

JAVA面试准备01——JAVA集合1.接口继承关系和实现集合类存放于Java.util包中,主要有3种:set(集)、list(列表包含Queue)和map(映射)。Collection:Collection是集合List、Set、Queue的最基本的接口。Iterator:迭代器,可以通过迭代器遍历集合中的数据Map:是映射表的基础接口2.ListJava的List是非常常用的数据类型。List是有序的Collection。Java List一共三个实现类:分别是ArrayList、V

2021-03-06 19:38:20 114

原创 深化MyBatisPlus

深化MyBatisPlus1.MyBatisPlus概述基础知识:MyBatis、Spring、SpringMVC三件套:JPA 、 tk-mapper、MyBatisPlusMyBatisPlus可以节省我们大量工作时间,所有的CRUD代码它都可以自动化完成!偷懒的神器!1.1简介是什么? MyBatis 本来就是简化 JDBC 操作的!MyBatis Plus官网:https://mp.baomidou.com/MyBatis Plus,简化 MyBatis !1.2特性无侵入:

2021-03-03 16:53:45 192 1

原创 零基础学习Git

零基础学习Git1.版本控制1.1什么是版本控制版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。实现跨区域多人协同开发追踪和记载一个或者多个文件的历史记录组织和保护你的源代码和文档统计工作量并行开发、提高开发效率跟踪记录整个软件的开发过程减轻开发人员的负担,节省时间,同时降低人为错误简单说就是用于管理多人协同开发项目的技术。没有进行版本控制或者版本控制本身缺

2021-03-02 22:24:14 192

原创 git和github的基本入门

git和github的基本入门1.git和github的基本概念git:Git是一个免费、开源的版本控制软件版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统。系统具体功能:记录文件的所有历史变化、随时可以恢复到如何一个历史状态、多人协作开发或修改、 错误恢复版本控制工具应该具备的功能:协同修改、数据备份、版本控制、权限控制、历史记录、分支管理版本控制工具:集中式版本控制工具:svn(单点故障)分布式版本控制工具:Gitgithub:

2021-03-02 21:11:38 106

原创 Linux环境安装

Linux环境安装前言:安装环境一般有三种方式rmp(jdk在线发布一个SpringBoot项目)解压缩(tomcat,启动并通过外网访问,发布网站)yum在线安装(docker,直接安装运行跑起来docker可以)!1.JDK安装1.1注意事项ubuntu不能直接使用rpm安装下载jdk的版本需要对应服务器的版本!!!1.2安装步骤1.下载jdk下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-

2021-03-02 16:43:45 236

原创 从零带你学Linux

从零带你学Linux1.linux概述这里是基于Java全栈开发的Linux,而不是运维级别!我们为什么要在这个时间学习Linux?Java全栈开发的我们要掌握哪些知识?需要准备什么工作?Java开发之路:JavaSE、MySQL、前端(HTML、Css、JS)、JavaWeb、SSM框架(很多人就开始找工作)、SpringBoot、Vue、SpringCloud~消息队列(Kafka、RabbitMQ、RockeetMQ)缓存(Redis)搜索引擎(ElasticSearch)集群分布式(

2021-03-02 14:07:09 639

原创 带你初步了解云上服务器

带你初步了解云上服务器1.为什么程序员都需要一个自己的服务器1、作为一个程序员,必须要发布自己的网站和项目2、联系Linux操作3、自己的远程仓库、远程数据库、远程tomcat…搭建在服务器上4、练习、Linux进行任意的环境部署操作!5、…2.服务器如何购买华为云、阿里云、腾讯云尽量趁打折时候购买,便宜!学生机:如果是学生或者24岁的小伙伴,可以购买学生机,才100多元一年香港服务器可以避免备案,但是尽量不要自己挂VPN,会被封!3.买完服务器之后该做什么服务器就是一个远程的L

2021-03-01 22:23:15 404 4

原创 手把手分析开源项目

手把手分析开源项目1.学习的方式不知道这个代码怎么来的这个代码跑不起来这个项目对我们有什么帮助,不会模块化分析任何一个开源项目,都可以让自己得到提升!2.观察开源项目el-admin文档介绍:https://el-admin.vip/guide/预览地址:https://el-admin.xin账号密码:admin / 1234563.开源项目下载3.1下载地址后端:https://gitee.com/elunez/eladmin前端:https://gitee.com/el

2021-03-01 20:51:19 186

原创 分布式Dubbo+Zookeeper+SpringBoot

分布式Dubbo+Zookeeper+SpringBoot1.分布式理论1.1什么是分布式系统?在《分布式系统原理与范型》一书中有如下定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。分布式系统(distributed system)是建立在网络之上的软件系统

2021-03-01 18:51:02 127

原创 富文本编辑器

富文本编辑器1.简介思考:我们平时在博客园,或者CSDN等平台进行写作的时候,有同学思考过他们的编辑器是怎么实现的吗?在博客园后台的选项设置中,可以看到一个文本编辑器的选项:CuteEditorTinyMCE(推荐)TextBoxMarkdown其实这个就是富文本编辑器,市面上有许多非常成熟的富文本编辑器,比如:Editor.md——功能非常丰富的编辑器,左端编辑,右端预览,非常方便,完全免费官网:https://pandao.github.io/editor.md/

2021-03-01 12:00:44 417

原创 Java中常见的三种任务

Java中常见的三种任务前言:在我们的工作中,常常会用到异步处理任务,比如我们在网站上发送邮件,后台会去发送邮件,此时前台会造成响应不动,直到邮件发送完毕,响应才会成功,所以我们一般会采用多线程的方式去处理这些任务。还有一些定时任务,比如需要在每天凌晨的时候,分析一次前一天的日志信息。还有就是邮件的发送,微信的前身也是邮件服务呢?这些东西都是怎么实现的呢?其实SpringBoot都给我们提供了对应的支持,我们上手使用十分的简单,只需要开启一些注解支持,配置一些配置文件即可!那我们来看看吧~1.异步任务

2021-02-28 23:12:53 717

原创 Swagger

Swagger学习目标:了解Swagger的作用和概念了解前后端分离在SpringBoot中集成Swagger1.Swagger简介1.1前后端分离Vue+SpringBoot后端时代:前端只用管理静态页面;html==>后端。模板引擎 JSP=后端是主力前后端分离时代:后端:后端控制层,服务层,数据访问层【后端团队】前端:前端控制层,视图层【前端工程】伪造后端数据,json。已经存在了,不需要后端,前端工程依旧能够跑起来外链模板:https:

2021-02-28 21:51:38 162

原创 八步简单分析开源项目

八步简单分析开源项目前言:修修改改就可以变成自己的项目,友善白嫖~一、访问github网站https://github.com/WinterChenS/my-site二、下载解压,并用IDEA打开三、修改application-dev.yml修改连接数据库:名称、用户名和密码四、创建对应的数据库数据库名称(mysite)、基字符集(utf8)、数据库排序规则(utf8_general_ci)五、执行sql语句六、启动主启动类七、前台访问http://localhost:8080/八

2021-02-28 20:24:20 131

原创 SpringBoot整合Shiro

SpringBoot整合Shiro1.简介1.1什么是Shiro?Apache Shiro是一个强大且易用的Java安全框架执行身份验证、授权、密码和会话管理使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。官网:http://shiro.apache.org/github:https://github.com/apache/shiro1.2有哪些功能?Authentication:身份认证、登录

2021-02-28 19:02:21 411

原创 SpringBoot整合SpringSecurity

SpringBoot整合SpringSecurity前言:在web开发中,安全第一位!过滤器,拦截器!功能性需求:否做网站:安全应该在什么时候考虑?设计之初!漏洞,隐私泄露~架构一旦确定~Shiro、SpringSecurity:很像~除了类不一样,名字不一样认证,授权(vip1、vip2、vip3)功能权限访问权限菜单权限拦截器、过滤器:大量的原生代码~1.安全简介在 Web 开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初期

2021-02-27 21:08:17 232

原创 Spring整合JDBC、Druid、MyBatis

Spring整合JDBC、Druid、MyBatis1.聊聊该如何写一个网站1.1网站1.前端模板:别人写好的,我们拿来改成自己需要的框架、组件:自己手动组合拼接!BootStarp、Layui、semantic-ui栅格系统导航栏侧边栏表单2.设计数据库3.独立化工程,前端自动运行4.数据接口对接:json,对象 all in one5.前后端联调测试1.2要求有一套自己熟悉的后台模板:工作必要(x-admin)前端界面:至少自己能够通过前端框架,组合出来一个网

2021-02-27 14:06:24 186

原创 员工管理系统(伪造数据库版)

员工管理系统(伪造数据库版)1.准备工作1.1新建Springboot项目太过简单,略1.2导入页面在templates文件夹下新建四个页面index.html<!DOCTYPE html><html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="viewport" content

2021-02-26 19:34:36 1085

原创 SpringBoot Web开发

SpringBoot Web开发1.前言之前:jarweb:webapp特点:自动装配使用步骤:创建应用、选择模块、导入依赖springboot到底帮我们配置了什么?我们能不能进行修改?能修改哪些东西?能不能扩展?xxxSuyoConfiguration:向容器中自动配置组件xxxProperties:自动配置类,装配配置文件中自定义的一些内容要解决的问题:导入静态资源首页jsp,模板引擎Thymeleaf装配扩展SpringMVCCRUD拦截器国际化2.静态资源

2021-02-25 12:48:34 133

原创 SpringBoot理论知识

SpringBoot理论知识1.微服务阶段1.1回顾和展望javase:OOPmysql:持久化html+css+jquery+框架:视图,框架不熟练,css不好javaweb:独立开发MVC三层架构的网站(原始)ssm:企业级框架简化了我们的开发流程,配置也开始较为复杂war:tomcat运行spring再简化:SpringBoot;内嵌tomcat;微服务架构!服务越来越多:SpringCloud新服务架构:服务网格1.2SpringBootspringBoot是什么配置如

2021-02-24 20:31:30 731

原创 Vue实践

Vue实践1.第一个Vue-CLI程序1.1介绍Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供:通过 @vue/cli 实现的交互式的项目脚手架。通过 @vue/cli + @vue/cli-service-global 实现的零配置原型开发。一个运行时依赖 (@vue/cli-service),该依赖:可升级;基于 webpack 构建,并带有合理的默认配置;可以通过项目内的配置文件进行配置;可以通过插件进行扩展。一个丰富的官方插件集合,集成了前端生态

2021-02-21 13:35:22 1091

原创 Vue深入了解组件

Vue深入了解组件1.组件注册1.1组件名在注册一个组件的时候,我们始终需要给它一个名字。比如在全局注册的时候我们已经看到了:Vue.component('my-component-name', { /* ... */ })该组件名就是 Vue.component 的第一个参数。你给予组件的名字可能依赖于你打算拿它来做什么。当直接在 DOM 中使用一个组件 (而不是在字符串模板或单文件组件) 的时候,我们强烈推荐遵循 W3C 规范中的自定义组件名 (字母全小写且必须包含一个连字符)。这会帮助你

2021-02-20 11:16:49 290

原创 Vue基础

Vue基础1.安装【说明】IDEA可以安装Vue的插件注意:Vue不支持IE8及以下版本,运维Vue是用来IE8无法模拟的ECMAScript 5 特性,但它支持所有兼容ECMAScript5的浏览器开发版本包含了完整的警告和调试模式:https://vuejs.org/js/vue.js删除了警告:https://vuejs.org/js/vue.min.jsCDN2.介绍2.1Vue.js 是什么Vue (读音 /vjuː/,类似于 view) 是一套用于构

2021-02-19 23:11:43 296

空空如也

空空如也

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

TA关注的人

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