自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 git基本命令及核心

Git基本命令1、初始化git仓库:git init2、添加到暂存区:git add .3、提交代码:git commit -m ‘提交的描述信息’4、推送提交的内容到远程:git push5、拉去远程的代码:git pull6、添加远程创建地址:git remote add origin root@localhost:YJW/itrip-project.git(remove删除)7、查看本地已添加的远程仓库:git remote -v8、克隆远程仓库:git clone root@loca

2021-03-16 16:10:36 128

原创 java.lang.NoClassDefFoundError

找不到类异常java.lang.NoClassDefFoundError com/fasterxml/jackson/databind/ObjectMapper缺少一个 jar 包,该 jar 包为:jackson-databind

2021-03-15 13:28:26 132

原创 YUM软件包管理

主要用户管理RPM包,YUM工具能够从指定的服务器自动下载RPM包并安装,还可以自动处理依赖性关系。使用RPM工具管理和安装软件时,需要逐个手动设置RPM需要的依赖,而YUM工具则帮助我们做了这些事情,它可以自动安装所有依赖的软件包,多方便。YUM工作原理:YUM运行需要依赖两个部分:一个是YUM源端,二是YUM客户端。YUM客户端安装的所有PRM包都来自YUM服务端,YUM源端通过HTTP或FTP服务器发布。YUM客服端能够从YUM源端下载依赖的RPM包是由于在YUM源端生成了RPM包的基准信息包

2020-07-14 00:32:09 155

原创 Spring集成Elasticsearch

maven依赖

2020-06-08 05:22:02 135

原创 Elasticsearch6.2.4基础概念

ES基础概念:node:节点,部署es程序的服务器cluster:集群,多个节点组成的架构index:索引,相当于关系型数据库的databaseshard:索引分片,索引可以被设置为多个分片replicas:索引副本type:类型,对应于关系型数据库的tabledocument:文档,类似于关系型数据库的row文档的三元素_index:文档对应的索引_type:文档对应的数据类型_ID:文档的唯一IDES命令分类索引管理:创建,配置,删除索引文档关系:创建,修改

2020-06-07 18:37:34 299

原创 Linux用户及权限管理

Linux用户及组:每个用户在一个独立的组里,每一个组可以有0个或多个用户。Linux用户总共分为三种,分别是:root用户,系统用户,普通用户。Linux系统中的每一个文件都有一个所属用户和所属组。Linux系统用户的特点如下:1.每一个用户都有一个UserID,操作系统读取的是UID。2.每一个用户都有一个主组和多个附属组,最多有31个附属组。3.每个组都有一个GroupID4.每个进程以一个用户身份运行,该用户可以对进程拥有的资源进行操作。5.每个可登录的用户拥有一个指定的shell

2020-06-02 07:42:18 339

原创 Linux系统配置网络

Linux服务器网卡默认配置文件在/etc/sysconfig/network-scripts/下,命名的名称一般为ifconfig-eth0,ifcfg-eth1,eth0表示第一块网卡,eth1表示第二块网卡。配置如下:DEVICE=eth0ONBOOT=yesBOOTPROTO=dhcpHWADDR=00:0c:29:52:c7:4eTYPE=Ethernet编辑网卡配置文件时,修改BOOTPROTO为dbcp方式,同时添加DEVICE=eth0ONBOOT=yesBOOTPROT

2020-05-29 17:24:01 145

原创 TCP/IP协议概述

TCP/IP名为网络通信协议,是Internet最基本的协议,Internet国际互联网的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP协议定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。TCP负责发现传输的问题,一旦有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地,而IP是给因特网的每台联网设备规定一个地址。基于TCP/IP的参数模型将协议分为4个层次,分别是网络接口层,网

2020-05-27 03:04:23 263

原创 context-param和init-param的区别

init-param与context-param都是在web.xml里以键值对形式定义的变量init-param是定义在servlet标签里,而context-param是定义在web-app标签里。context-param是配置在web下面,属于上下文参数,在整个环境中都可使用。init-param是配置在servlet中,属于某一下servlet。中的键值做的操作,将在WEB项目完全...

2020-03-30 22:33:50 270

原创 SpringMVC中常用的几种数据源配置的区别

一,Spring自带的JDBC方式这种方式支持多线程,但每次请求都会创建一个新的连接,对性能造成一定的影响,小程序可以使用,但推荐使用有数据源池方式。二,DBCP数据源该方式依赖于commons-dbcp-1.4.jar、commons-pool-1.5.6.jar这两个jar包。BasicDataSource提供了close()方法关闭数据源,所以必须设定dest...

