- 博客(35)
- 收藏
- 关注
原创 常用八大排序算法----Java版实现
常用八大排序算法前言冒泡排序选择排序前言此篇来介绍常用的排序算法Java版实现,JavaScript版请戳这里。其实网上的介绍讲解汗牛充栋,并且有很多优秀的文章,写一篇的目的是为了加深下自己的印象,还有融入点自己的想法。当笔记使啦~注:交换排序以从小到大排序为主;冒泡排序冒泡排序属于相对较简单的排序,过程如下:每次遍历【数组】一遍,确定出最大的那个数放在数组的最右边,当然确定的这个...
2020-02-15 15:03:47 243
原创 八大常用排序算法----JavaScript版实现
常用八大排序算法前言前言此篇来介绍常用的排序算法JavaScript版实现,Java版请戳这里【含简略讲解】。其实网上的介绍讲解汗牛充栋,并且有很多优秀的文章,写此篇的目的是为了加深下自己的印象,还有融入点自己的想法。当笔记使啦~注:排序元素顺序以从小到大排序为主;var arr = [7,4,5,3,6,2,1,9,0];var arr1 = new Array(100000);...
2020-02-15 15:03:02 290
原创 二叉树的层级遍历/锯齿遍历--Java版
二叉树的层级遍历/锯齿遍历--Java版前言题目解题思路/知识点showCode创建节点对象创建树对象创建测试类层序遍历锯齿遍历题目解体思路源码(测试类)结语前言今天在力扣上看到这样一道题,感觉挺有趣,而后几经挫折解出来,结果和其他博主的有异同~题目给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null...
2019-12-11 20:36:49 559
原创 docker分离部署springboot并外置静态文件
docker分离部署springboot并外置静态文件前言springboot如何外置静态文件springboot默认的静态文件配置改变默认配置上线部署环境步骤一步骤二步骤三步骤四总结前言前段时间刚刚完成了自己写的一个小门户网站的练习,其中项目静态文件是外置的,自己写的配置文件,在windows测试环境运行正常,上线后(linux)崩掉了,静态文件404。耗费了半天时间才弄出来【能力太菜】,...
2019-11-20 20:23:04 1717
原创 Java前缀表达式、中缀表达式、后缀表达式
Java前缀表达式、中缀表达式、后缀表达式前言示例中缀表达式转后缀表达式中缀表达式转前缀表达式与转后缀的区别代码实现计算前缀表达式总结前言前两天有兴趣看看一些老算法,自己动手做了做,记一下过程中的小问题。基础知识:表达式:一个通用的算术或逻辑公式表示方法。中缀表达式是一个通用的算术或逻辑公式表示方法, 操作符是以中缀形式处于操作数的中间(例:3 + 4),中缀表达式是人们常用的算术表示...
2019-11-16 12:57:14 822
原创 ES5关于闭包/作用域的理解
ES5关于闭包/作用域的理解作用域理解:分类:作用举例如何判断作用域的个数作用域的作用作用域与执行上下文的区别区别1区别2联系作用域理解:就是一块"地盘",,一个代码所在的区域它是静态的(相对于上下文对象),在编写代码时就确定了分类:全局作用域函数作用域ES5没有块作用域(ES6有了)作用隔离变量,不同作用域下同名变量不会有冲突举例if(true){ v...
2019-10-27 21:01:58 605
原创 正则表达式巧入门
正则表达式前言:两种模糊匹配横向模糊匹配贪婪匹配惰性匹配纵向模糊匹配前言:本文介绍正则表达式入门的一些知识,用来做笔记用的,很系统~正则表达式是匹配模式,要么匹配字符,要么匹配位置。这是正则表达式核心。匹配字符是一个个扫描,类似于用for循环一样。 当然,你可以任意定义它的匹配方式。注:正则是使用JavaScript写的,阅读本文需要一定的时间和耐心。两种模糊匹配如果正则只有精确匹配...
2019-10-14 21:26:50 268
原创 基于内存版的JS原型链解析(超详细)
JS原型链解析思维导图前言函数的prototype属性显式原型隐式原型显式原型的生成隐式原型的生成Java程序员的理解函数对象实例对象ObjectJavaScript原型链在内存中的展现形式思维导图前言网上扣的图,哈哈。不太了解原型链的同学乍一看可能有点蒙,不过,没关系,读完此篇文章,我们再回头来看~之前有转过原型链的文章,当时自己也是一知半解。所以自己又重新梳理了一遍!函数的pr...
2019-10-09 09:41:36 333
原创 springsecurity 实现强制用户下线-前后端分离
强制用户下线前言设计思路查找资料自己手写缓存过滤器HttpSession监听器强制用户下线结尾前言最近相对较忙,没有更新博客,正值假期,赶紧抽空写两篇。也是遇到的项目上的需求:管理员变更了用户的权限,但是用户如果系统在线的话,有些权限功能仍旧可以使用。对此,强制用户下线的需求来了。括弧:由于系统预期为一对一的单服务系统,没有使用redis做缓存。所以对强制用户下线的功能带来了一些麻烦。设计思...
2019-10-07 12:02:24 5876 2
原创 spring-security-用户登陆验证流程
用户登陆验证流程1、登陆验证流程图如上图,spring security 的基本登陆验证:相关介绍:a、UsernamePasswordAuthenticationFilter 是基本的过滤链,实际不是默认的,BasicAuthenticationFilter是其默认的验证登陆的过滤链。b、ExceptioTransactionFilter这个过滤器是专门捕获FilterSecurit...
2019-09-29 22:07:20 2105
原创 Java实现对多叉树的操作
Java多叉树前言我们实现下面这颗树Show Code?节点对象多叉树对象测试测试代码测试效果前言前段时间遇到的一个需求,前台需要实现一个类似于思维导图的页面,并且就一个页面,项目不是思维导图项目。所以打算以json数据的形式在数据库存储数据【MySql中对json数据的操作支持】后台以多叉树的结构做缓存【因为就用到一个页面,数据较少】前端只提供渲染与数据交互下面贴出实现的小demo...
2019-09-01 21:06:17 5475
原创 TypeScript-类继承-接口-泛型
TypeScript-类继承-接口实现类继承的简单例子定义接口接口的继承接口的多继承实现多个接口泛型使用泛型函数多重泛型实现类继承的简单例子class Human{ static totalPeople = 0; constructor(protected name: string, private age: number){ Human.totalPeople...
2019-08-31 10:55:34 5698
原创 TypeScript入门
TypeScript入门简介安装与HelloWorld类型any类型原生类型组合类型Object类型泛型定义类简介TypeScript是一门开源编程语言,由Microsoft开发维护。他由此发布于2012年10月。TypeScript是ECMAScript的超集,它支持JavaScript的所有语法语义,并且在此之上提供了更多的额外的特性,例如静态类型和更丰富的语法。安装与HelloWorl...
2019-08-30 20:54:26 168
原创 前后端分离-利用Swagger生成接口文档
利用Swagger生成接口文档相关介绍(Swagger)配置过程源码见文章尾pom.xml配置Swagger配置WebMvc编写接口查看效果源码相关介绍(Swagger)Swagger官网[官网](https://swagger.io/)是一款让你更好的书写API文档的规范且完整框架。提供描述、生产、消费和可视化RESTful Web Service。是由庞大工具集合支撑...
2019-08-29 14:01:44 2211
原创 手动实现一个HashTable
数据结构hashTable结构图实现思路Show me Code?节点对象链表对象Hash对象测试显示效果总结hashTable结构图这里扣了一张HashMap的图 @!@实现思路我们以分解的思路去分析一下这张图我们将其分为3个部分:HashTable对象【红色部分】数组对象【浅蓝部分—(应该是浅蓝色)】链表部分【浅紫色部分】这三个部分分别以对象的思想进行代码编写Sh...
2019-08-28 21:59:38 682
原创 HashMap源码分析
Java集合框架HashMap结构图底层结构及概述重要的成员变量Node节点构造函数重要的函数Putresize方法总结HashMap结构图 基于jdk1.8的源码分析底层结构及概述首先来看看HashMap的底层结构,它是一个数组和多条链表组成HashMap通过散列函数实现对元素的快速插入:1、每一个元素都会通过散列函数进行计算,计算返回数组下标的索引...
2019-08-28 13:32:17 191
原创 ArrayList源码分析
ArrayList的底层结构即相关介绍 基于jdk1.8 的源码分析ArrayList底层维护一个Object类型的数组,以及modCount,size 三个重要的全局变量->Object类型数组:用于存放数据modCount: 用于记录更新次数size:用于记录数组大小ArrayList的空参构造器注解的意思是说:构造初始容量为10的空列表。但是要注意的...
2019-08-27 07:51:23 377
原创 TreeSet源码分析
Java集合框架Set接口实现类:TreeSet特点底层结构应用TreeSet重要的成员变量构造器总结Set接口实现类:TreeSet特点不允许重复,里面不允许又null可以实现对其中的元素排序1、自然排序2、定制排序底层结构底层维护了一个TreeMap,而TreeMap底层是红黑树【二叉树的一种】结构,可以实现对元素的排序。源码分析放在TreeMap中解析应用方式一:自...
2019-08-26 20:21:05 153
原创 HashSet源码分析
Java集合框架Set接口概述set接口特点Set接口的特有方法Set接口的遍历方式Set接口的实现类:HashSet应用HashSet源码重要的成员变量构造器其它构造器方法调用总结Set接口概述set接口特点不允许重复,至多有一个null无序(插入和取出的顺序不一致),没有索引Set接口的特有方法Set接口没有特殊方法,都是在Collection继承来的Set接口的遍历方式...
2019-08-26 13:37:30 303
原创 LinkedList源码分析
Java集合框架LinkedList的底层结构即相关介绍空参和含参构造器linkFirst(E e)linkLast(E e)对比ArrayListLinkedList的底层结构即相关介绍 基于jdk1.8 的源码分析(后续更新) 上图:底层结构:双向链表LinkedList中维护了两个重要的属性,first,和last,分别指向首节点和尾节点。每个节点(N...
2019-08-26 09:36:46 483
原创 Java集合框架学习总结(含源码分析)
Java集合框架Java集合框架概述Java集合框架概述用作自己学习笔记:如有不当的地方,还请指点~首先上图啦:看看Java集合相关类的关系图
2019-08-23 09:08:50 1029
原创 使用ES实现一个基数排序
基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog®m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的稳定性排序法。百度百科...
2019-06-25 11:11:23 302
原创 利用ES6的Class实现一个自定义栈
show code;class MyStack { /*数据存储使用数组实现*/ /*Stack的数据结构:先进后出*/ constructor(){ this.elements = new Array(0); } //压入一个元素 push(element){ //创建的一个新的数组 let new...
2019-06-21 15:50:55 454
原创 ES数据结构了解下
ES数据结构一:线性数组结构。class Pojo { constructor(){ this.elements = new Array(0); } //获取数组的长度 size(){ return this.elements.length; } //向数组末尾添加一个元素 add(element){ ...
2019-06-21 13:29:19 3779
原创 ES中数组的常用操作项
1、得到两个数组的交集 * @param {Array} arr1 * @param {Array} arr2得到两个数组的交集, 两个数组的元素为数值或字符串 getIntersection = (arr1, arr2) => { let len = Math.min(arr1.length, arr2.length) let i = -1 let res = []...
2019-06-10 21:29:18 3450
原创 MockMVC-基于RESTful风格的接口测试
MockMVC-基于RESTful风格的接口测试@前后端分离MockMVC的使用[2019/5/16 22:31]前言:简单的编写几个测试用例,可以满足平时的测试要求1、首先,编写一个Controller,用于测试@RestController@RequestMapping("/user") public class UserController { @GetMapping...
2019-05-26 22:33:16 1238
原创 node.js中的回调和事件驱动
@HG/飞飞node.js中的回调和事件驱动寒假的笔记,今天才想起来贴过来众所周知,js是单线程的,所以,常常在处理事件的同异步上困扰。(只讲应用,不提原理)node很多模块都是异步执行 var fs = require('fs'); console.log('1'); fs.readFile('mime.json',function (er...
2019-05-16 15:33:20 152
原创 前后端分离开发之权限篇,解决陷入死循环。
写这篇文章的目的是为了记录两天的成果。。关于vue权限的参考是从花裤衩大佬那得到的启发1、首先声明,阅读此博客需要:vuex 基础了解mock了解route/router权限的实现路由守卫2、讲解一下本项目权限的实现:权限:动态菜单栏,不同用户能看到的页面是不同的,所以,当用户登陆时,服务端判断该用户的权限,返回该用户的路由表–至于按钮级别的权限,可以用页面权限去实现,或者使...
2019-05-16 15:24:28 4771
原创 前后端分离开发的最后一步之vue部署
vue+docker+linux+nginx实验环境centerOs 7.0.3dockernginx 1.15vue 2.5.2分步骤进行:1、Linux安装docker,网上教程后很多,windows家庭版最好是借助虚拟机来安装和使用,注意使用ssh连接Linux并操作docker时,可能会由于防火墙的原因而出错。centerOS关闭防火墙:sudo systemctl ...
2019-05-10 21:44:49 766
原创 mongoDB数据库的增删改查【查询数据】@[a1396537376]
mongoDB数据库的增删改查【查询数据】MongoDB官网为node做基础准备,入门级1.首先,使用windows 的bat 文件快速启动 mongoDB数据库(不涉及可视化界面)1-1这边使用黑窗口进行代码演示,方便直观了解。1.cd 到MongoDB的安装bin目录下2.键入:mongod.exe --dbpath E:\MongoDataBase (后面参数是数据文件的存...
2019-03-09 10:19:03 767
原创 如何在工程化Vue中使用mock模拟后端数据
如何在工程化Vue中使用Mock.js,是前后端分离,测试数据(超详细)@Vue如何在工程化Vue中使用Mock.js前言:mockjs官网http://mockjs.com/。mockjs模拟后台数据,测试前端请求接口,一款非常好用的js插件~~实例介绍如何使用mockjs1安装npm/cnpm install mockjs --save上图:1.2安装完mockjs,还要...
2019-03-03 13:26:30 1481
转载 js原型链
思维导图不太了解原型链的同学可能会觉得有点乱,没关系,看完文章再回过头来看,就很清晰了。Prototype众所周知,在JavaScript中,可以通过关键字new调用构造函数来创建一个实例对象。function Person(name){ this.name = name; this.say = function () { cons...
2019-03-02 21:26:27 172
原创 vue中缓存函数的使用
vue中,我们所要实现的一个场景就是:1.搜索页面==>到搜索结果页时,搜索结果页面要重新获取数据,2.搜索结果页面==>点击进入详情页==>从详情页返回列表页时,要保存上次已经加载的数据和自动还原上次的浏览位置。最近在项目中遇到这个问题,思考了几套方案,总是不太完善。百度搜到的方案也基本都只能满足一些很简单的需求。对于复杂一些的情况,还是有些不完善的地方。以下是个人对于这...
2019-01-25 21:52:55 4194
原创 ruby环境下的scss安装以及webstorm的配置scss文件预编译一系列操作@[HG/飞飞](first 01 one)
ruby环境下的scss安装以及webstorm的配置scss文件预编译一系列操作@[HG/飞飞](first 01 one)ruby环境下的scss安装以及webstorm的配置scss文件预编译一系列操作ruby安装在ruby官网进行下载安装ruby官网简单介绍一下:ruby只是我们进行scss/sass编译时的一种语言环境,因为scss是基于ruby进行开发的,所以我们只需要安装r...
2018-12-08 10:43:37 261
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人