自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 jdk1.8之函数式接口

jdk1.8 函数式编程之Function , Consumer, Supplier, Predicate

2023-01-10 10:48:42 1198 1

原创 Java多线程通信-CyclicBarrier(栅栏)

一、CyclicBarrier(栅栏)    通过闭锁,我们可以启动一组相关的操作、或者等待一组相关的操作结束。闭锁是一次性对象,到达终止状态后将不可用。    CyclicBarrier与闭锁类似,能够延迟一组线程的进度直到到达某个状态。栅栏与闭锁的关键区别在于:所有线程必须同时到达栅栏位置,才能继续执行。闭锁用于等待事件,而栅栏等待其它线程。    线程在到达栅栏位置时,将调用a

2022-05-27 16:32:59 1353

原创 Java多线程通信-Semaphore(信号量)

2022-05-26 19:35:04 2150

原创 Java多线程通信-CountDownLatch(闭锁)

一、CountDownLatch(闭锁)  闭锁是一个同步工具类-它可以延迟线程的进度直到其到达终止状态。闭锁的作用相当于一扇门:在到达结束状态之前,这扇门是关闭的,并且不允许任何进程通过。当到达结束状态时,这扇门会打开并允许所有的线程通过。当闭锁到达结束状态后,将不会再改变状态,因此这扇门会一直打开。闭锁可以用来确保某些活动直到其它活动都完成后才继续执行。  CountDownLatch是一种灵活的闭锁实现。它可以使一个或多个线程等待一组事件的发生。闭锁状态包含一个计数器,它被初始化为正整数,表示需要

2022-05-06 15:26:59 1103

原创 Java线程详解:wait、notify、notifyAll、join

线程的概念线程是进程的子任务,一个进程可以创建多个线程,线程不拥有系统资源,但是线程可以共享进程的资源,而线程自己也有一块独立的小块空间:包括堆栈,程序计数器和局部变量。线程是CPU调度和分派的基本单位。在同一时刻cpu只能执行一段代码,或者说叫一段顺序执行流,也就是线程。cpu在不同的线程之间来回切换,因为cpu的运行速度非常高,看起来就像这些线程一起执行一样,这就是并发。线程状态...

2022-04-22 17:04:18 1236

原创 Java内置锁 synchronized

synchronized 同步代码块组成      在上一篇文章: 线程安全性的基本概念中,讲到过当多个线程访问状态变量,并且至少有一个线程会修改变量的值时,就需要采用同步机制来协调这些线程对对象的访问。这里说的”同步机制“包括:synchronized关键字、volatile变量、显式锁、ThreadLoacl变量以及原子变量。      今天梳理一下synchronized 关键字

2022-04-15 10:14:02 427

原创 线程安全性的基本概念

线程安全性      我们总是说要编写线程安全的代码,有时候也会讨论某个类是不是线程安全的。那到底什么是线程安全性呢?      网上有很多说法:可以被多个线程调用,并且线程之间不会出现错误的交互;多个线程调用时,不需要做额外的动作等等。但这话,明明什么都说了,又好像什么都没有说。到底怎么才能在多个线程之间安全地调用呢,怎么算安全呢?正确性   &

2022-04-12 14:28:19 2422

原创 线程池之 ThreadPoolExecutor

网上一堆 ThreadPoolExecutor 的解读,有些可能还相互矛盾,其实 ThreadPoolExecutor类的注释中就有大量的说明,本文基于jdk1.8.0中代码注释加上自己的一点理解与实践一、为什么使用线程池线程池主要解决2个方面的问题:提升性能在执行大量异步任务时,由于减少了任务执行的开销而明显提升性能。并且在执行一系列任务集合时,线程池提供了一种限制并管理资源(包括线程在内)的一种方法。按我的理解,线程池能够重用之前的线程,甚至可以预创建线程,这就在实际任务执行时减少了创建线程

2022-04-01 10:03:39 1240

原创 Mysql之explain详解

explain字段说明在需要执行的sql语句前面加上 explain 可以模拟优化器对语句的执行过程。示例说明: explain select * from sys_user;explain会返回1条或多条数据,下面解释各列含义:1、 id 执行顺序。这是一个相对大小,表示各条语句执行的先后顺序,越大越先执行,id相同时从上到下执行。另外在union查询时,外层的union结果语句的id为null,同时这一行的table列会是<unionM,N>的形式,表示引用 id 值为 M 和

