自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Linux-grep搜索

(1)grep多条件搜索:    与关系:grep -n '条件1' service.log | grep '条件2' | grep '条件3'    或关系:grep -n service.log | grep '条件1 | 条件2'(2)grep按照时间搜索    与关系,字符条件和时间范围:grep -n 'xapi/v1/contacts' service.log...

2019-09-29 01:00:00 183

转载 有时候我们自认为有用的索引却并不在mysql的选择范围内?

代谢转载于:https://www.cnblogs.com/Booker808-java/p/11574345.html

2019-09-23 19:49:00 290

转载 mysql中,唯一索引和普通索引应如何选择

待写转载于:https://www.cnblogs.com/Booker808-java/p/11568838.html

2019-09-22 19:41:00 189

转载 mybatis用Map<Long,List<String>>作为参数

mapper.xml文件里的<insert id="insertByMap" parameterType="java.util.Map"> insert ignore into custom_search_enums (`search_field_id`,`value`) values <foreach collection="searchKeyMap" i...

2019-09-20 13:56:00 1103

转载 通过url传递json格式字符串,报错,返回码400

引用链接https://blog.csdn.net/weixin_33881753/article/details/92354100转载于:https://www.cnblogs.com/Booker808-java/p/11535694.html

2019-09-17 17:37:00 2319

转载 事务到底是隔离的还是不隔离的?

在之前很长一段时间内,对事务的隔离机制都仅仅局限在“背”这个字上,但是对于底层如何实现解决的可重复读和幻读等一系列问题还是云里雾里。这篇文章,主要还是讲述的是在不可重复读隔离级别下,多事务之间实现的一致性读和当前读以及多事务版本并发控制的细节原理,以便于加深对mysql隔离机制的理解,当然后面还会引入对mysql锁、索引机制等等的问题,慢慢来吧!转载于:https://www.cnb...

2019-09-16 00:42:00 103

转载 AQS-CountDownLatch解析

待写转载于:https://www.cnblogs.com/Booker808-java/p/11223602.html

2019-07-22 01:16:00 64

转载 Java-AQS源码详解

ReentrantLock调用lock()时时序图:addWaiter方法:enq方法:自旋它维护了一个volatile int state(代表共享资源)和一个FIFO线程等待队列(多线程争用资源被阻塞时会进入此队列)。这里volatile是核心关键词,具体volatile的语义,在此不述。state的访问方式有三种:getState()s...

2019-06-13 18:50:00 191

转载 b+tree索引在MyIsam和InnoDB的不同实现方式

