自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 问答 (1)
  • 收藏
  • 关注

原创 并查集(以美团笔试为例)

什么是并查集并查集被很多OIer认为是最简洁而优雅的数据结构之一,主要用于解决一些元素分组的问题。它管理一系列不相交的集合。百度百科:并查集是一种树型的数据结构,用于处理一些不相交集合(disjoint sets)的合并及查询问题。并查集常见的操作1.初始化把每个点所在集合初始化为其自身。通常来说,这个步骤在每次使用该数据结构时只需要执行一次,无论何种实现方式,时间复杂度均为O(N)。2.查找---->路径压缩查找元素所在的集合,即根节点。3.合并将两个元素所在的集合合并为一个集合

2021-08-15 08:07:25 224

原创 spring的生命周期(spring如何为我们创建并管理容器)

本文主要以注解方式说明流程图

2021-08-06 15:18:11 176

原创 接口幂等性的解决方案(理论与订单重复提交实战)

什么是接口幂等性?接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的就像我们支付时,多次点支付按钮,只会扣一次。哪些情况需要防止用户多次点击按钮用户页面回退再次提交微服务互相调用,由于网络问题,导致请求失败。feign 触发重试机制等等解决方案:1.token机制1、服务端提供了发送 token 的接口。我们在分析业务的时候,哪些业务是存在幂等问题的, 就必须在执行业务前,先去获取 token,服务器会把 token 保存到 redis 中。2、然后调用业务接口请求

2021-07-20 16:54:58 416 1

原创 MySQL理论基础以及sql语法

本文章目标:1.了解基础理论2.必须会写sql语句(重点是查询语句)篇章一:理论基础为啥有数据库,数据库是什么?1.持久化数据到本地2.可以实现结构化查询,方便管理百度百科:数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。我的想法:文件和excel都可以存储数据,为啥还要出现数据库,我觉得更重要的是管理,数据库是结构化的集合,对于复杂的查询,文件和excel复杂切效率低,所以我们需要数据库相关概念:1、DB:数

2021-07-09 09:57:58 488

原创 链表(一锅端了数据结构与算法系列之链表)

本文结构1.链表的概念特点2.链表算法解题思路3.代码实战,从链表的定义,到基本的增删改查,到简单问题的解决,到一些思想,如快慢指针,头插法解决问题1.链表的概念特点1.链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。2.链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。3.每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。链表的效率:由于不必须按顺序存储,链表在插入的时候可以

2021-07-08 11:05:34 93

原创 springboot+zk+dubbo整合(dubbo学习之入门)

前言:dubbo学习步骤1.dubbo是什么,为什么出现这门技术,它能解决什么问题?2.如何用?3.原理和一些重点知识点(面试常问)4.造轮子(基于netty,zookeeper,kyro自实现简易的rpc)5.优化(暂时做不到,但可以有想法呀)dubbo是什么,为什么出现这门技术,它能解决什么问题?背景:随着互联网的发展,网站的规模越来越大,用户数量越来越多。单一应用架构 、垂直应用架构无法满足我们的需求,这个时候分布式服务架构就诞生了。分布式服务架构下,系统被拆分成不同的服务比如短信服务

2021-07-02 15:17:44 1392

原创 八大排序(重点快排和堆排序)

前言面试常问:你知道那些排序算法吗?你对那些排序算法比较熟悉?你能讲讲那些排序是稳定的,那些是不稳定的吗?我推荐和面试官聊快排和堆排序,文章的重点也是快排和堆排序的实现本文结构:1.排序的分类2.排序的性能3.各大排序的实现(重点为快排和堆排序)1.排序的分类2.排序的性能3.各大排序的实现(重点为快排和堆排序)说明:排序默认实现从小到大,swap()方法表示交换public static void swap(int[] arr,int i,int j){ int tem

2021-06-20 22:09:00 263

原创 栈(面试一锅端了系列之数据结构栈)

前言:本文结构1.什么是栈2.如何实现栈—>jdk如何实现栈3.栈的应用4.栈常见的算法题------>单调栈5.未完待续一切解决问题思路:栈先入后出的数据结构1.什么是栈?1)栈(Stack)是一种先入后出的线性表2)栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top)(我们在栈顶进行的插入和删除称为入栈和出栈)另一端为固定的一端,称为栈底(Bottom)。3)根据栈的定义可知,最先放

2021-06-19 23:18:54 198 5

原创 用token和redis解决跨域问题,实现用户验证