2020-03-30 16:02:57 323

原创 Model,ModelMap和ModelAndView的区别

Model只是用来做数据传递的并不会做业务寻址ModelAndView既可以做数据传递也可以做业务寻址Model每次请求后都会自己创建,而ModelAndView则需要自己new。可以用model来接收各种类型的数据,如果使用来接收一组数据List 》》那么这个时候的model实际上是ModelMap。...

2020-03-24 16:15:13 150

原创 给力网站

https://smallpdf.com/word-to-pdf文档格式转换https://www.cs.usfca.edu/~galles/visualization/Algorithms.html数据存储结构示例

2020-03-06 23:03:42 976

原创 方法区和永久代及元空间的区别

方法区(线程共享):类的所有字段和方法字节码,以及一些特殊方法如构造方法,接口代码也再此定义。也就是静态变量+常量+类信息(构造方法/接口定义)+运行时常量池都存在该方法区中。也就是类的模板。永久代:永久代在jdk1.7之后就被元空间给取代了,永久代逻辑结构上属于堆,但是物理上不属于堆,会出现OOM异常。元空间:元数据区取代了永久代,本质和永久代类似逻辑结构上属于堆,区别在于元数据区并不在虚拟...

2020-01-26 22:24:55 3534 2

原创 JVM垃圾回收

