自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux学习

linux分好多版本,不同的linux版本所带的前端包管理器可能不同,有的是yum。有的是apt两个包管理器命令格式是yum [options] install [libname]options:-y 所有选项都是yes,-q不显示安装过程常用的命令:查看文件的命令cat:从前往后看文件内容tac:从后往前看文件内容more:lessnltailhead创建文件命令touch创建文件目录命令mkdir删除文件目录命令rmdir编辑文件命令vivim进入文件后修改文

2022-03-30 10:29:49 1128

原创 js循环遍历

js需要循环的对象有Array和Object以及伪数组。js循环遍历的8中方法 for while 或do while forEach for in $.each $(selector).each map every 通过对上述循环进行30万数据使用时间比较,需要运行的时间大致是for ~= do while < forEach ~= map ~= every < $.each < $(e).each < for in所.

2021-12-24 17:33:21 451

原创 Arguments对象

Arguments是函数内部的本地变量。包括如下属性callee 指向当前的函数的引用 length 真正传递参数的个数 arguments[index] 第index个形参 注意,arguments对象仅在函数内部有效arguments是个伪数组(具有length属性的对象{}称为伪数组),所以可以通过apply或者call借用Array对象的方法、例如 [].slice.call(arguments)function test(a, b, c) { .

2021-12-24 16:47:54 346

原创 JS布尔值(Boolean)转换规则

1、javaScript 5有五种基本数据类型,number 、string、boolean、null、undefined。基本数据类型对于逻辑判断条件表达式if-else、while、do while、for、三元表达式(?:)中的条件分支,undefined、null、 +0、-0、‘’(空字符串)、NaN自动转化为false。注意:所有通过构造函数返回的Boolean值都是true。即new出来的Boolean表达值都是truenew Boolean(false) // true2、对

2021-12-24 16:03:29 1438

原创 正则表达式使用

正则表达式是在1956年,一位叫 Stephen Kleene 的数学家在 McCulloch 和 Pitts 早期工作的基础上, 发表了一篇标题为”神经网事件的表示法”的论文, 引入的概念。随后, 发现可以将这一工作应用于使用 Ken Thompson 的计算搜索算法的一些早期研究中. 而 Ken Thompson 又是 Unix 的主要发明人. 因此半个世纪以前的Unix 中的 qed 编辑器(1966 qed编辑器问世) 成了第一个使用正则表达式的应用程序.正则表达式的定义:正则表达式是由普通字符

2021-12-15 17:52:49 70

原创 SQL提高查询效率知识拾忆

SQL条件解析是自下而上,从右到左进行解析。所以条件末尾需要是最关键的条件。SQL Server解析器from后的表,是按照从右往左的顺序处理。所以from处理表是,应该让from表中最后的表的行数最少。让最右侧的表作为基础表。SQL执行先扫描最右侧的表,然后再扫描左侧的表,将左侧表扫描的记录与右侧表的记录进行排序合并。如果有三个以上的表,需要选择交叉表作为基础表。交叉表是指被其他表引用的表例如:C是A、B表的交叉表。则select * from A,B,C比其他表排序更有效率。

2021-12-01 14:04:20 299

原创 前端不常用但很常见的小知识

1、encodeURI和encodeURIComponent区别这两个都是用来对url进行编码的。encodeURI不会对;/?????&=+$,#字符进行转义;encodeURIComponent()函数通过字符的UTF-8编码的转义序列替换某些字符的每个实例来编码 URI 。它转化更加彻底。所以URL转义最好用encodeURIComponent。有转义就有反转义。encodeURI 对应decodeURIencodeURIComponent对应decodeURIComponent

2021-12-01 10:19:17 139

原创 SQL存储过程理解

在开发中,经常听同事说存储过程,这个存储过程实现修改很麻烦。听着总是云里雾里,什么是存储过程,存储过程到底是个什么东西。下面我们就简单来介绍什么是存储过程。什么是存储过程?直接上图,让你肉眼看到什么是存储过程图1是mysql的存储过程,图2是SQL server的存储过程如果查看别人的存储过程?选中存储过程,右键修改,即可查看存储过程但是SQL server我右键查看的时候报错,不知道为啥,以后再搞吧。看看报错了。不知道为啥,很奇怪。从网上找答案,说是S...

2021-11-19 16:01:47 1179

原创 排序算法总结

什么是稳定算法,什么是不稳定算法?稳定算法,不改变相同元素之间原有的相对位置,即不改变相同元素原来的排列顺序。不稳定算法,改变相同元素之间顺序,即1,2,10,3,10。对于10这个元素,他们原有的相对位置可能会发生变化冒泡排序冒泡排序的定义:双向冒泡排序选择排序插入排序直接插入排序折半插入排序希尔排序归并排序快速排序堆排序计数排序桶排序基数排序...

2021-11-11 16:00:20 580

原创 JavaScript原型和继承

var a = { "age": "18", "name": "chenxinhui", "__proto__": { "city1": "shandong1", "__proto__": { "city3": "shandong3" } }, "prototype": { "city2": "shandong2" }};var b = { "nation".

2021-10-22 16:33:29 63

原创 String.prototype.replace()用法总结

replace方法接受两个参数,replace(arg1,arg2);arg1是要被替换的字符串或者正则表达式arg2是替换的字符串或者函数。下面分四种情况来讨论arg1是字符串,arg2是字符串var a='hello,repalce'.replace('hello','Hello') //'Hello,repalce'arg1是字符串,arg2是函数var b='hello,repalce'.replace('repalce',function(match,p1,offset,s

2021-10-21 16:12:53 318

原创 Boolean 转换规则

JavaScript在es6之前,有六种数据类型number string boolean null undefined object。其中object又叫引用数据类型,其余的叫基本数据类型。判断基本数据类型用typeoftypeof 1 //'number'typeof '1' //'string'typeof false //'boolean'typeof null //'object'typeof undefined //'undefined'typeof [] //'object'

2021-10-21 14:13:10 467

原创 基本数据类型

学习目标1、聊聊Java中的八大基本数据类型2、从内存的角度聊聊什么是字节?java基本数据类型数值型,字符型,布尔型数值型又分为byte,short,int,long,float,double字符型:用单引号表示,里面只能有一个字符,例如,'a'、'1',布尔型(Boolean):true和false,用来执行条件判断使用。 类型 占用内存大小 数值范围 byte 1byte=8

2021-10-20 13:18:52 70

原创 原码、反码、补码二进制表示

学习目标1、什么是二进制,谈谈你的理解2、什么是原码,补码以及反码3、序号15的视频讲解了一个案例分析,自己试着分析一个新的数4、如何求一个负数的补码二进制:0和1组成的数字系列,逢二进一。对于计算机而言,只认识0和1,数据在计算机的存储都是以二进制的形式存储。原码,反码,补码,都是计算机用二进制来表示数据的,计算机表示数据是由数据长度和符号位表示的,首位表示符号位,0表示正数,1表示负数,剩下的数据表示所要表示的数据。什么是数据长度?就是我们说的位数,例如,by

2021-10-18 07:15:31 5458

原创 git操作指南

git branchgit branch //查看本地所有分支git branch -r //查看远程所有分支git branch -a //查看本地和远程所有分支git branch <本地分支名称dev> //新建本地分支devgit branch -d<本地分支名称dev> //删除本地分支devgit push origin <本地分支名称dev>:<远程分支名称master&gt...

2021-10-15 14:19:18 50

原创 搞懂select

在数据库查询中,select是最常用,并且也是最难理解的。select查询并不是按照它的编写顺序执行。select [查询字段] from [table1][join类型left,right,inner,full] join [table2] on <条件>where <条件>groupby 字段名 having <条件>limit [长度]上述执行步骤如下:...

2021-10-14 11:08:27 81

原创 一段Java的HelloWorld代码,让我懂得了这些

学习目标重点理解以下内容:1、一段“helloworld”代码从你写出来,到最后执行,分别存储在哪些地方?2、说说你认识的硬盘以及内存,理解“代码是保存在硬盘里面”这句话3、一段java代码要想运行,必须具备什么条件?4、Java的跨平台是怎么回事?为什么可以跨平台?5、什么是编译,什么是解释?程序编写和执行,分别在哪里HelloWorld.java文件public class HelloWorld { public static void main(Str

2021-10-12 14:45:58 782

原创 从零开始配置Java环境变量

计算机执行指令遵从一个准则,让我找到你,喊出你的名字,然后执行你。从人类的角度看,我需要知道你的联系方式或者联系地址。从计算机角度看,需要一个配置中心,然后进行配置,通过你的配置找到你,然后执行具体的命令。运行java程序,需要提供一个运行的环境,环境不同,配置肯定也会有所差异。我们以操作系统是windows 10为例,介绍java运行配置。java环境配置步骤:1.下载所需jdk版本2.傻瓜式安装注意,在这一步,公共JRE可以不用选择,因为在JDK中已经包含JREjava指定版本下载:在j

2021-10-12 08:29:42 228

原创 javaScript 模块化理解

JavaScript模块化是通过函数或{}来进行模块化处理的。在es6之前,没有块级作用域的概念。通过函数创建一个封闭的执行环境,通过var Module={},建立一个对象。但是通过var Module={}很容易被人改写。所以JavaScript大部分通过自执行函数,对外暴露API或者值,来进行处理。var module = (function() { var x = 12; return { "x1": "", "test": function()

2021-10-09 16:50:37 75

原创 JavaScript Event Loop理解

JavaScript是单线程,这里的单线程指的是只有一个主线程,主线程通过回调函数处理其他异步任务。Event Loop很多地方中文翻译成事件循环,我感觉翻译的不能准确表达JavaScript异步事件的执行逻辑。事件循环很容易让人理解成放入任务队列的事件依次循环执行。这种理解我认为是不对的。应该是放入任务队列的事件被叫号执行。任务队列的事件都是晚于同步代码块执行的。同步代码块中的代码按照顺序执行,回调函数放入异步任务队列,等待主线程的叫号。被叫到的回调函数会被立即执行。function task1()

2021-10-09 11:01:57 109

原创 javaScript为什么会出现this

任何计算机语言都遵循最近法则,即在最近的执行环境范围内找到所需的值,就中断查找;this是指代当前执行环境上下文,方便程序应对在多种执行环境。var x=11;var obj={ "x":12, "test":function(){ console.log(this.x); }}obj.test();//12var test1=obj.test;test1();//11obj是对象地址的引用,obj.test()执行时,里面的this指代obj这个对

2021-10-09 08:44:21 102

原创 XMLHttpRequest对象的简单理解

var xhr=new XMLHttpRequest();xhr.onreadystatechange=function(){ console.log(xhr.readyState) ; console.log(xhr.status); console.log("=============");};xhr.open("GET","https://www.taobao.com/",true);xhr.send()上述测试需要再淘宝的域名下,否则浏览器会因为同源策略限制报跨域错误

2021-09-30 16:48:41 211

原创 为什么会有0.1+0.2不等于0.3的问题

出现这个情况的根本原因是因为计算机是二进制文件处理数据,我们知道数学书数据类型有有理数、无理数、虚数。计算机只能处理二进制。所以对于无理数、分数、有限循环小数计算机是没办法进行计算处理的。即使是有理数,计算机也很难用二进制全部表示。例如有理数,小数0.1。十进制小数转成二进制小数的原理:十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数 部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零.

2021-09-30 16:20:55 314

原创 javaScript语法var a=b=c是怎样执行的?

var a=b=c=4;首先说错误的理解:var a=4,b=4,c=4;验证:function test(){var a=b=c=4;}test();如果上述理解是正确的,执行完函数test后,在外面是读取不到a,b,c的。但是在浏览器控制台所以正确的理解应该是c=4;b=c;var a=b;var a=b=c=4;会生成全局变量b和c,局部变量a。总结:平时写代码的时候,如果不需要全局变量,就不要使用连等运算,这样容易让人产生歧义而且会引入不必要的全局变量。..

2021-09-30 13:56:39 873

原创 jQuery源码解读-jQuery Deferred对象实现

看jQuery源码DeferredDeferred: function( func ) { var tuples = [ // action, add listener, listener list, final state [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], [ "reject", "fail", jQuery.Callbac

2021-09-27 14:19:14 115

原创 jQuery源码解读-jQuery是如何实现无new操作的

function $(){}var _$=new $();我们看_$如下构造函数有return值,返回的对象是什么?如果构造函数没有return.则返回实例对象this;如果构造函数有return,则分两种情况?return的是五种简单数据类型:String,Number,Boolean,Null,Undefined。这种情况下,忽视return值,依然返回this对象。return的是Object这种情况下,不再返回this对象,而是返回return语句的返回值。重点理解有re

2021-09-27 10:03:37 218

原创 java面向对象基础

面向对象java是面向对象语言,这里的对象是现实世界的抽象,java程序是人写出来的,需要遵从人的思维方式,让人易于理解,只有这样,才能让这个语言推广开来。面向对象的三大原则是:封装、继承、多态封装:封装在文件中,封装在类中,封装在方法中。使用合理隐藏,合理暴露的原则。目的就是提高代码的复用性。// 封装的哲学思维:合理隐藏,合理暴露。// 封装最初的目的:提高代码的安全性和复用性,组件化。//  封装的步骤://   &

2021-09-01 10:02:10 59

原创 Maven入门

文章目录1、Maven 介绍1. Maven是什么2.为什么使用Maven2、Maven安装3、Maven配置4、Maven常用命令5、IDEA中使用Maven6、Maven依赖管理7、Maven私服8、聚合工程1、Maven 介绍1. Maven是什么2.为什么使用Maven2、Maven安装3、Maven配置4、Maven常用命令5、IDEA中使用Maven6、Maven依赖管理7、Maven私服8、聚合工程...

2021-05-25 11:09:35 157 1

原创 IntelliJ IDEA中decompiled.class file bytecode version:50.0(java 6)问题

用idea编译出来的.class文件和.java文件查看时内容一样的,是idea进行了了某种处理吗?如果用jclasslib看,又是另一种内容。这是因为idea对class文件进行了反编译工作。即是decompiled.class file bytecode version:50.0(java 6)翻译一下上面的意思:(反编译 .class文件中的字节码 到Java 6版本)打开源文件,其实这个时候,你就得注意一下,你看到文件是 .class文件,还是 .java文件。前提理论知识.ja

2021-05-20 16:28:29 7419 2

原创 10分钟快速搭建一个springBoot+Vue前后端分离的项目

所需工具后端IDE: Intellig Idea前端:Vscode配置Mavennodemysql5.*后端SpringBoot搭建pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sche

2021-04-30 10:50:15 675

原创 什么叫面向对象编程?

面向对象编程是一种设计思想,它是现实世界的抽象,任何现实世界中的事物都可以用面向对象思想来解决。“万物皆对象”,JavaScript中不是面向对象编程。而是面向函数编程,这里,JavaScript中函数是“一等公民”,那什么又是“一等公民”呢?就是函数和整数、字符串等常见概念的地位是平等的,一个整数和一个字符串等对象可以干的事,一个函数也可以办到。面向对象我们经常和面向过程做比较,面向过程是C语言编程的核心思想面向对象注重于抽象事物,而面向过程注重于描述事物面向对象逻辑清晰有条理,而面向过程比较方面

2021-03-17 17:40:34 1687 2

原创 log4j各个级别日志分类输出到文件

这两天在分析系统debug日志是如何输出到文件的,发现日志有重复打印的问题。info日志中有info,warn,error级别的日志,这样显然是不合理的。 原因是因为:LOG4J.APPENDER.D.THRESHOLD 表示打印大于、等于该级别的日志,由于ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF,所以warn、error级别日志在info中也打印了出来上面的结果显然不是我们想要的,因为这样的话相当于info日志中

2021-02-19 08:44:35 849

原创 反射基础

什么是反射反射是java独有的技术,是java技术的显著的特点,反射作用在运行时,对于任何一个类,在“运行的时候”可以得到类的全部成分,例如构造器对象(Constructor)、成员变量对象(Field)、成员方法对象(Method),核心思想和关键就是【得到编译以后的class文件对象】。再次强调一下,反射提供了一个Class类型,在运行时获取类的字节码文件对象,可以解析类中的全部成分。反射通过编译后的class文件对象(字节码文件),然后才可以得到类中的全部成分,进行功能设计。一个类包含成员变量

2021-02-18 19:02:25 155

原创 JavaScript中new到底干了啥

JavaScript中new一个对象的创建步骤创建一个空对象{}将空对象的__proto__指向构造函数的prototype属性将构造函数的this执行新对象执行构造函数的代码返回新对象验收新对象的__proto__就是构造函数的prototypefunction Fun(){}var obj=new Fun()obj.__proto__==Fun.prototype//true验证上述new的执行过程正确性function Fun(name){this.name=name;

2020-07-23 19:06:30 154

原创 装饰模式

装饰模式指的是在不改变原有类或者功能的基础上,动态的扩展一个类或者功能。

2020-07-17 18:19:55 65

空空如也

空空如也

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

TA关注的人

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