逻辑:登录发送的前端请求$.ajax({ url: 'http://localhost:8080/user/login', type: "POST", data:{"phone":phone,"password":password}, xhrFields: { withCredentials: true }, async: false, success:function(data) {

2021-02-19 18:29:47 799

原创 LRU

什么是LRULRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法。也称缓存淘汰算法如何实现哈希加双向链表来保证插入和查找的时间复杂度为o(1)哈希用于查找链表用于插入方法一:调用jdk的LinkedHashMap(这个也是双向链表)public class LRUTEST extends LinkedHashMap { private int capatity; public LRUTEST(int capatity){

2020-12-22 16:28:54 96

原创 token验证

思路: 1.后台生成唯一的token验证码简单的方式 String token= UUID.randomUUID()+"";2.然后把token存人redis数据库中,设置生存时间,假设保持登录状态30分钟3.后端发给前端前端存入全局域中localStorage.token=data.token;4.下次用户发送请求头要带上token,不然过滤器进行验证不然无法通过 headers:{token:localStorage.token},我把token作为key,用户id作为val

2020-11-12 09:52:03 191

原创 我springboot还是不会用的话,就去吃屎

springboot以前看了几次,因为没有跟着敲,没有笔记,就学了个锤子做个笔记,不然又全都还给老师啦开启一个springboot项目两种方式一.用maven开启1.直接创建maven项目2.在pom文件中导入依赖在这里插入代码片二.idea的springboot快速创建...

2020-10-20 17:05:31 182

原创 ajax跨域导致sessionId不一致

网上有很多方法,大部分相同,也是有用的,只是我被折磨了好几天,竟是Chrome浏览器同一窗口每次请求sessionId不同问题。也就是ajax跨域导致sessionId不一致我解决啦,但是我忘了Chrome设置的问题,结果一直卡在这。所有分两步1.先解决Chrome浏览器同一窗口每次请求sessionId不同问题,很简单,只是很难知道会出现这问题解决方法有时候需要用其他浏览器测试,火狐没这问题!!!!2.ajax跨域导致sessionId不一致前端加上允许发送cookie xhrFields

2020-10-09 20:50:21 543 1

原创 jvm 内存结构 垃圾回收

垃圾回收是否涉及栈内存?不会栈内存分配越大越好吗? 不是直接内存与普通比较直接内存以byteBuffer为例jvm官方文档

2020-10-02 16:10:53 100

原创 动态规划

连续子数组的最大和解题思想:动态规划(还没理解)class Solution { public int maxSubArray(int[] nums) { int res=nums[0]; for(int i=1;i<nums.length-1;i++){ nums[i]+=Math.max(nums[i-1],0); res=Math.max(nums[i],res); } r

2020-06-14 10:11:10 131

原创 堆栈和方法区

JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身栈区:1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象...

2020-03-30 20:35:12 196

原创 设计模式

资源尚硅谷韩老师图解设计模式视频配套资料网盘链接:https://pan.baidu.com/s/12QKlBku3SIPq8XeqScNWIQ 密码:ghno (里面的PDF加密了,但用火狐打开可以操作)我的笔记UML类图1)用于描述系统中的类(对象)本身的组成和类(对象)之间的各种静态关系。2)类之间的关系:依赖、泛化(继承)、实现、关联、聚合与组合。类图—依赖关系(Dep...

2020-03-29 18:14:57 399

原创 线性代数的学习网站

一个线性代数的学习网站数据库的设计在完成基本功能在去看了阿里巴巴 Java 开发手册,发现我创建的表一塌糊涂,如果按照规范去修改的话,我项目得重写,实在惭愧。(用户的邮箱是他在这个网站的唯一的标识)库名studyweb五张表(分别是user,question,answer,math,log)user表CREATE TABLE `user` ( `u_email` varchar(...

2020-02-26 19:32:59 1218 6

原创 javaweb上传踩得坑

我上传终于做好了坑一:关于文件名的问题我用servlet3.1中的自带的插件做的上传,我要实现的是上传文件名称不变//获取HTTP头信息headerInfo=(form-data; name="file" filename="文件名") String headerInfo = part.getHeader("content-disposition"); St...

2020-02-05 10:35:05 159

原创 初学springmvc

看完ssm的视频,也写了一些小dome,觉得配置真的麻烦,因为没有做相关的项目,所以我没有体验到ssm的便利,我觉得动态反射,依赖注入好厉害第一个SpringMVC入门程序1:使用框架第一步,导入相应的jar包报错NoClassDefFoundError:缺少jar2第二步配置相关的xml文件在web.xml中<!-- 配置 spring mvc 的核心控制器 -->&l...

2020-01-26 21:37:28 180

原创 Mysql

part one 基础部分标准的sql语句(一定要回的)插入Insert into (table-name )[(column name list)] values(value list)更新Update (table-name ) set column name=value[,…] [where condition]删除Delete from (table-name )[where c...

2020-01-20 15:46:03 108

原创 反射

part one 初学反射反射:框架设计的灵魂* 框架:半成品软件。可以在框架的基础上进行软件开发,简化编码* 反射:将类的各个组成部分封装为其他对象,这就是反射机制* 好处:1. 可以在程序运行过程中,操作这些对象。2. 可以解耦,提高程序的可扩展性。获取Class对象的方式:1. Class.forName(“全类名”):将字节码文件加载进内存,返回Class对象* 多用于配...

2020-01-16 17:23:33 79

原创 初学MyBatis

期末英语不知道复习什么,就二刷了MyBatis的视频,做个笔记,为以后回顾用吧SSM框架在web项目中所处的位置MyBatisMyBatis:所属dao层,简化了数据库操作,使用动态sql让程序员只需要关注sql语句MyBatis架构图:Part.1 HelloMyBatis:搭建MyBatis HelloWorld项目Part.2使用MyBatis对表进行增、删、改、查操作;注...

2020-01-04 20:43:47 145

原创 实训(java与数据库的连接)

第一阶段:在分层结构中使用JDBC访问数据库技术要点1、设计原则:单一职责的设计原则和接口分离设计原则2、数据访问层3、实体类4、数据访问类面向对象设计原则单一职责设计原则:一个类只能有一个变化点数据访问的变化点:数据源的变化所以对数据库中数据表的增删改查数据操作必须封装在数据访问类中一般而言,一张表封装一个数据访问类接口分离设计原则:类和类之间的耦合关系越低越好采用接...

2020-01-01 18:30:49 837

原创 Ajax和Json

1Ajax:异步js 和 xml异步刷新: 如果网页中某一个地方需要修改,异步刷新可以使:只刷新该需要修改的地方,而页面中其他地方 保持不变。例如:百度搜索框、视频的点赞实现:js: XMLHttpRequest对象XMLHttpRequest对象的方法:open(方法名(提交方式get|post),服务器地址,true) :与服务端建立连接send():get: send(nu...

2019-12-24 09:42:00 93

原创 分页 文件上传下载 过滤器和监听器

1.分页分页实现:5个变量(属性) 1.数据总数 100 103 (查数据库,select count(*)…) 2.页面大小(每页显示的数据条数)20 (用户自定义)3.总页数 (程序自动计算)总页数 = 100/20 =数据总数/页面大小总页数 = 103/20 = 数据总数/页面大小+1—>总页数 = 数据总数%...

2019-12-24 09:29:42 137

原创 三层架构 MVC 通用的数据操作方法 以及对BS和CS的理解

1.三层架构对三层的优化,我们加入了接口先接口-再实现类–service、dao加入接口–接口与实现类的命名规范接口:interface, 起名 I实体类Service IStudentServiceIStudentDao 实现类:implements 起名 实体类ServiceImpl StudentServiceImplStudentDaoImpl接口: I实体类...

2019-12-17 23:43:19 1382

原创 JSP基本语法和其九大内置对象,以及通过jdbc操作数据库

1:Jsp 和Servlet 可以相互转换2:JSP的页面元素: HTML java代码(脚本Scriptlet)、指令、注释a.脚本Scriptleti.<%局部变量、java语句%>ii.<%!全局变量、定义方法%>iii.<%=输出表达式 %>一般而言,修改web.xml、配置文件、java 需要重启tomcat服务但是如果...

2019-12-16 18:12:37 290

原创 校园活动平台项目(swing+mysql)

校园 活动平台项目(swing+mysql) 跟着学校工作室学习JAVASE一段时间,我们完成了了工作室的项目。项目需求: 一、 蓝点校园活动平台基本需求:1、带有登录注册功能2、管理员审核活动(决定学生会发布的活动是否通过)审核学分(决定学生申请的学分是否通过)指定学生会成员3、普通用户申请参加活动修改自己的信息申请学分签到签退4、学生会申请发布活动...

2019-09-21 16:49:24 676

原创 Tomcat 启动了但浏览器无法访问的解决办法

Tomcat 启动了但浏览器无法访问的解决办法我的Tomcat刚开始无论怎样改端口号,怎样检查配置文件,浏览器都无法访问,后来才发现是服务器没开,就是每次我点开startup. bat,就关闭了这个页面,这就导致了无法访问。如果你和我一样是个刚学java web的人,如果遇到了和我相似的问题,不妨试试点开startup. bat,然后将其最小化,这样就不会犯误关服务器的错误了。点开使其最...

2019-09-06 00:25:25 3675

空空如也

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

TA关注的人

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