JVM内存分配与回收对象优先在Eden区分配大多数情况下,对象在Eden区分配。当Eden区没有足够空间分配时,虚拟机将触发一次Minor GC。新生代GC(Minor GC):指发生在新生代的垃圾收集动作,Minor GC非常频繁,回收速度一般也比较快。老年代GC(Major GC/Full GC):指发生在老年代的GC,出现了Major GC经常会伴随至少一次的Minor GC(并非绝...

2020-01-26 02:13:24 93

原创 MySQL锁与事务的隔离级别

概念锁是计算机协调多个进程或线程并发访问某一资源得机制。数据是一种共享的资源,如何保证数据并发访问的一致性,有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。锁对于数据库来所尤其重要,也更加复杂。锁的分类1.从概念+上分为:乐观锁(用版本对比来实现)和悲观锁2.从数据库操作类型分:读锁和写锁(都属于悲观锁)读锁(共享锁):针对同一份数据,多个读操作...

2020-01-19 16:55:35 93

原创 idea快捷键

1.双击shift:搜索文件2.ctrl+shift+f:全局搜索3.debug时候,F9,跳到下一个断点,F7下一步4.ctrl+shift+空格:提示输入5.Ctrl + Shift + Enter:自动补全功能6.Shift + Alt + 方向键上下:上下移动当前行/选择行7.Alt + Num 0-9:根据0到9之间的数字,打开各个相应的工具窗口8.Ctrl + G:快速定...

2020-01-14 03:20:31 99

原创 HashMap源码分析

JDK7HashMap底层使用哈希表/散列也就是数组+链表的形式存储数据;构造方法//指定数组长度和加载因子public HashMap(int initialCapacity, float loadFactor) { //数组长度不可小于0 if (initialCapacity < 0) throw new IllegalArgumen...

2020-01-14 01:23:31 92

原创 运算符

异或运算符,把数转换为二进制以后进行异或运算,相同为0不同为1按位异或:比如二进制 1001 ^ 1100 = 010100=0,11=0 ,1^0 = 1,0^1=1。

2020-01-11 01:35:40 154

原创 LinkedList源码分析

1.链表介绍链表是一种物理存储单元上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针连接次序实现的。链表有一系列节点(链表中每一个元素称为节点)组成,节点可以在运行时动态生成。每个节点包括二个部分:一是存储数据元素的数据域,另一个是存储下一个节点地址的指针域。双链表是链表的一种,由节点组成,每个数据节点中由两个指针,分别指向直接后续和直接前驱,这也是LinkedList底层实...

2020-01-09 16:36:39 65

原创 Arraylist源码分析

1.数组介绍当创建一个数组时及在内存中分配一个连续的内存,将数据顺序存入这块连续的内存中,并且只能存放相同的数据类型。所以它的特点是寻址读取数据比较快,插入和删除比较慢。因为是连续的空间每一个位置都有相应下标可以直接通过下标获取数据,而删除和添加需要偏移位置。ArrayList底层就是Object数组添加源码分析//添加操作public boolean add(E e) {// E...

2020-01-09 02:13:13 50

原创 System.arraycopy本地方法

public static native void arraycopy(Object src, int srcPos,Object dest, int destPos,int length);解析native: 修饰符表示本地方法。src:原数组srcPos:要复制原数组的起始位置dest:目标数组destPos:目标数组起始位置length:要复制的长度例如:Objec...

2020-01-09 00:08:01 133

原创 集合框架

定义集合类似于数组,只不过集合的数据量可以动态改变,而数组是固定长度的。java集合结构图List集合存放的数据可以重复,并且有序ArrayList:底层是Object数组。增删很慢,查询很快LinkedList:底层是链表。增删快,查询慢Vector:是线程安全的,ArrayList是线程不安全的,与ArrayList相同Set集合存放的数据无序且不可重复HashSet...

2020-01-07 17:35:58 65

原创 JVM虚拟机

一个方法对应一个栈帧内存区域当Eden存放满了后会触发minor gc去执行垃圾回收也就是GC Roots当老年代存放满了之后会促发full gcJVM内存分配机制与s垃圾回收算法可达性分析算法 将“GC Roots”对象作为起点,从这些节点开始向下搜索引用的对象,找到的对象都标记为非垃圾对象,其余标记的对象都是垃圾对象GC Roots根节点:线程栈的本地变量,静态变量,本地方法栈的...

2020-01-03 16:05:01 77

原创 sql优化

1.主键顺序插入2.关闭唯一性校验 在导入数据前执行SET UNIQUE_CHECKS=0,关闭唯一性校验,在导入结束后SET UNIQUE_CHECKS=1,再恢复唯一性校验,可以提高导入效率。3.手动提交事务 在导入数据前执行SET AUTOCOMMIT=0,关闭自动提交,到如结束后再设置回来...

2019-12-24 20:03:31 65

原创 线程池

为什么要使用线程池多线程的缺点 处理任务的线程创建和销毁都非常耗时耗资源 多线程之间的切换也非常耗时耗资源解决方法:采用线程池 使用时线程已存在,消除了线程创建的时耗 通过设置线程数目,防止资源不足线程池线程类关系图如下:四种常用的线程池ThreadPollExecutor构造函数的参数较多,使用麻烦,为方便创建线程池,JavaSE中又定义了Executors类,该类提供了四...

2019-12-24 17:36:31 108

原创 Java容器

容器关系图同步容器并发容器因为同步容器将几乎所有的方法都添加了synchronized进行同步,这样虽然保证了线程的安全性,但代价就是严重降低了并发的性能,当多个线程竞争容器时,吞吐量严重降低.java5.0开始针对多线程并发访问重新设计,提供了并发性能较好的并发容器,引入了java.util.concurrent包....

2019-12-24 16:51:02 62

原创 多线程三大特性

原子性原则性,即一个操作或者多个操作要么全部执行,要么都不执行可见性可见性是指多个线程访问同一变量时,一个线程修改了这个变量的值,其他线程能够立即看到修改的值,对于单线程来说,这不是问题.有序性有序性即程序执行的顺序按照代码的先后顺序执行.多线程控制类为了保证多线程的三个特性,java引入了很多线程控制机制,如下:ThreadLocalThreadLocal提供线程局部变...

2019-12-24 14:49:45 196

原创 线程

1.什么是并发与并行并行:指两个或多个事件,在同一时刻发生。并发:指两个或多个事件,在同一时间段内发生2.什么是线程与进程进程 进程是正在运行的程序的实例。 进程是线程的容器,及一个进程中可以开启多个线程。线程 线程是进程内部的一个独立执行单元 一个进程可以同时并发运行多个线程多线程 多个线程并发执行。3.线程创建java中线程有四种创建方式:1.继承Thread类...

2019-12-20 15:44:53 82

原创 MySql数据库索引

聚簇索引与非聚簇索引聚簇索引: 是对磁盘上实际数据重新组织以指定的一个或多个列的值排序的算法 聚簇索引使用主键索引来组织数据,如果不创建主键的话它会默认选择一组合适的列作为主键,如果没有合适列则默认自行创建这样一列。 叶节点包含包含索引字段及值。 特点是存储数据的顺序和索引顺序一致,且一个表只能有一个聚簇索引,因为物理存储只能有一个顺序 非聚簇索引 表数据存储顺序与索引顺序无关。对于...

2019-12-19 14:20:59 64

原创 避免索引失效

1.全值匹配,对索引中所有列都指定具体值。2.最左前缀法则,如果索引有多列,要遵循最左前缀法则。指的是查询从索引的最左前列开始,并且不跳过索引中的列。否者不走索引。3.范围查询右边的列,不能使用索引4.不要在索引列上进行运算操作,索引将失效5.字符串不加单引号,造成索引失效6.尽量使用覆盖所有,避免select * 尽量使用覆盖索引(只访问索引的查询(索引列完全包含查询列)),减少se...

2019-12-19 14:17:46 393

原创 Explain分析执行计划

explain

2019-12-19 12:17:31 122

原创 索引数据结构

索引是帮助MySql高效获取数据的排好序的*数据结构索引数据结构 二叉树 二叉树是每个节点最多有两个子树的树结构。通常子树被称为左子树和右子树 二叉树常被用于实现二叉查找树和二叉堆。 右边值大于父节点及左边 红黑树(也可以叫二叉平衡树) Hash表 B-Tree(也可以叫多叉平衡树) 叶节点具有相同的深度,叶节点的指针为空 所有索引元素不重复 节点中的数据索引...

2019-12-18 10:17:07 92

原创 HTTP详解

HTTP即超文本传输协议HTTP协议采用了请求/响应模式。客户端向服务器发送一个请求,请求头包含请求的方法,URL,协议版本,以及包含请求修饰符,客户信息和内容类似于MIME的消息结构。服务器以一个状态行为作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息,实体元信息以及可能的实体内容。通常HTTP消息包括客户端发送请求和服务器相应请求HTTP的头域包括通用头,请...

2019-12-17 13:26:29 178

原创 序列化的作用及反序列化

一、序列化的定义序列化就是将一个对象状态(各个属性量)保存起来,然后在适当的时间在获取序列化分为:序列化和反序列化。序列化是将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。二、序列化的特点如果某个类能够被序列化,其子类也可以被序列化。声明为static和transient类型的成员数据不能被序列化。因为static代表类的状态, transient...

2019-12-17 10:04:13 1268

原创 MyBatis#和$符号的区别

#将传入的数据都当成一个字符串$将传入的数据直接显示生成在sql中#方式能够防止sql注入$方式无法防止Sql注入

2019-12-17 09:47:48 70

原创 Object有哪些方法

protected Object clone() 创建并返回此对象的一个副本Object对象有个clone()方法,实现了对象中各个属性的复制,但它的可见范围是protected的,所以实体类使用克隆的前提是:① 实现Cloneable接口,这是一个标记接口,自身没有方法。② 覆盖clone()方法,可见性提升为public。浅拷贝和深拷贝浅拷贝:被复制对象的所有值属性都含有与原来...

2019-12-16 19:14:06 104

原创 关于maven下载速度慢的问题

可以配置阿里镜像来提高熟读找到setting.xml文件的位置。找到该xml文件下的标签。把如下代码嵌入到该标签中。alimavenaliyun mavenhttp://maven.aliyun.com/nexus/content/groups/public/central如下图所示:就ok了。...

2019-08-05 16:07:48 104

原创 maven配置阿里镜像,解决maven下载jar包数度慢的问题

找到setting.xml文件的位置。找到该xml文件下的标签。把如下代码嵌入到该标签中。alimavenaliyun mavenhttp://maven.aliyun.com/nexus/content/groups/public/central如下图所示:就ok了。...

2019-08-05 16:04:48 254

原创 关于attr方法和prop方法的区别?

在高版本的jquery中引入了prop,那么什么时候该用prop和attr呢?1.prop()在对HTML元素本身就带有的属性设置时,也是W3C标准里就包含有这几个属性,使用prop方法。像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此使用prop方法去操作才能获得正确的结果。2.attr()在对HTM...

2019-07-19 17:15:51 173

原创 JVM的两个版本Server和Client。

通过命令提示符输入java -version后会输出Java版本信息如下图所示:第一行表示 版本信息第二行表示 开发环境信息第三行 HotSpot表示jvm的核心组件或jvm的名称。Jvm在启动时为我们准备了两个版本一个是Server一个是Client。它们是一个虚拟机,只是采用了不同的机制来初始化自己而已。Client:是针对为C/S结构而提供的虚拟机,针对桌面级应用的内存空间分配做...

2019-07-10 11:27:24 350

空空如也

空空如也

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

TA关注的人

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