2022-03-02 11:06:05 1262

原创 Mysql优化(2):索引在InnoDB, MyISAM中的区别、聚簇索引,hash索引、主键索引与非主键索引,表数据文件

本篇主要是对于一些概念性的答疑索引在InnoDB和MyISAM中的区别我们先看看在InnoDB和MyISAM中,数据文件的不同形式。不管是索引还是数据,最终它都要落到磁盘上存储起来(数据库能存东西,总不能是凭空而来的,最终都要落地到磁盘文件上)。MyISAM中,每新建一个表,都会产生三个文件: 后缀分别是 .frm、 .MYD、 .MYI。文件名对应的就是表名:例如新建了一个 myisa...

2022-02-26 23:55:29 275

原创 jenkins修改镜像源

进入 Manage Jenkins -》 Manage Plugin -> Advanced 最下面有 Update Site 设置为:http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json或者直接修改配置文件vim /var/lib/jenkins/hudson.model.UpdateCenter.xml将url 改为 http://mirrors.tuna.tsinghua.edu.cn/jenkin..

2022-02-26 23:51:09 3123

原创 Mysql 联合索引

联合索引底层数据结构        MySQL可以使用多个字段同时建立一个索引,叫做联合索引。上文中讲到索引的底层结构就是一个二叉树,联合索引也是一样,它的非叶子节点中存的就不只是一个列,是索引的所有列,并且它的排序就是根据索引列的先后顺序来排的。    例如建立了一个(‘name’,‘age’,‘position’)三个列的联合索引,那么非叶子节点中就存储了name,age,posi

2022-02-25 16:27:50 5115

原创 清华jenkins rmp包下载地址

清华jenkins rmp包下载地址https://mirrors.tuna.tsinghua.edu.cn/jenkins/

2022-02-25 14:47:11 249

原创 VirtualBox复制CentOS后提示Device eth0 does not seem to be present的解决方法

问题说明使用VirtualBox复制一份CentOS后,发现网络不同。开启网络服务报错:原因在于原先的服务器的mac地址跟新的地址不一致。解决方案:一、修改/etc/udev/rules.d/70-persistent-net.rules文件内容打开/etc/udev/rules.d/70-persistent-net.rules文件,会发现里面不只有eth0的信息,还多了一个eth1eth0是原来的老的服务器的mac地址,eth1是现在新的mac地址。那我们把eth1的mac地址复制到et

2022-02-22 23:41:59 244

原创 VirtualBox 桥接模式,虚拟机能ping通主机但无法上网

查看主机的网卡是否开启Internet连接共享

2022-02-22 17:40:30 2714

原创 VirtualBox 桥接模式,虚拟机ping不通宿主机

按照网上教程设置好虚拟机网络之后,怎么都ping不通宿主机。方案一:修改防火墙入站规则打开控制面板,找到Windows Defender 防火墙,点击高级设置,在入站规则里找到文件和打印机共享(回显请求 - ICMPv4-In),右键启用规则如图,启用的规则会带有绿色对号标识...

2022-02-22 17:12:16 2168

原创 LVM扩容操作

文章目录一、测试环境二、给lvm分区扩容(加硬盘)1.新增硬盘2.给新的硬盘分区3、Lvm操作查看卷组状态:`vgdisplay`创建物理卷:`pvcreate /dev/sdb1`扩展卷组: `vgextend 卷组名 物理卷路径`扩展逻辑卷: lvextend拉伸文件系统:xfs_growfs 或者 resize2fs4、验证结果:参考文档一、测试环境我是在virtualbox上安装的测试环境:centos。其具体硬盘配置如下df -Th磁盘情况: fdisk -l今天主要是分别操作下

2021-04-25 11:08:03 9371

转载 JSON.toJSONString中序列化空字符串遇到的坑

https://www.cnblogs.com/wang-meng/p/33d93b7f748ba3cf5bd06a80f886f238.html

2021-03-02 17:23:29 803

原创 Mysql优化(1):索引原理-B+树