普通二叉搜索树当索引的劣势:(1)每个节点占用的空间太少,不能很好的利用磁盘的预读性(2)数据不规律的话,很可能形成链表(3)频繁IOb树当索引机制相比于二叉树的优势和劣势:(1)每个节点有关键字、数据区、子节点指针(2)每个节点存储的数据多,可以充分的利用预读性(mysql一个磁盘页默认是16KB)b+树相比于b树的优势:(1)因为每个节点不存数据区(内...

2019-05-27 00:25:00 238

转载 SpringCloud+ZUUL跨域请求中的OPTIONS请求处理

在设置了header之后,浏览器在发送正式请求前,会先发送一个OPTIONS请求,(据资料)发送OPTIONS请求是为了验证正式请求的有效性,检查服务端是否支持正式请求类型(POST、GET 等),但不清楚服务端底层框架在默认情况下时怎么响应该请求的。而OPTIONS请求中不包含任何用户参数,导致ZUUL中的过滤类型为 pre 的过滤器中的用户校验失败,从而返回用户提示信...

2019-01-28 10:13:00 635

转载 @configuration和@component之间的区别

@configuration和@component之间的区别是:@Component注解的范围最广,所有类都可以注解,但是@Configuration注解一般注解在这样的类上:这个类里面有@Value注解的成员变量和@Bean注解的方法,就是一个配置类。@component多例的,@configuration是单例的转载于:https://www.cnblogs.com/Book...

2019-01-23 09:41:00 1191

转载 redis数据库

(1)每个redis客户端都可以有自己的目标数据库,默认客户端选择的是0号数据库,但是客户端也可以自己选择数据库。同时客户端也会记录当前的目标数据库,这个属性是一个指向redisdb数组(记录所有可连接的数据库)其中一个。 (2)redis是个键值对数据库,由一个字典(哈希表)保存所有的键值对,这个字典成为键空间。对redis键的增删改查其实都是对键空间的操作。每次读写...

2018-12-07 16:08:00 63

转载 redis的主从复制原理

1. 前言 和MySQL主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis主从复制可以根据是否是全量分为全量同步和增量同步。2. 旧版复制功能实现redis复制功能分为同步和命令传播两种操作:(1)同步操作负责将从数据库的状态更新为和主数据库状态一致(2)命令传播操...

2018-10-28 16:57:00 63

转载 Amdahl定律和可伸缩性

性能的思考 提升性能意味着可以用更少的资源做更多的事情。但是提升性能会带来额外的复杂度,这会增加线程的安全性和活跃性上的风险。 我们渴望提升性能,但是还是要以安全为首要的。首先要保证程序能够安全正常的运行,然后在需要的时候进行性能优化,并且优化后的程序要尽可能保持并发性,让多处理中每个cpu尽可能得不要空闲,但是如果程序的并发没有设计好,那么可能会出现并发...

2018-08-30 20:41:00 125

转载 线程池----合理的设置大小

直接创建大量线程的坏处 对于一个web服务器,服务器应用程序会处理来自客户端的请求。假设,每到达一个请求,我们的程序都为该请求创建一个线程来执行请求任务,那么这个创建的线程数目将会是无穷无尽的,“为每一个请求任务分配一个线程”,该做法是存在一些缺陷的,尤其是创建大量线程时:(1)线程的生命周期的开销高:我们要明白线程的创建和销毁是需要代价的,如果说客户端请求的任务是很...

2018-08-24 22:08:00 781

转载 FutureTask用法及解析

1 FutureTask概念 FutureTask一个可取消的异步计算,FutureTask 实现了Future的基本方法,提空 start cancel 操作,可以查询计算是否已经完成,并且可以获取计算的结果。结果只可以在计算完成之后获取,get方法会阻塞当计算没有完成的时候,一旦计算已经完成,那么计算就不能再次启动或是取消。一个FutureTask 可以用来包装一...

2018-08-19 20:04:00 407

转载 Error:Connection activation failed: No suitable device found for this connection

原文链接:https://blog.csdn.net/baiboya/article/details/80452822ens33这个网卡一直无法激活,在网上找了半天,找到这个博主的文章,才解决,虽然不知道原理,但是还是要谢谢该博主!CentOS的启动出错:当执行ifup ens33出现错误:Error:Connection activation failed: No...

2018-08-15 17:53:00 211

转载 桥接模式下,主机能ping通虚拟机,虚拟机ping不通主机

好像是防火墙阻止了什么东西而导致的无法ping通!1.打开WIN7防火墙2.选择高级设置3.入站规则4.找到配置文件类型为“公用”的“文件和打印共享(回显请求 – ICMPv4-In)”规则,设置为允许。5.虚拟机可以ping通主机了!转载于:https://www.cnblogs.com/Booker808-java/p/9469603.html...

2018-08-13 17:23:00 372

转载 LeetCode205----同构字符串

给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以被替换得到t,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = "egg", t = "add"输出: true示例 2:输入: s = "foo", t = "ba...

2018-08-03 12:56:00 120

转载 LeetCode11----盛最多水的容器

给定n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能...

2018-07-29 22:52:00 100

转载 LeetCode75----分类颜色(变相快排)

给定一个包含红色、白色和蓝色,一共n个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶: 一个直观的解决方案是使用...

2018-07-29 20:06:00 83

转载 剑指offer35----复制复杂链表

题目:请实现一个cloneNode方法,复制一个复杂链表。在复杂链表中,每个结点除了有一个next指针指向下一个结点之外,还有一个random指向链表中的任意结点或者NULL。结点的定义如下:public static class ListNode { int val; ListNode next; ListNode random; Lis...

2018-07-09 09:55:00 67

转载 剑指offer32----之字形打印一颗二叉树

题目请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。思路在这里我们如果单纯的使用队列去弄的话,会很麻烦,所有这里我们使用栈结构来实现,如下图所示,我们打印的顺序应该是:1、3、2、4、5、6。(1)我们先把1压入到一个栈(stack1),然后取出1,这时我们把他的左右节点放到另...

2018-07-08 10:54:00 67

转载 剑指offer31----栈的压入、弹出序列

题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)解题思路:建立一个辅助栈,把输入的第一个序列中的数字一次压入该辅助栈,并按照第二个序列...

2018-07-08 09:36:00 54

转载 MySQL----日期处理函数

转载自https://blog.csdn.net/qinshijangshan/article/details/72874667以下基本包含MySQL所有日期时间函数:-- MySQL日期时间处理函数-- 当前日期:2017-05-12(突然发现今天512,是不是会拉防空警报)SELECT NOW() FROM DUAL;-- 当前日期时间:2017-05-12 11...

2018-07-07 12:21:00 162

转载 剑指offer21----数组中奇数偶数

题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。基本实现如果不考虑时间复杂度,最简单的思路应该是从头扫描这个数组,每碰到一个偶数时,拿出这个数字,并把位于这个数字后面的所有的数字往前面挪动一位。挪完之后在数组的末尾有一个空位,这时把该偶数放入这个空位。由于没碰到一个偶数就需要移动O(n)个数字,因此总的...

2018-07-04 00:01:00 302

转载 JVM----Class类文件结构

JVM平台无关性 Java具有平台无关性,也就是任何操作系统都能运行Java代码。之所以能实现这一点,是因为Java运行在虚拟机之上,不同的操作系统都拥有各自的Java虚拟机,因此Java能实现“一次编写,处处运行”。而JVM不仅具有平台无关性,还具有语言无关性。平台无关性是指不同操作系统都有各自的JVM,而语言无关性是指Java虚拟机能运行除Java以外的代码!这听起...

2018-07-01 23:26:00 109

转载 LinkedHashMap源码分析

先来说说它的特点,然后在一一通过分析源码来验证其实现原理1、能够保证插入元素的顺序。深入一点讲,有两种迭代元素的方式,一种是按照插入元素时的顺序迭代,比如,插入A,B,C,那么迭代也是A,B,C,另一种是按照访问顺序,比如,在迭代前,访问了B,那么迭代的顺序就是A,C,B,比如在迭代前,访问了B,接着又访问了A,那么迭代顺序为C,B,A,比如,在迭代前访问了B,接着又访问了B,然后在...

2018-06-30 21:00:00 54

转载 JVM----ClassLoader热替换技术

待写转载于:https://www.cnblogs.com/Booker808-java/p/9240081.html

2018-06-28 18:07:00 200

转载 maven坐标及依赖范围的学习(1)

首先,我们先了解什么是maven的坐标(重中之重):在这里我们可以看到那三个红色的行,基本是pom.xml中出现的最多的配置 例如这个配置:这里我们可以看到我们这个项目的pom文件中,他对名为(maven-jar-plugin)的插件进行了依赖(dependency,依赖)同时这个插件的版本为2.4,不过要注意的是,这个插件并不是一加载这个插件就会执行它的任务,因为这个...

2018-06-27 11:48:00 98

转载 LeetCode347——优先队列解决查询前k高频率数字问题

给定一个非空的整数数组,返回其中出现频率前k高的元素。例如,给定数组[1,1,1,2,2,3], 和 k = 2,返回[1,2]。注意:你可以假设给定的k总是合理的,1 ≤ k ≤ 数组中不相同的元素的个数。你的算法的时间复杂度必须优于 O(nlogn) ,n是数组的大小。 这里已经明确的要求了时间复杂度,那么对于这种前k...

2018-06-27 11:48:00 139

转载 JVM----垃圾收集器

1.根搜索算法1.可达性分析算法 该算法是用来判断一些对象是否存活的,这个算法的起点就是图中的GC Root,,从根开始往下搜索,搜索走过的路径称之为“引用链”,如果一个对象到根节点没有任何一条引用链的话,就说明这个对象是要被回收的。 如图,Object5、Object6、Object7虽然他们互相关联,但是他们与根节点之间没有任务一条引用链,所以都是...

2018-06-27 11:47:00 254

转载 JVM----Java内存区域

运行时数据区域 jvm在执行Java程序时会把他所管理的区域划分为若干个不同的数据区域,这些区域各有各自的用途。如图:1.程序计数器 程序计数器是一块较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器。每条线程都有一个独立的程序计数器,各线程之间的计数器互不影响。如果线程在执行一个java方法,则计数器记录的是正在执行的虚拟机字节码...

2018-06-25 18:35:00 66

转载 JVM----Java内存模型与线程

我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等待成本,但是随着CPU的发展,内存的读写速度也远远跟不上CPU的读写速度,因此,为了解决这一纠纷,CPU厂商在每颗CPU上加入了高速缓存,用来缓解这种症状,因此,现在CPU同内...

2018-06-24 18:16:00 105

转载 JVM----双亲委派模型

加载类的开放性 我们在了解双亲委派模型之前,不得不先了解一下什么是类加载器。虚拟机设计团队之初是希望类加载过程“通过一个类的全限定名来获取描述该类的二进制字节流”这个动作能放到虚拟机外部实现,以便于让程序自己决定如何获取该类,实现这个动作的代码的工具成为类加载器。 可能很多人觉得类加载器,顾名思义,就是个加载类的嘛,有啥大不了的,但是类加载这个过程是很...

2018-06-24 15:24:00 82

转载 LeetCode687----最长同值路径

给定一个二叉树,找到最长的路径,这个路径中的每个节点具有相同值。 这条路径可以经过也可以不经过根节点。注意:两个节点之间的路径长度由它们之间的边数表示。示例 1:输入: 5 / \ 4 5 / \ \ 1 1 5输出:2...

2018-06-22 23:11:00 131

转载 LeetCode109----链表转为二叉搜索树

给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树: 0 / \...

2018-06-15 15:52:00 107

转载 快速排序算法过程及其代码优化

快速排序,就是我们选取数组里的一个基数,根据基数,我们把整个数组分为两部分,一边是大于该基数的,一边是小于该基数的。 如上图所示,我们选取6作为基数,经过一系列的排序后,6处于它在排序好的数组中应该存在的位置,两边分别是大于它和小于它的数字,然后我们再分别对两边分别递归快排,之后再对两边分别递归快排,之后全部汇总,得到一个有序的数组。但是我...

2018-06-13 18:40:00 159

转载 LeetCode82----删除排序链表中的重复元素 II

给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中没有重复出现的数字。示例1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例2:输入: 1->1->1->2->3输出: 2->3代码如下:public class MyLeetCo...

2018-06-10 09:23:00 105

转载 LeetCode83----删除排序链表中的重复元素

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1:输入: 1->1->2输出: 1->2示例2:输入: 1->1->2->3->3输出: 1->2->3思路:(1)定义两个指针,cur1和cur2,初始时cur1指向head,cur2指向head.next(2)如果俩指针的值相等,就...

2018-06-10 09:20:00 69

空空如也

空空如也

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

TA关注的人

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