自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Visual Studio 快捷键

快捷键功能CTRL+K+C多行注释CTRL+K+U多行注释快CTRL+X剪切整⾏代码CTRL+L删除整⾏代码CTRL+Shift+Enter在光标所在⾏的下⾯插⼊⼀⾏CTRL+Enter在光标所在⾏的上⾯插⼊⼀⾏

2023-07-17 16:29:02 557

原创 JS 跨域问题

官方文档介绍一、简介跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript 施加的安全限制。同源策略:是指协议,域名,端口都要相同,其中有一个不同都会产生跨域;  跨源资源共享标准新增了一组 HTTP 首部字段,允许服务器声明哪些源站通过浏览器有权限访问哪些资源。另外,规范要求,对那些可能对服务器数据产生副作用的 HTTP 请求方法(特别是 GET 以外的 HTTP 请求,或者搭配某些 MIME(媒体类型)类型 的 POST 请求),浏览器必须首先使

2022-04-11 23:35:05 2603

原创 服务器上数据库被删优化办法

1、最近在写一个小项目,MySQL 数据库使用 Docker 安装部署在租的服务器上,然后使用 Navicat 连接数据库时,发现:ERROR 1045 (28000): Access denied for user ‘root‘@‘x.x.x.x‘ (using password: YES/NO)之前一直是能连上的,并且最近开发一直在使用,开发过程中编写过 sql 执行都是没问题的。2、百度发现这个错误是因为 root 账户没有远程访问权限(参考),即跨 ip 访问权限,但是之前安装部署时是打开

2022-04-07 21:17:12 8104 2

原创 Java基础知识

一、为什么说 Java 语言“编译与解释并存”?  这是因为 Java 语言既具有编译型语言的特征,也具有解释型语言的特征。因为 Java 程序要经过先编译,后解释两个步骤,由 Java 编写的程序需要先经过编译步骤,生成字节码(.class 文件),这种字节码必须由 Java 解释器来解释执行。二、静态方法为什么不能调用非静态成员?这个需要结合 JVM 的相关知识,主要原因如下:1、静态方法是属于类的,在类加载的时候就会分配内存,可以通过类名直接访问。而非静态成员属于实例对象,只有在对象实例化之后

2022-04-06 16:39:28 1561

原创 Vue模块化开发

Vue 简介  Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不 同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上 手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库 结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。MVVM思想 M:即 Model,模型,包括数据和一些基本操作 V:即 View,视图,页面渲染结果 VM:即 View-Model,模型与视图间的双

2022-04-05 08:06:00 1601

原创 前端小知识

一、JavaScript中undefined 和not defined参考:https://www.cnblogs.com/zdhblog/p/6801408.html

2022-04-04 08:53:25 224

原创 整合MyBatis-Plus

1、导入依赖<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.2.0</version></dependency>2、配置①、配置数据源;   1)、导入数据库的驱动。https://dev.mysql.c

2022-03-25 23:16:26 877

原创 Node.js 安装配置

一、下载查询Node.js 中文网即可下载,速度比较快。https://nodejs.org/zh-cn/下载最新版本即可,也可按需求下载历史版本。二、安装默认下一步即可。三、测试是否安装成功控制台输入以下命令:node -v控制台打印所安装 Node.js 版本即代表安装成功。四、配置 npm 使用淘宝镜像以提高下载速度npm config set registry http://registry.npm.taobao.org/五、VsCode使用 npm1、打开项目

2022-03-24 22:18:05 3790 2

原创 Maven安装配置

一、下载https://maven.apache.org/download.cgi安装步骤默认下一步即可二、配置 settings.xmlmaven3\conf\settings.xml1、配置存放本地仓库地址<localRepository>D:\apache-maven-3.6.0\repository</localRepository> 配置在 settings 后面即可2、配置 jdk 版本在 <profiles></profile

2022-03-23 10:35:04 388

原创 Git安装配置