什么是索引    首先,我们经常会听到一个说法:怎么对mysql进行优化。十个里有九个半会说:加索引,索引优化啊。确实,对mysql进行优化,最有效、最能解决问题、最普遍的方式就是设计合适的索引,正确的索引能够将查询效率提升好几个数量级。为什么索引能够显著提升查询效率呢,我们从索引结构来一点点讨论。    索引是什...

2020-03-28 20:00:53 703

转载 tc命令——Linux基于IP进行流量限速

https://blog.csdn.net/zhongbeida_xue/article/details/54613750

2019-12-23 17:12:19 1586

原创 同步时间

系统时间与硬件时间一台计算机有两个时钟,一是硬件时间时钟(RTC,Real Time Clock,又实时时钟),二是系统时钟(System Clock);1 概念硬件时钟是嵌在主板上的特殊电路,平时关机后还可计算时间;系统时钟是操作系统的kernel用以计算时间的时钟;2 工作原理在Linux系统下,系统时间在开机时会和硬件时间同步,随后各自独立运行;默认情况下,系统时间和硬件时间不...

2019-12-23 16:10:57 263

原创 sha512sum 校验文件

我们在下载一些软件,例如 tar 包的时候,经常会连带着一起把它的sum校验文件下载下来,以校验文件是否完全下载,确保在网络传输过程中没有出错。下面我将以tomcat为例说明如何进行校验我下载了apache-tomcat-8.5.47.tar.gz 包,顺带下载了其 sha512 校验码。放到同一个目录下,接下来可以利用 sha512sum 命令来进行校验了直接输出校验码, 跟 .sha5...

2019-12-16 10:19:54 6542

原创 JVM - 类加载机制

类加载子系统在 JVM 中的位置首先我们来从宏观的角度看看,类加载机制在整个Java虚拟机中处于一个什么位置,先来一张JVM的组成结构图:类加载子系统是数据JVM 的上层建筑,只有将类从class二进制流加载到内存中,并校验准备解析通过才能正式的被Java 虚拟机所使用。虚拟机把类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成虚拟机直接使用的Java类型,这...

2019-12-01 15:37:30 131

原创 linux下设置开机启动项

服务(脚本)开机自启的几种方式工作中正好要将某个脚本开机自启,百度了一下大概有几种方法:将脚本放到 /etc/init.d/ 目录下,再在 /etc/rcN.d (N 表示 0~6 这7个数字,分别代表 linux 的七个运行级别)目录下创建脚本的软连接将脚本放到 /etc/inid.d/ 目录下, 执行 chkconfig --add 脚本编辑 /etc/rc.d/rc.local ,...

2019-11-11 21:16:37 1105

原创 记一次安装mysql报错的经历以及linux下安装软件的总结

一、事情经过确认安装 mysql5.6想安装下mysql到我的虚拟机上的centos上,考虑到实际生产环境中mysql5.6,5.5的版本用的最多,mysql5.7甚至mysql8.*很少,所以确定安装mysql5.6 版本。下载 mysql5.6网上找了个国内镜像,下载rpm包。像windows上下载软件包似的,我直接下载了最新版本。安装mysql-server下载了安装包放到c...

2019-10-29 17:57:34 196

原创 远程连接mysql失败异常,未配置权限,skip-name-resolve以及防火墙

刚安装好 mysql之后,用 navicat 连接MySQL ,是连不上的。mysql 默认是只能本地连接,如果需要远程连接,需要配置连接权限。我的mysql 版本是 MySQL 5.6.40查看权限首先登录到mysql ,mysql -u root -p, 输入密码登录进去mysql > show grants;这是root 用户对localhost的权限,如果需要远程登录,查...

2019-10-29 17:40:50 2464

原创 记录安装mysql5.6到centos6上面的经历

下载MySql rpm安装包。国外网站下载太慢,国内镜像下载吧http://mirrors.sohu.com/mysql/MySQL-5.6/注意下载 el6 版本的包,el7 是linux 7上使用的,不要直接就奔最新版本去了。主要需要下载两个,server 和 client ,如果安装的时候还需要别的依赖包,再来下载就是了。安装 rpm -ivh MySQL-server-5.6...

