![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 82
流浪所
这个作者很懒,什么都没留下…
展开
-
数据结构分析
数据结构 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。定义 数据结构是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型。简而言之,数据结构是相互之间存在一种或多种特定关系的数据元素的集合,即带原创 2021-07-06 22:06:54 · 1061 阅读 · 0 评论 -
两次阿里面试总结出来的登录问题,我来教你这么回答
两次阿里面试总结出来的登录问题,我来教你这么回答前言面试的时候,总是被问到登录问题,看到很多面经,基本上都是点到为止,其实关于这方面的话,面试官总是在我简单的答完之后,继续抛出一个问题或者讲明出现的一种情况,由此来判断你的深度,你的全局关,你的项目的层次等。下面我将讲一下两次面试的时候我的答案和总结First登录问题用户第一次输入用户名和密码之后,会向服务器发送一个post请求,服务器接收到请求的时候会生成一个session,然后会把sessionid复制一份,也就是JESSONID,接着原创 2021-04-05 19:48:42 · 487 阅读 · 0 评论 -
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 · 3158 阅读 · 0 评论 -
蚂蚁金服一面复盘
蚂蚁金服一面复盘面试官先打电话确认,问我现在的基本情况,看现在有没有时间进行面试,可能是因为之前进行过一次阿里的面试,所以减去了自我介绍,直接开整,有点不然套路出牌呀。不过由于晚上在工作室做事,脑袋还是有点懵,发挥的不是很好,复盘是为了下一次更好!正文面试官:简单问几个问题,最近在做的是流浪所,这个项目是有好几个人在做吗?(看是不是项目的核心成员什么的)我:这是我个人在做的面试官:就是纯自学,是吧?我:对面试官:有没有什么有谁要用啊?我:一般是自己用的,因为它主要是一个个人的博客系统,想自己原创 2021-04-03 15:17:20 · 859 阅读 · 1 评论 -
阿里一面复盘(凉经)
阿里一面复盘1.开场白面试官:你先做一个简单的自我介绍我:OK,我叫沈金勇,软件工程专业,目前大三。在大学,主修的课程是JAVA、MYSQL、LINUX。然后我其他的技术栈的话,在简历上也有提到。到目前为止的话,我做过的JAVA类项目一个是五个。一个JAVAWeb项目,它是一个员工管理系统,smbms。然后还有两个是SSM项目。一个是ssmBuild是一个图书管理系统,还有一个是book项目,它也是一个书城项目,主要是在原来书城项目增加了一个下订单的功能,就是购物车的功能。然后还有两个是SpringB原创 2021-03-12 21:30:31 · 808 阅读 · 4 评论 -
JAVA面试准备04——数据结构
JAVA面试准备04——数据结构1.栈栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶(top)。它是后进先出(LIFO)的。对栈的基本操作只有push(进栈)和pop(出栈)两种,前者相当于插入,后者相当于删除最后的元素。2.队列队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。3.链表链表是一种数原创 2021-03-07 21:34:45 · 93 阅读 · 0 评论 -
JAVA面试准备03——JAVA网络
JAVA面试准备03——JAVA网络1.网络7层架构7层模型主要包括:物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的模数转换与数模转换)。这一层的数据叫做比特。数据链路层:主要将从物理层接收的数据进行MAC地址(网卡的地址)的封装与解封装。常把这一层的数据叫做帧。在这一层工作的设备是交换机,数据通过交换机来传输。网络层:主要将从下层接收到的数据进原创 2021-03-07 21:26:07 · 129 阅读 · 0 评论 -
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 · 302 阅读 · 0 评论 -
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 阅读 · 0 评论 -
深化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 · 187 阅读 · 1 评论 -
git和github的基本入门
git和github的基本入门1.git和github的基本概念git:Git是一个免费、开源的版本控制软件版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统。系统具体功能:记录文件的所有历史变化、随时可以恢复到如何一个历史状态、多人协作开发或修改、 错误恢复版本控制工具应该具备的功能:协同修改、数据备份、版本控制、权限控制、历史记录、分支管理版本控制工具:集中式版本控制工具:svn(单点故障)分布式版本控制工具:Gitgithub:原创 2021-03-02 21:11:38 · 105 阅读 · 0 评论 -
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 · 233 阅读 · 0 评论 -
从零带你学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 · 633 阅读 · 0 评论 -
带你初步了解云上服务器
带你初步了解云上服务器1.为什么程序员都需要一个自己的服务器1、作为一个程序员,必须要发布自己的网站和项目2、联系Linux操作3、自己的远程仓库、远程数据库、远程tomcat…搭建在服务器上4、练习、Linux进行任意的环境部署操作!5、…2.服务器如何购买华为云、阿里云、腾讯云尽量趁打折时候购买,便宜!学生机:如果是学生或者24岁的小伙伴,可以购买学生机,才100多元一年香港服务器可以避免备案,但是尽量不要自己挂VPN,会被封!3.买完服务器之后该做什么服务器就是一个远程的L原创 2021-03-01 22:23:15 · 401 阅读 · 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 · 185 阅读 · 0 评论 -
分布式Dubbo+Zookeeper+SpringBoot
分布式Dubbo+Zookeeper+SpringBoot1.分布式理论1.1什么是分布式系统?在《分布式系统原理与范型》一书中有如下定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。分布式系统(distributed system)是建立在网络之上的软件系统原创 2021-03-01 18:51:02 · 127 阅读 · 0 评论 -
富文本编辑器
富文本编辑器1.简介思考:我们平时在博客园,或者CSDN等平台进行写作的时候,有同学思考过他们的编辑器是怎么实现的吗?在博客园后台的选项设置中,可以看到一个文本编辑器的选项:CuteEditorTinyMCE(推荐)TextBoxMarkdown其实这个就是富文本编辑器,市面上有许多非常成熟的富文本编辑器,比如:Editor.md——功能非常丰富的编辑器,左端编辑,右端预览,非常方便,完全免费官网:https://pandao.github.io/editor.md/原创 2021-03-01 12:00:44 · 413 阅读 · 0 评论 -
Java中常见的三种任务
Java中常见的三种任务前言:在我们的工作中,常常会用到异步处理任务,比如我们在网站上发送邮件,后台会去发送邮件,此时前台会造成响应不动,直到邮件发送完毕,响应才会成功,所以我们一般会采用多线程的方式去处理这些任务。还有一些定时任务,比如需要在每天凌晨的时候,分析一次前一天的日志信息。还有就是邮件的发送,微信的前身也是邮件服务呢?这些东西都是怎么实现的呢?其实SpringBoot都给我们提供了对应的支持,我们上手使用十分的简单,只需要开启一些注解支持,配置一些配置文件即可!那我们来看看吧~1.异步任务原创 2021-02-28 23:12:53 · 716 阅读 · 0 评论 -
Swagger
Swagger学习目标:了解Swagger的作用和概念了解前后端分离在SpringBoot中集成Swagger1.Swagger简介1.1前后端分离Vue+SpringBoot后端时代:前端只用管理静态页面;html==>后端。模板引擎 JSP=后端是主力前后端分离时代:后端:后端控制层,服务层,数据访问层【后端团队】前端:前端控制层,视图层【前端工程】伪造后端数据,json。已经存在了,不需要后端,前端工程依旧能够跑起来外链模板:https:原创 2021-02-28 21:51:38 · 161 阅读 · 0 评论 -
八步简单分析开源项目
八步简单分析开源项目前言:修修改改就可以变成自己的项目,友善白嫖~一、访问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 阅读 · 0 评论 -
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 · 410 阅读 · 0 评论 -
SpringBoot整合SpringSecurity
SpringBoot整合SpringSecurity前言:在web开发中,安全第一位!过滤器,拦截器!功能性需求:否做网站:安全应该在什么时候考虑?设计之初!漏洞,隐私泄露~架构一旦确定~Shiro、SpringSecurity:很像~除了类不一样,名字不一样认证,授权(vip1、vip2、vip3)功能权限访问权限菜单权限拦截器、过滤器:大量的原生代码~1.安全简介在 Web 开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初期原创 2021-02-27 21:08:17 · 231 阅读 · 0 评论 -
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 阅读 · 0 评论 -
员工管理系统(伪造数据库版)
员工管理系统(伪造数据库版)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 · 1082 阅读 · 0 评论 -
SpringBoot Web开发
SpringBoot Web开发1.前言之前:jarweb:webapp特点:自动装配使用步骤:创建应用、选择模块、导入依赖springboot到底帮我们配置了什么?我们能不能进行修改?能修改哪些东西?能不能扩展?xxxSuyoConfiguration:向容器中自动配置组件xxxProperties:自动配置类,装配配置文件中自定义的一些内容要解决的问题:导入静态资源首页jsp,模板引擎Thymeleaf装配扩展SpringMVCCRUD拦截器国际化2.静态资源原创 2021-02-25 12:48:34 · 133 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 1087 阅读 · 0 评论 -
Vue深入了解组件
Vue深入了解组件1.组件注册1.1组件名在注册一个组件的时候,我们始终需要给它一个名字。比如在全局注册的时候我们已经看到了:Vue.component('my-component-name', { /* ... */ })该组件名就是 Vue.component 的第一个参数。你给予组件的名字可能依赖于你打算拿它来做什么。当直接在 DOM 中使用一个组件 (而不是在字符串模板或单文件组件) 的时候,我们强烈推荐遵循 W3C 规范中的自定义组件名 (字母全小写且必须包含一个连字符)。这会帮助你原创 2021-02-20 11:16:49 · 289 阅读 · 0 评论 -
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 · 292 阅读 · 0 评论 -
Axios简单使用
Axios简单使用Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。1特点从浏览器中创建 XMLHttpRequests从 node.js 创建 http 请求支持 Promise API拦截请求和响应转换请求数据和响应数据取消请求自动转换 JSON 数据客户端支持防御 XSRF2data.json{ "name": "沈金勇", "url": "https://github.com/ShenJinyong",原创 2021-02-19 23:02:21 · 111 阅读 · 0 评论 -
大前端–Vue前端体系、前后端分离
大前端–Vue前端体系、前后端分离前言Soc:关注点分离原则HTML+CSS+JS(视图):给用户看,刷新后台给的数据网络通信:axios页面跳转:vue-router状态管理:vuexVue-UI:ICE1概述Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,V原创 2021-02-18 21:44:18 · 1200 阅读 · 1 评论 -
整合SSM
整合SSM1.环境要求1.1环境IDEAMySQL 5.7.19Tomcat 9Maven 3.61.2要求需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识;1.3数据库环境创建一个存放书籍数据的数据库表CREATE DATABASE `ssmbuild`;USE `ssmbuild`;DROP TABLE IF EXISTS `books`;CREATE TABLE `books` (`bookID` INT(10)原创 2021-02-17 22:24:10 · 94 阅读 · 0 评论 -
SpringMVC扩展
SpringMVC扩展前后端分离时代:后端部署后端,提供接口,提供数据; json前端独立部署,负责渲染后端的数据;1.JSON1.1什么是JSON?JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在 JavaS原创 2021-02-16 21:56:28 · 213 阅读 · 0 评论 -
SpringMVC
SpringMVCSSM:Mybatis+Spring+SpringMVC MVC三层架构JavaSE:认真学习,老师带,入门快JavaWeb:认真学习,老师带,入门快SSM框架:研究官方文档,锻炼自学能力,锻炼笔记能力,锻炼项目能力SpringMVC+Vue+SpringBoot+SpringCloud+LinuxSpring:IOC和AOPSpringMVC:SpringMVC的执行流程SpringMVC:SSM框架整合!参考链接:https://mp.weixin.qq.com/mp原创 2021-02-15 11:45:07 · 94 阅读 · 2 评论 -
Spring
Spring1.Spring1.1简介Spring:春天—>给软件行业带来了春天2002.首次推出了Spring框架的雏形:interface21框架Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24号,发布了1.0正式版Rod Johson,Spring Framework创始人,著名作者。很难想象Rod Johnson的学历,真的让好多人大吃一惊,他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。Spr原创 2021-02-11 22:39:17 · 95 阅读 · 2 评论 -
Mybatis
Mybatis环境:JDK1.8Mysql5.7maven3.6.3IDEA回顾:JDBCMysqlJava基础MavenJunitSSM框架都是有配置文件的。学习的最好方式:官网文档。官方文档:https://mybatis.org/mybatis-3/zh/getting-started.html1.简介1.1什么是 MyBatis?MyBatis 是一款优秀的持久层框架它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC原创 2021-02-09 14:13:26 · 148 阅读 · 0 评论 -
JavaWeb功能扩展
JavaWeb功能扩展1.文件上传【文件上传的注意事项】为保证服务器安全,上传文件应该放在外界无法直接访问的目录下,比如WEB-INF目录下为防止文件覆盖的现象发生,要为上传的文件长生一个唯一的文件名要限制上传文件的最大值可以限制上传文件的类型,在收到上传文件名是,判断后缀名是否合法1.1依赖包处理上传的文件,一般都需要通过流来获取,我们可以使用request.getInputStream(),原生态的文件上传流获取,十分麻烦但是我们建议使用Apache的文件上传组件来实现,commo原创 2021-02-06 22:33:54 · 303 阅读 · 0 评论 -
JavaWeb
JavaWebJava Web1.基本概念1.1前言Web开发:web,网页的意思,www.baidu.com静态webhtml、css提供给所有人看的数据始终不会发生变化!动态web淘宝,几乎是所有的网站提供给所有人看的数据会发生变化,每个人在不同的事件、不同的地点看到的信息各部相同技术栈:Servlet/JSP、ASP、PHP在java中,动态web的资源开发的技术统称为JavaWeb1.2web应用程序web应用程序:可以提供浏览器访问的程序xxx.h原创 2021-02-04 13:47:53 · 182 阅读 · 0 评论 -
MySQL
MySQLJavaEE:企业级Java开发 Web前端(页面:展示,数据)后台 (连接点:连接数据库JDBC,连接前端(控制试图的跳转和给前端传递数据))数据库(存数据,Txt,Excel,word)只会嘻嘻额代码,码农;学好数据库,基本混饭吃操作系统,数据结构域算法!当一个不错的程序猿!离散数学、数字电路、体系结构、编译原理+实战经验,高级程序猿、高级程序猿!1.初识Mysql1.1为什么要学习数据库岗位需求现在的世界,大数据时代~得数据者得天下被迫需求:存数据 去IOE数原创 2021-01-31 22:37:49 · 352 阅读 · 0 评论 -
JavaScript
JavaScript1.什么是JavaScript1.1概述JavaScript是一门世界上最流行的脚本语言Java、JavaScript从构想到出来只用了10天!!!一个合格的后端人员,必须要精通JavaScriptECMAScript它可以理解为是JavaScript的一个标准1.2历史最新版本已经到ES6版本~但是大部分浏览器还只停留在支持es5代码上!开发环境与线上环境,版本不一致核心:关键字、变量、流程控制、对象、数组、结构…2.快速入门2.1引入JavaScript原创 2021-01-29 21:27:41 · 450 阅读 · 0 评论