1、下载 git;https://git-scm.com默认下一步即可2、配置 git,进入 git bash#配置用户名 git config --global user.name "username" //(名字) # 配置邮箱 git config --global user.email "[email protected]" //(注册账号时用的邮箱)3、配置 ssh 免密登录进入 git bash;使用:ssh-keygen -t rsa -C "[email protected]

2022-03-22 22:39:36 1044

原创 使用Docker搭建Linux开发环境

主要命令参考:https://docs.docker.com/engine/install/centos/一、Centos安装Docker1、卸载系统之前的 docker sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \

2022-03-21 21:55:23 2037

原创 使用VirtualBox和Vagrant搭建Linux环境

一、确定电脑的CPU开启CPU虚拟化1、电脑CPU一般都会默认被虚拟化,如下图所示:2、如果未被虚拟化,需进入BISO界面打开CPU虚拟化二、下载VirturalBox并完成安装下载地址:https://www.virtualbox.org/wiki/Downloads安装步骤默认下一步即可三、下载Vagrant并完成安装,并且电脑要重启下载地址:https://www.vagrantup.com;建议使用迅雷下载四、在cmd中运行:vagrant检查Vagrant是否安装成功,提

2022-03-17 22:54:09 1596

转载 for循环条件中i++和++i的区别

**主要是运行时间有差别,当循环次数较少没多少出入,但是当我们循环的次数上去了那么这差距就有点明显了。然后仔细探考后发现:在Java中i++语句是需要一个临时变量取存储返回自增前的值,而++i不需要。这样就导致使用i++时系统需要先申请一段内存空间,然后将值塞进去,最后不用了才去释放。多了这么一系列操作时间当然多了啊,最后建议大家以后在写for循环且不影响逻辑的情况下多使用++i,少使用i++。**详细分析见参考...

2022-02-18 16:37:24 382

原创 MySQL的语句执行过程

客户端发送一条查询给服务器;服务器先会检查查询缓存,如果命中了缓存,则立即返回存储在缓存中的结果。否则进入下一阶段;服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划;MySQL根据优化器生成的执行计划,调用存储引擎的API来执行查询;将结果返回给客户端。...

2021-03-26 09:23:43 69

原创 MySQL中的锁及其粒度

按照对数据操作的锁粒度来分:行级锁、表级锁、页级锁、间隙锁行级锁:行级锁是MySQL中锁定粒度最细的一种锁。表示只针对当前操作的行进行加锁。行级锁能大大减少数据库操作的冲突,其加锁粒度最小,但加锁的开销也最大。行级锁分为共享锁和排他锁。表级锁:表级锁是MySQL中锁定粒度最大的一种锁,表示对当前操作的整张表加锁,它实现简单,资源消耗较少,被大部分MySQL引擎支持。最常使用的MyISAM与InnoDB都支持表级锁定。表级锁定分为表共享读锁(共享锁)与表独占写锁(排他锁)。页级锁:页级锁是 MyS.

2021-03-26 09:21:34 1029 1

原创 MySQL索引的种类及特点

有四种索引,分别是:全文索引,HASH索引,BTREE,RTREE。全文索引 :全文索引目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。Hash 索引:Hash索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以Hash索引的查询效率要远高于B-Tree索.

2021-03-26 09:18:44 481 1

原创 Git常用命令

Git 是一个开源的分布式版本管理系统。几个概念:1、Workspace: 也被称为工作空间。你在开发工具或者文件夹下看到的目录就是工作空间2、Index 也被称为暂存空间。用于保存你需要提交到 Repository 中的修改记录。3、Repository 也被称为本地仓库,用于记录文件修改的版本库。我们可以在多个版本之间切换已达到 还原到某个版本的内容。4、Remote 为远程仓库, 和 Repository 功能是一样的,只是 Remote 远程仓库时可以用户合并多个本地仓库的.

2020-11-03 16:05:11 106