2019-10-29 10:21:09 76

转载 解决MySQL报错:1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'informat

一、问题描述新安装的MySQL5.7.22 或 8.0.11,在 Navicat 上执行任一查询操作时,遇到报错:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘information_schema.PROFILING.SEQ’ ...

2019-10-22 16:01:56 7519 4

转载 关于centos7下/etc/sysconfig/目录没有iptables问题

在新买的centos7服务器中想打开防火墙,采用传统centos6的方式用service iptables restart/stop/status 之后报错:而在/etc/sysconfig/目录下也没有iptables文件。这是因为centos7与centos6的区别。解决办法:不管防火墙关没关,都是用systemctl stop firewalld 关闭防火墙。然后使用yum ins...

2019-10-22 15:59:19 581

转载 linux 设置时区

参考 https://www.cnblogs.com/librawhj/p/8989755.html

2019-09-26 09:29:03 128

转载 virtualbox安装centos没有64位选项的问题

用VirtualBox安装 64位的Ubuntu系统,在安装时没有显示64位的Linux安装项,只有32位的Linux安装选项。为了以后遇到能够快速解决,我就把坑在这里填了吧。要安装64位的虚拟机要满足下面几个条件:1、CPU要是64位2、CPU开启了虚拟化下面来谈谈解决第一个关于CPU的位数,就不讲了关于CPU虚拟化,可以通过BOIS来开启1、进入BOIS后进入Security选项...

2019-09-24 17:12:10 1834

转载 5分钟读懂MySQL字符集设置

https://www.cnblogs.com/chyingp/p/mysql-character-set-collation.html

2019-09-15 11:13:50 99

转载 virtualbox新版本安装Liunx时鼠标不见了,但是点击、滚动有反应解决方案

https://blog.csdn.net/CLinuxF/article/details/86569552

2019-09-07 01:16:30 898

原创 linux scp服务器之间文件复制

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。命令格式scp [参数] [源路径] [目的路径]** 如果目的地址存在相同的文件,将会被覆盖 **命令功能scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。li...

2019-08-31 13:54:51 720

原创 win8 提示内存不足,强制退出(但内存使用量只到80%)

问题重现最近在开发的时候,idea经常提示内存不足,导致tomcat强制退出。网上搜了许多方法,都说在tomcat的java启动参数里添加内存限制:Xms Xmx PermSize MaxPermSize试过,没用,并且导致tomcat更频繁的退出。在任务管理器上看内存使用率发现最多达到80%,程序就退出了。后面的20%的内存根本利用不上!这就是应该是windows内存设置的问题了。...

2019-08-24 09:50:18 919

原创 sed 命令

显示 n-m 行之间的内容sed -n '1,1000p' file显示文件 file 从 1 到1000 的数据显示从 n 行到文件末尾的内容sed -n '1000,$p' file显示文件 file 从 1000 行到末尾的内容...

2019-08-04 12:10:14 148

原创 vim 常用命令

文本替换s:替换;g:=global,全部。如果不加g则只会替换每行第一个word1:1,20s/hello/helloworld/g 将1,20行中的 hello 替换为 helloworld统计字符串出现次数:%s/pattern//gn参数说明:% - 指明操作区间,%表示全文本;可以使用1,$或者行区间代替s – substitute,表示替换pattern - 要查找的字...

2019-07-31 10:25:22 191

原创 linux 文档搜索

我们经常需要搜索某个文件,但是不知道文件放在哪里了。主要会用到一下命令whichwhereislocatefind

2019-07-26 09:14:41 112

原创 fastjson总结

** fastjson 版本: 1.2.36 **主要 API序列化 API (String JSON.toJSONString(Object …)) : 将对象序列化为 json 字符串反序列化 API (T JSON.parseObject(String str, …)) 将 json 字符串序列化为对象.JSON.toJSONString(Object …)有多个重载方法,不同的...

2019-07-09 14:46:42 2384

原创 virtualbox 安装centos7之后无法ssh登陆

virtualbox 安装 centos7virtualbox安装centos7很简单,百度教程一大堆,这次我没做任何自定义分区,使用的默认分区。

2019-07-08 11:29:16 5198 1

空空如也

空空如也

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

TA关注的人

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