自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 解决 sun.security.validator.ValidatorException: PKIX path building failed:

错误信息:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:unable to find

2020-12-14 21:33:45 5942 1

原创 分表和表分区

分表和表分区分区表的限制创建分区表1、 range分区创建一个 range分区CREATE TABLE `test_01` ( `id` int(11) NOT NULL, `c1` date NOT NULL, PRIMARY KEY (`id`,`c1`)) PARTITION BY RANGE (to_days(c1))( PARTITION p20170801 VALUES LESS THAN (736907) ENGINE = InnoDB, PARTITION

2020-12-09 13:20:53 481

原创 算法 - 链表操作 - javascript版

https://www.cnblogs.com/bigsoft-185025529/p/10098622.html

2020-12-08 17:10:52 149

原创 环境安装 - Java 技术栈

openjdk下载链接下载地址 http://jdk.java.net/, 安装openjdk1.8wget -O openjdk.tar.gz https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gztar -xvf openjdk.tar.gzmv java-se-* java8Redis下载安装下载地址: http://download.redis.io/relea

2020-12-08 08:25:42 181

原创 使用 vagrant 创建多节点虚拟机集群

在做 集群实验环境时候需要用到创建一个虚拟机集群,比如做 Redis集群、Hadoop、Spark 分布式系统运行环境。我们可以使用 Vagrant 创建多个虚拟机集群环境。安装软件VirtualBoxVagrantVagrant Manager下载Boxvagrant box add ubuntu/trusty64编辑Vagrantfile 文件mkdir vagrant-clustercd vagrant-clustervi VagrantfileVagrantfile 内

2020-12-07 22:26:40 404

转载 POST,PUT,PATCH的区别

如果你对HTTP的POST,PUT,PATCH方法之间的区别不是很明朗,那么这篇文章应该能帮到你首先解释一下“幂等”的概念:在编程中一个 “幂等” 操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同POST方法:POST方法是用来创建一个新的数据的POST方法不是幂等的,意味着他的结果不会是相同的,重复进行POST方法会导致多条相同的数据被创建虽然多次执行结果不是相同的,但其实这些数据除了自增的id不同以外,其他部分的数据都是相同的PUT方法:PUT比较正确的定义是:Repla

2020-12-02 08:16:20 2218

原创 JVM基础 - Java中8中基本数据类型

先看一个基本概念bit 比特 是 二进位制信息单位,即0,1然后看8种基本类型整型byte 1字节 8位元组,即8位bit, 可存储-28~27 (-128 ~ 127)short 2字节 2*8 = 16 bit -216~215 (-32768 ~ 32767)int 4字节 4*8 = 32 bit -232~231 (-2147483

2020-12-01 09:42:24 126

转载 JVM调优 - JVM内存溢出

如果你做TCP通讯或者map集合操作,并发处理等功能时,很容易出现 Java 内存溢出的问题。本篇文章,带领大家深入jvm,分析并找出jvm内存溢出的代码。jvm中除了程序计数器,其他的区域都有可能会发生内存溢出内存溢出是什么当程序需要申请内存的时候,由于没有足够的内存,此时就会抛出OutOfMemoryError,这就是内存溢出内存溢出和内存泄漏有什么区别内存泄漏是由于使用不当,把一部分内存“丢掉了”,导致这部分内存不可用。当在堆中创建了对象,后来没有使用这个对象了,又没有把整个对象的相关引用

2020-12-01 01:03:04 199

转载 系统信息查看命令: w vmstat top sar nload

使用w查看系统负载相信所有的linux管理员最常用的命令就是这个 w 了,该命令显示的信息还是蛮丰富的。第一行从左面开始显示的信息依次为:时间,系统运行时间,登录用户数,平均负载。第二行开始以及下面所有的行,告诉我们的信息是,当前登录的都有哪些用户,以及他们是从哪里登录的等等。其实,在这些信息当中,我们最应该关注的应该是第一行中的 ‘load average:’ 后面的三个数值。第一个数值表示1分钟内系统的平均负载值;第二个数值表示5分钟内系统的平均负载值;第三个数值表示15分钟系统的平均负载值。这个

2020-11-30 23:26:33 176

原创 JVM调优 - 排查Java程序CPU100%问题

找出CPU100%的线程执行 top -c ,显示进程运行信息的列表;按P, 进程按照CPU使用率排序,并找出CPU最高PID (如: PID - 3033 最高 )找出消耗CPU最高的线程号 top -Hp 3033 ; 并按 P, 进程按照CPU的使用率排序 (如:PID - 3034 的线程消耗CPU最高)由于Java线程栈文件中的线程ID是十六进制,而top获得 PID是十进制,这里我们需要将十进制转换为十六进制,如下echo "obase=16;3034" | bc# 输出 `BDA`

2020-11-30 23:00:39 1111 1

原创 算法 - 字符串处理 - javascript版

查询字符串中出现前三最多字符function searchTopThree(str) { let map = new Map(); for (let t of str) { if (map.has(t)) { map.set(t, map.get(t) + 1); } else { map.set(t, 1); } } let arr = []; for (let k of map.keys()) { const n = ar.

2020-11-30 17:27:45 160

转载 脏读、不可重复读、幻读的区别

脏读、不可重复读、幻读的区别脏读:另一个事务修改了数据,但尚未提交,而本事务中的SELECT会读到这些未被提交的数据。不重复读:解决了脏读后,会遇到,同一个事务执行过程中,另外一个事务提交了新数据,因此本事务先后两次读到的数据结果会不一致。幻读:解决了不重复读,保证了同一个事务里,查询的结果都是事务开始时的状态(一致性)。但是,如果另一个事务同时提交了新数据,本事务再更新时,就会 “惊奇的” 发现了这些新数据,貌似之前读到的数据是“鬼影”一样的幻觉。具体地:1.脏读: 脏数据是指事务对缓冲池中的行

2020-11-28 06:59:11 237

原创 算法 - 计算墨水污染的格子 - javascript 版

如下二维数组代表一个棋盘中的每个格子,其中0标识被墨水污染的格子,1标识干净的格子,由于相邻的墨水会合并成一滴墨水,如下所示代表棋盘上有3滴墨水。[ [1,0,1,1,1,1], [1,1,1,1,0,1], [1,1,1,1,0,0], [1,1,0,1,1,1], [1,1,0,1,1,1], [1,1,1,1,1,1],]请编程计算棋盘上有几滴墨水。解:const arr = [ [1, 0, 1, 1, 1, 1], [1, 1, 1, 1,.

2020-11-22 00:44:37 521 5

原创 算法 - 二叉树操作 - javascript版

二叉树的递归遍历方式:前序遍历:先遍历根结点,然后左子树,再右子树中序遍历:先遍历左子树,然后根结点,再右子树后续遍历:先遍历左子树,然后右子树,再根结点二叉树的非递归遍历:深度优先遍历(主要利用栈的先进后出)广度优先遍历(主要利用队列的先进先出)定义TreeNodeconst Node = function (value) { this.value = value this.left = null this.right = null}Node.createTre

2020-11-21 23:39:22 95

原创 算法 - 二分查找 - JavaScrip 版

非递归实现function binarySearch(arr, target) { let left = 0; let right = arr.length - 1; let mid; while (left <= right) { mid = Math.floor((left + right) / 2); if (arr[mid] < target) { left = mid + 1; } else if (arr[mid] === tar

2020-11-21 16:31:09 89

原创 算法 - 数据结构概述

1. 数组(Array)数组是一种聚合数据类型,它是将具有相同类型的若干变量有序地组织在一起的集合。数组可以说是最基本的数据结构,在各种编程语言中都有对应。一个数组可以分解为多个数组元素,按照数据元素的类型,数组可以分为整型数组、字符型数组、浮点型数组、指针数组和结构数组等。数组还可以有一维、二维以及多维等表现形式。2. 栈(Stack)栈是一种特殊的线性表,它只能在一个表的一个固定端进行数据结点的插入和删除操作。栈按照后进先出的原则来存储数据,也就是说,先插入的数据将被压入栈底,最后插入的数据在栈.

2020-11-21 16:22:57 947

原创 算法 - 快速排序 - javascript 版

非递归快速排序function quickSort(num) { const list = [[0, num.length - 1]]; while (list.length > 0) { let now = list.pop(); if (now[0] >= now[1]) { continue; } let i = now[0], j = now[1], flag = now[0]; while (i &l

2020-11-21 16:05:27 122

原创 算法 - 实现数字转excel列标转换 - javascript版

实现一个方法,将任意一个自然数(不用考虑整数溢出)变为相应的字符串举一些例子。根据映射规则:1-A, 2-B, 3-C, …, 26-Z, 27-AA, 28-AB, … , 52-AZ, 53-BA, 54-BB, …,function numToString(number){ const array = []; let numToString = function(nnum) { let num = nnum - 1; let a = parseInt(num / 26).

2020-11-21 11:55:30 557

原创 经常用到的 Java / js 的数组操作

unshift 方法可向数组的开头添加一个或更多元素,并返回新的长度push 将一个或多个新元素添加到数组结尾,并返回数组新长度shift 移除最前一个元素并返回该元素值,数组中元素自动前移pop 移除最后一个元素并返回该元素值splice 以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素concat 将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组reverse 反转元素(最前的排

2020-11-21 11:42:03 147

原创 算法 - LRU算法实现 - JavaScript版

LRU全称是Least Recently Used,即最近最久未使用的意思。LRU算法的设计原则是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。常用的案例是页面置换算法,就是要将不受欢迎的页面及时淘汰,免得浪费资源。实现 LRU用一个数组来存储数据,给每一个数据项标记一个访问时间戳,每次插入新数据项的时候,先把数组中存在的数据项的时间戳自增,并将新数据项的时间戳置为0并插入到数组中。每次访问数

2020-11-21 03:54:35 462

原创 经典思维面试题

1. 有两根香,每一根香的粗细是不均匀的,每一根香燃烧完毕需要1个小时,因为香的粗细是不均匀的,所以不能依靠香的长度比例来判断时间长短,问题是,怎么设置一个15分钟的定时器2根同时点,一根点一头,一根点两头.点两头的烧完的时候就是半个小时,这时候把点一头的香另一头点上,到烧完不就是15分钟2. 有3L和5L两个没有刻度的玻璃杯,你能用这两个杯子在不浪费水的情况下量出4L和7L的水吗?应该是 先加满5升杯,倒3升于小杯中,剩2升,小杯倒掉,大杯的2升倒入小杯,再将大杯装满,共7升。将大杯倒入小杯中

2020-11-21 00:16:10 4820 1

原创 算法 - 斐波那契 - javascript 版

输出一组斐波那契数列 (普通法)function queryFibonacci(n) { const arr = [1, 1] while(arr.length < n) { arr.push(arr[arr.length - 2] + arr[arr.length - 1]) } return arr}console.log(queryFibonacci(10))

2020-11-20 22:41:36 173

原创 Google监控的4个黄金指标

监控的意义监控将系统和应用程序生成的指标转换为对应的业务价值;不构建指标或监控将存在严重的业务和运营风险,这将导致:·无法识别或诊断故障;·无法衡量应用程序的运行性能;·无法衡量应用程序或组件的业务指标以及成功与否,例如跟踪销售数据或交易价值监控系统两个“客户”:– 技术– 业务监控的机制监控数据类型Google监控的4个黄金指标Four Golden Signals是Google针对大量分布式监控的经验总结,4个黄金指标可以在服务级别帮助衡量终端用户体验、服务中断、业务影响等层面的问

2020-05-12 10:43:25 1797

空空如也

空空如也

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

TA关注的人

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