原创 TCP为什么需要三次握手,两次握手不可以?

讨论这个问题的大部分博客都会引用《计算机网络》的内容:防止已失效的连接请求又传送到服务器端,因而产生错误不幸的是, 这种解释是不准确的, TCP 采用三次握手的原因其实非常简单, 远没有大部分博客所描述的那样云山雾绕。这里先给出结论:  为了实现可靠数据传输, TCP 协议的通信双方, 都必须维护一个序列号, 以标识发送出去的数据包中, 哪些是已经被对方收到的。 三次握手的过程即是通信双方相互告知序列号起始值, 并确认对方已经收到了序列号起始值的必经步骤。如果只是两次握手, 至多只有连接发起方的起始

2020-10-19 09:53:48 1469

原创 Java内部类

2020-08-22 21:00:32 95

原创 List泛型问题

只看尖括号里边的!!明确点和范围两个概念如果尖括号里的是一个类,那么尖括号里的就是一个点,比如List<A>,List<B>,List<Object>如果尖括号里面带有问号,那么代表一个范围,<? extends A> 代表小于等于A的范围,<? super A>代表大于等于A的范围,<?>代表全部范围尖括号里的所有点之间互相赋值都是错,除非是俩相同的点尖括号小范围赋值给大范围,对,大范围赋值给小范围,错。如果某点包含在某个范.

2020-08-22 14:33:14 228

原创 USE-A、HAS-A、IS-A

USE-A:依赖关系,A类会用到B类,这种关系具有偶然性,临时性。但B类的变化会影响A类。这种在代码中的体现为:A类方法中的参数包含了B类。关联关系:A类会用到B类,这是一种强依赖关系,是长期的并非偶然。在代码中的表现为:A类的成员变量中含有B类。HAS-A:聚合关系,拥有关系,是关联关系的一种特例,是整体和部分的关系。比如鸟群和鸟的关系是聚合关系,鸟群中每个部分都是鸟。IS-A:表示继承。父类与子类,这个就不解释了。要注意:还有一种关系:组合关系也是关联关系的一种特例,它体现一种contains-

2020-08-22 08:59:28 678

原创 B树和B+树

推荐两篇写的比较好的博客https://blog.csdn.net/chai471793/article/details/99563704https://www.cnblogs.com/zhangzhijian/p/11237178.html

2020-08-21 14:56:13 91

原创 基本类型及其封装类型的 == 和 equals()

1、基本型和基本型封装型进行“==”运算符的比较,基本型封装型将会自动拆箱变为基本型后再进行比较,因此Integer(0)会自动拆箱为int类型再进行比较,显然返回true; int a = 220; Integer b = 220; System.out.println(a==b);//true2、两个Integer类型进行“==”比较, 如果其值在-128至127 ,那么返回true,否则返回false, 这跟Integer.valueOf()的缓冲对象有关,这里不

2020-08-20 20:38:00 195

原创 DNS的寻址过程

1、在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客

2020-08-19 22:25:26 547

原创 Http请求种类

OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送’*'的请求来测试服务器的功能性。HEAD:向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。GET:向特定的资源发出请求。POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的创建和/或已有资源的修改。PUT:向指定资源位置上传其最新内容。D

2020-08-19 18:18:00 128

原创 http1.1和1.0的区别

主要区别主要体现在:缓存处理,在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准,HTTP1.1则引入了更多的缓存控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等更多可供选择的缓存头来控制缓存策略。带宽优化及网络连接的使用,HTTP1.0中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能,HTTP1.1

2020-08-19 18:13:39 181

原创 Java EE常用名词

web 容器:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接和容器中的环境变量接接口互,不必关注其它系统问题。主要有WEB服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。该容器提供的接口严格遵守J2EE规范中的WEBAPPLICATION 标准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。Web container:实现J2EE体系结构中Web组件协议的容器。这个协议规定了一个Web组件运行时的环境,包括安全,一致性

