自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【问题处理】nvm安装问题

安装nvm后,安装node提示 could not be found or does not exist. Exiting.1. 安装nvm之前必须将电脑上的node卸载干净,如果没卸载之前安装了,需要卸载node之后重新安装nvm。2. 检查系统变量,存放node的文件夹不能有中文。

2023-07-04 14:51:29 5386

原创 【leetCode】全排列

###解题思路经典回溯算法###代码/***@param{number[]}nums*@return{number[][]}*/varpermute=function(nums){letsum=[]backtrack(nums,[],sum)returnsum};functionbacktrack(nums,arr,sum){if(arr.length===nums.length){...

2022-03-06 01:03:34 571

原创 【leetCode】快速排序

【实现思路】快速排序就是每次取某一个数作为参考数,每一个与他进行对比,分成大于,小于,等于,三个数组,再对大于,小于的数组进行递归排序,直到所有排完版本1.0 取最后一个数作为参考数,将数组分为大于,小于两个数组进行递归排序版本2.0 取最后一个数作为参考数,将数组分为大于,小于,等于三个数组,等于这个数组不再次排序版本3.0 取随机数作为参考数,后续一样,这样能保证不会一直遭遇到最差的情况【实现代码】版本2.0// 入口function search(nums = [])...

2022-02-02 23:16:19 651

原创 【leetCode】归并排序

【题目】在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。[7,5,6,4] => 5【归并排序】// 入口方法function search(nums = []) { sort(nums, 0, nums.length - 1) return nums}// 归并排序中间方法,将数组分为两个数组,进行排序,排序完后再merge合在一起function sort(nums, l, r) {

2022-02-01 18:32:39 2747

原创 Diff算法对比(Vue,React)

传统Diff算法传统Diff算法使用的是循环递归每一个节点,不区分层级即顶层节点循环遍历新vnode的每个节点,这样会导致复杂度能达到O(n^3)Vue的Diff算法(Vue2.0)vue的diff算法使用了patch函数,类似打补丁使用的是4指针算法,在新旧节点头尾定义指针位置进行遍历ps:Vue3.0的diff算法借鉴了ivi算法和inferno算法React的Diff算法react的Diff算法,将节点分为三种1.tree diff对整个树结构进行分层处理,同一

2022-01-17 21:49:45 1358

原创 win10本地启动sonar扫描

【JDK版本】至少需要Java8,>=sonar7.8,需要Java11【安装数据库】因为只是简单的安装数据库做存储数据,不需要做其他应用,所以这里不安装大型oracle>=sonar7.9不再支持mysql,所以我安装的postgresql,傻瓜式安装就可以,记住启动的端口与root账号密码PS:安装完后可以使用pgAdmin4(安装之后自带)连接数据库,新建库(起名:sonar),这里新建的库等会在配置文件中写上【配置sonar】官网下载sonar版本,因为我电脑

2021-09-01 18:09:30 452

原创 【leetCode】二分查找

【题目】给定一个 元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的第一个出现的target,如果目标值存在返回下标,否则返回 -1【解题代码】function search( nums , target ) { // write code here if (nums.length === 0) return -1 let p = 0 let q = nums.length - 1 while(p &l.

2021-07-27 18:35:09 84

原创 【leetCode】判断链表中是否有环

【题目】给出一个链表,判断链表中是否存在环【解题思路】双指针,指针p前进一步,指针q前进两步,当没有环存在时,q会先一步到达null,当有环存在时,pq会相遇,while的判断条件只需要判断q,因为p是慢指针,走的节点q都已经走过了【解题代码】function hasCycle( head ) { // 双指针 let p = head let q = head let flag = false while (q !== null &&a

2021-07-26 15:48:39 191

原创 【leetCode】反转链表

【解题思路】pre:指向反转后的链表的第一个位置,即在最开始是在1位置,后面逐渐移到最后,同时作为返回参数cur:当前正在操作的节点,最开始在1位置,逐步后移nex:保存正在操作的节点的下一个节点【解题代码】/*function ListNode(x){ this.val = x; this.next = null;}*/function ReverseList(pHead){ // write code here let pre =...

2021-07-17 15:02:06 79

原创 【JavaScript】关于js中performance性能监控

如图一,performance中会出现的属性字段:

2021-06-11 11:15:29 3838 1

原创 【算法】基础算法:动态规划

【适用于动态规划的必备条件】1.问题的最优解所包含的子问题的解也是最优的,具有最优子结构2.某状态以后的过程不会影响以前的状态,只与当前状态有关3.子问题之间是不独立的,一个子问题在下一阶段决策中可能被多次使用到【使用动态规划分解问题】1. 首先将问题分为多个步骤(子问题),每个步骤为最优解2. 按顺序解,且下个步骤需要上一个步骤的解才能执行(不影响上一个步骤的解)3. 多步骤间解可以降低大部分复杂度,同时进行空间优化【经典案例】一般使用场景最多的是树形结构或多维数...

2020-11-09 11:59:04 81

原创 【Vue】组件间通信

【props与$emit或@on】父组件传值给子组件,子组件使用props接收,子组件使用emit调用父组件方法【$parent与$children】

2020-10-25 14:37:36 101

原创 【Vue】简述Computed原理

【computed原理】Vue中的data定义的参数使用发布订阅模式初始化后,开始解析computed属性1. 对每个computed属性建立专门的Watcher2. computed属性方法中访问的每一个data参数,都会调用参数的get方法,这个时候,将参数的dep加入Watcher,同时dep的subs添加Watcher3. 当我们改变对应参数的值的时候,会调用参数的set方法,触发dep的notify方法,将Watcher设置为dirty4. 当访问computed属性,触发ge

2020-10-13 16:33:06 715

原创 【JavaScript】执行上下文中this的绑定

【默认绑定】即为直接调用,函数调用无调用前缀,则this指向全局对象window(严格模式中指向undefined)【隐式绑定】如果函数调用,存在调用的对象,则this会隐式的绑定到这个对象上function f() { console.log(this.a);}var s = { a: 1, fs: f}s.fs(); // 输出1PS:如果将函数作为形参或者赋值给了其他参数,则调用的时候不会发生隐式绑定,而是算作直接调用,this指向全局对象

2020-10-08 02:46:01 218

原创 【JavaScript】事件委托

【原理】事件委托利用浏览器事件触发机制,即事件的捕获与事件的冒泡机制,前一篇文章我们写到浏览器的工作原理,其中事件的触发有两种情况,从window节点开始触发,一直到触发事件的元素上,从上到下,称为事件捕获,从元素触发,一直到最外的window节点,称为事件冒泡,经过W3C的共同标准,触发事件分为两个阶段,即先触发事件捕获,再触发事件冒泡,那我们绑定的事件是否会触发两次呢,在addeventlistener事件中,存在第三个布尔值参数,默认为false,则事件在冒泡阶段执行,设定为true则会在捕获阶段

2020-10-06 16:32:34 124

原创 【JavaScript】es6箭头函数

ES6箭头函数相比普通函数写法,有几个新特点:1. 没有prototype属性2. 无法使用arguments对象3. 无法成为构造方法4. this指向父作用域无法改变PS:class中最好不要用箭头函数,因为他的每一个实例都会独占一份内存空间【this的指向】var id = 0;var f = { id: 2, s1: function() { setTimeout(function(){

2020-10-06 12:06:18 206 1

原创 浏览器基本工作原理

【浏览器基础架构】单进程浏览器不详述,简单描述多进程浏览器Process为一个进程,以Chome浏览器为例,存在Browser Process,Renderer Process,Plugin Process,GPU Process等做各种事务的处理Site Isolation机制,默认开启,允许在一个Process下中的iframe使用单独的进程渲染【输入网址后发生了什么】Browser Process 进程进行处理1. UI Thread,判断输入的是网址还是非网址(非网址进行搜索

2020-10-05 12:07:11 349 1

原创 【JavaScript】执行上下文

【GO/AO编译过程】1. 先查看是否存在语法错误2. 预编译3. 解释一行执行一行【预编译过程】1. 创建GO/AO对象2. 将形参与变量声明存放到GO/AO对象中,值为undefined3. 将实参与形参统一4. 将函数声明存放到GO/AO对象中console.log(a);function a() { // 函数声明}var a = 1; // 变量声明// 结果会输出函数声明...

2020-10-05 10:56:54 132

原创 【CSS】flex布局

【Flex父节点布局属性】1. flex-direction:主轴方向,横向排列或竖向排列2. flex-wrap:nowrap 超出限定宽度/高度如何展示3. flex-flow:direction和wrap的缩写4. justify-content:主轴上的对齐方式 常用 center space-around5. align-item,align-content:交叉轴对齐方式,主要使用flex-start、flex-end、center,区别在与items是应用于一行的情况,co

2020-10-04 12:24:19 127

原创 【面试】当时回答不上来的问题集合

【2020-10-03】1. Vue单页面应用与多页面应用区别2. css flex 详细属性说明3. IE浏览器与其他浏览器最大的区别

2020-10-04 10:47:25 154

原创 【JavaScript】JS优化:防抖与节流

【防抖】一般应用在计算页面滚动条距离,页面resize,输入框blur之类的场景,当用户操作时,一般会多次触发,造成过多的资源浪费,此时可以使用防抖let debounce = function (action, delay) { let timer = null; return function () { // 当用户再次触发方法的时候,清除重新计时 clearTimeout(timer); timer = setTimeout(

2020-09-24 19:11:31 112

原创 【JavaScript】JS中的堆栈

【个人理解】栈:1. 基础数据类型数据 2. 堆数据的指针堆:Object,Function,Array,RegExp类型【const指向】const修饰的变量,指向为一个固定的地址,假如是基础类型常量,则无法改变,假如是堆内对象,则地址无法改变(指向地址内的值可以改变)【typeof null为何是Object】根据typeof的源代码写,这是第一代js的错误,在几个低位类型位的校验中,没有显式的对null进行校验,使null进入了else方法,判断为object对象...

2020-09-15 18:45:15 261

原创 【问题解决】录制视频上传504超时

首先服务器部署在阿里云,所以先跟架构师沟通(阿里云权限在架构师那里),想看看SLB负载的超时时间,但是那边说设置没问题,所以我只能从服务器内部下手服务器内部2台Apache,转发6台主机服务器Tomcat应用,先从Apache入手,修改了timeout: 60KeepAlive: OnKeepAliveTimeout: 60还是不起效,观察Network Timing,发现请求发送了10s,但是Waiting了60s,所以可能确实是这里,所以我修改配置为timeout: 300Ke

2020-07-30 00:28:58 838

原创 【Vue】细究双向绑定

【个人学习向】发布订阅模式:1. 订阅发布中心Dep2. 监听器Observer3. 订阅者Watcher4. 挂载Vue

2020-07-06 22:37:12 133

原创 【Vue】this绑定data

Vue中利用defindProperty代理绑定data到vm对象上,this可以直接访问function initData(vm) { // 获取data let data = vm.$option.data // 忽略一些处理 // 调用自定义proxy proxy(vm, `_data`, key)}const sharedPropertyDefinition = { enumerable: true, configurable: t.

2020-07-03 11:48:20 466

原创 【JavaScript】自定义call函数

自定义JavaScript中Function.call函数// 自定义callFunction.prototype.ownerCall = function() { /** * 首先获取传入的参数,call方法传入多个参数,第一个参数是指向对象 * obj获取到指向对象,args是多个参数数组 */ let [obj, ...args] = [...arguments] /** * this这里指的是调用ownerCall方法的Fu.

2020-07-03 10:34:30 306

原创 【JavaScript】计算24点

华为算法题1:/*** 计算24点是一种扑克牌益智游戏,随机抽出4张扑克牌,通过加(+),减(-),乘(*), 除(/)四种运算法则计算得到整数24,本问题中,扑克牌通过如下字符或者字符串表示,其中,小写joker表示小王,大写JOKER表示大王:* 3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER* 本程序要求实现:输入4张牌,输出一个算式,算式的结果为24点。* 详细说明:* 1.运算只考虑加减乘除运算,没有阶乘等特殊运算符号,友情提醒,整数除...

2020-06-29 16:38:03 1129

转载 Java多线程简单例子,银行存取示例。

http://blog.csdn.net/dayday1987/article/details/9971647

2014-09-24 14:39:14 911

空空如也

空空如也

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

TA关注的人

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