2020-08-19 15:38:35 124

原创 Redis持久化

RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis 还可以在后台对 AOF 文件进行重写(rewrite),使得 AOF 文件的体积不会超出保存数据集状态所需的实际大小。Redis 还可以同时使用 AOF 持久化和 RDB 持久化。 在这种情况下, 当

2020-08-19 15:26:19 68

原创 AOP中的连接点(Joinpoint)、切点(Pointcut)、增强(Advice)、引介(Introduction)、织入(Weaving)、切面(Aspect)

a. 连接点(Joinpoint):程序执行的某个特定位置(如:某个方法调用前、调用后,方法抛出异常后)。一个类或一段程序代码拥有一些具有边界性质的特定点,这些代码中的特定点就是连接点。Spring仅支持方法的连接点。b. 切点(Pointcut):如果连接点相当于数据中的记录,那么切点相当于查询条件,一个切点可以匹配多个连接点。Spring AOP的规则解析引擎负责解析切点所设定的查询条件,找到对应的连接点。c. 增强(Advice):增强是织入到目标类连接点上的一段程序代码。Spring提供的增强接

2020-08-18 20:34:48 1832

原创 Java关键字

1)48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strict

2020-08-17 19:31:44 75

原创 修饰符及其使用环境

2020-08-17 16:31:02 86

原创 floor、ceil、round

floor: 求小于参数的最大整数。返回double类型-----n. 地板,地面例如:Math.floor(-4.2) = -5.0ceil: 求大于参数的最小整数。返回double类型-----vt. 装天花板;例如:Math.ceil(5.6) = 6.0round: 对小数进行四舍五入后的结果。返回int类型例如:Math.round(-4.6) = -5...

2020-08-17 15:31:28 108

原创 加载驱动方法

Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);DriverManager.registerDriver(new com.mysql.jdbc.Driver());System.setProperty(“jdbc.drivers”, “com.mysql.jdbc.Driver”);

2020-08-16 21:13:22 162

原创 数组复制方法效率

System.arraycopy():native方法+JVM手写函数,在JVM里预写好速度最快clone():native方法,但并未手写,需要JNI转换,速度其次Arrays.copyof():本质是调用1的方法,多了一个步骤,肯定就不是最快的。for():全是深复制,并且不是封装方法,最慢情有可原System.arraycopy>clone>Arrays.copyOf>for循环...

2020-08-16 20:39:41 129

原创 Web监听类

HttpSessionAttributeListener:可以实现此侦听器接口获取此web应用程序中会话属性列表更改的通知;HttpSessionBindingListener:当该对象从一个会话中被绑定或者解绑时通知该对象,这个对象由HttpSessionBindingEvent对象通知。这可能是servlet程序显式地从会话中解绑定属性的结果,可能是由于会话无效,也可能是由于会话超时;HttpSessionObjectListener:没有该接口API;HttpSessionListener:当w

2020-08-16 20:20:41 145

原创 bean生命周期

参考:https://blog.csdn.net/manchengpiaoxue/article/details/84982458https://blog.csdn.net/w_linux/article/details/80086950

2020-08-16 08:58:30 59

原创 try catch finally 执行顺序

try catch finally 执行顺序结论1、不管有没有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,不管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch

2020-08-16 07:54:40 166

原创 悲观锁与乐观锁

  乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。一、悲观锁  总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java 中

2020-08-15 10:06:39 92

原创 JVM命令

1、jps:查看本机java进程信息。2、jstack:打印线程的栈信息,制作线程dump文件。3、jmap:打印内存映射,制作堆dump文件4、jstat:性能监控工具5、jhat:内存分析工具6、jconsole:简易的可视化控制台7、jvisualvm:功能强大的控制台...

2020-08-12 21:42:47 111

原创 Servlet依赖关系

2020-08-12 16:59:18 360

空空如也

空空如也

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

TA关注的人

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