自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 mysql 5.7.18版本,linux系统下的安装

一、首先到官网下载吧:https://dev.MySQL.com/downloads/file/?id=469456二、解压:#tar -xvf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar解压后有如下rpm:[root@hostaa mysql_rpm]# ls -l 总用量 1141908-rw-r--r-- 1 root roo

2017-08-11 11:55:54 1029

原创 学习笔记(01):spring cloud gateway源码级讲解-springCloudGateway术语与原理

本课程系统的讲解spring cloud gateway 1、spring cloud gateway的原理 2、spring cloud gateway的功能,会带着大家把官方文档过一遍 3、spring cloud gateway的搭建 4、spring cloud gateway结合注册中心,负载均衡 5、spring cloud gateway整合dubb...

2020-04-14 13:04:48 235

转载 java 进程占用系统内存过高分析

JVM的内存先放一张JVM的内存划分图,总体上可以分为堆和非堆(粗略划分,基于java8)那么一个Java进程最大占用的物理内存为:Max Memory = eden + survivor + old + String Constant Pool + Code cache + compressed class space + Metaspace + Thread st......

2020-03-09 15:57:26 14386

原创 执行maven打包的main方法

cd target/classesmvn exec:java -Dexec.mainClass="com.ota.flight.city.PolicyDemo" -f ../../pom.xml

2019-07-16 13:26:18 654

转载 ThreadLocal 详解

ThreadLocal是什么ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不通的变量值完成操作的场景。从数据结构入手下图为ThreadLocal的内部结构图ThreadLocal结构内部从上面的结构图,我们已经窥见ThreadLo...

2018-11-16 11:19:18 190

原创 Kafka、RabbitMQ、RocketMQ 使用场景

Kafka是LinkedIn开源的分布式发布-订阅消息系统,目前归属于Apache定级项目。Kafka主要特点是基于Pull的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输。0.8版本开始支持复制,不支持事务,对消息的重复、丢失、错误没有严格要求,适合产生大量数据的互联网服务的数据收集业务。RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实...

2018-11-12 11:05:50 1617

转载 Java虚拟机垃圾回收(三) 7种垃圾收集器  应用场景

 Java虚拟机垃圾回收(三) 7种垃圾收集器 主要特点 应用场景 设置参数 基本运行原理        在《Java虚拟机垃圾回收(一) 基础》中了解到如何判断对象是存活还是已经死亡?在《Java虚拟机垃圾回收(二) 垃圾回收算法》了解到Java虚拟机垃圾回收的几种常见算法。       下面先来了解HotSpot虚拟机中的7种垃圾收集器:Serial、ParNew、Par...

2018-11-09 14:55:58 693

转载 浅谈MySQL的B树索引与索引优化

 2018-11-09MySQL的MyISAM、InnoDB引擎默认均使用B+树索引(查询时都显示为“BTREE”),本文讨论两个问题:为什么MySQL等主流数据库选择B+树的索引结构? 如何基于索引结构,理解常见的MySQL索引优化思路?为什么索引无法全部装入内存索引结构的选择基于这样一个性质:大数据量时,索引无法全部装入内存。为什么索引无法全部装入内存?假设使用树结...

2018-11-09 13:57:34 190

转载 线程池的设置

高并发,执行耗时短的任务,还有低并发,执行耗时长的任务,各自选取什么样的线程池比较合理?为什么?如果业务场景是高并发,且任务耗时长时,有什么解决思路?线程池的关键点是:1、尽量减少线程切换和管理的开支; 2、最大化利用cpu。对于1,要求线程数尽量少,这样可以减少线程切换和管理的开支;对于2,要求尽量多的线程,以保证CPU资源最大化的利用。 所以对于任务耗时短的情况,要求线程尽量少,如...

2018-11-09 10:04:36 188

转载 ThreadPoolExecutor线程池参数设置技巧

ThreadPoolExecutor线程池参数设置技巧一、ThreadPoolExecutor的重要参数 corePoolSize:核心线程数 核心线程会一直存活,及时没有任务需要执行 当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理 设置allowCoreThreadTimeout=true(默认false)时,核心线程会超时关闭 queue...

2018-11-02 10:34:59 134

原创 volatile 实现原理

定义java编程语言允许线程访问共享变量,为了确保共享变量能够被准确和一致的更新,线程应该通过排他锁获得这个变量。java提供了volatile,在某些情况下比锁更加方便。如果一个字段被声明成volatile,java线程内存模型确保所有线程看到的这个变量的值是一致的。内存模型的相关概念大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取...

2018-10-19 15:56:55 179

转载 zookeeper leader 选举算法

http://www.cnblogs.com/leesf456/p/6107600.html一、前言  前面学习了Zookeeper服务端的相关细节,其中对于集群启动而言,很重要的一部分就是Leader选举,接着就开始深入学习Leader选举。二、Leader选举  2.1 Leader选举概述  Leader选举是保证分布式数据一致性的关键所在。当Zookeeper集群中的一...

2018-10-18 18:06:12 185

转载 JVM面试题

1、你知道哪些或者你们线上使⽤什么GC策略?它有什么优势,适⽤于什么场景? 参考 触发JVM进行Full GC的情况及应对策略。 https://blog.csdn.net/chenleixing/article/details/46706039/ 2、Java类加载器包括⼏种?它们之间的⽗⼦关系是怎么样的?双亲委派机制是什么意思?有什么好处? 启动Bootst...

2018-07-31 19:32:15 284

原创 docker搭建kafka集群

一、安装docker1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。通过 uname -r 命令查看你当前的内核版本 $ uname -r2、使用 root 权限登录 Centos。确保 yum 包更新到最新。$ sudo yum update3、卸载旧版本(如果安装过旧版本...

2018-07-31 14:56:35 2601 1

原创 redis 集群模式安装文档

参考文档:https://www.cnblogs.com/boshen-hzb/p/7699783.html  一、Redis(3.2.1)Centos7安装1.1下载安装Redis3.2.1稳定版--64位放在mnt的redisDB目录下mkdir  -p  /mnt/redisDb/cd  /mnt/redisDb/wget  http://download.red...

2018-07-27 18:01:53 357

原创 centos7 yum命令安装

wget http://mirrors.163.com/centos/6/os/i386/Packages/python-2.7.5-68.el7.x86_64.rpmwget http://mirrors.163.com/centos/6/os/i386/Packages/python-libs-2.7.5-68.el7.x86_64.rpmwget http://mirrors.163.c...

2018-07-27 18:00:29 9517 1

转载 JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解

JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解 - 实例分析原文  http://josh-persistence.iteye.com/blog/2161848第一部分:工具介绍部分:现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(Lock Contention)Java进程消...

2018-07-04 09:56:07 354

原创 HttpClient封装

1,ServiceUnavailableRetryStrategy 添加自动重试机制import java.io.IOException;import java.nio.charset.Charset;import java.security.cert.CertificateException;import java.security.cert.X509Certificate;impor...

2018-05-28 16:02:23 443 1

转载 centos 7配置静态IP,并配置DNS

centos 7配置静态IP,并配置DNS cd /etc/sysconfig/network-scripts/1找到对应的网卡配置并编辑 vim ifcfg-eno167777361配置eno-16777736TYPE=EthernetBOOTPROTO=static#配置静态IP,网关,子网掩码IPADDR=192.168.86.88NETMASK=255.255.255.0GATE...

2018-04-04 11:21:19 169

原创 java代码优化

代码优化细节1、尽量指定类、方法的final修饰符带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该类所有的方法都是final的。Java编译器会寻找机会内联所有的fi...

2018-03-30 17:05:38 166

转载 缓存雪崩和缓存击穿的场景和解决方案

缓存穿透什么是缓存穿透?一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。如果key对应的value是一定不存在的,并且对该key并发请求量很大,就会对后端系统造成很大的压力。这就叫做缓存穿透。 如何避免?1:对查询结果为空的情况也进行缓存,缓存时间设置短一点,或者该key对应的数据insert了之后清理缓存。2:对一定不存在的key进行过滤。

2018-01-18 11:07:46 859

转载 FutureTask底层原理分析

FutureTask实现了接口Future,同Future一样,代表异步计算的结果。当然,FutureTask除了实现Future接口之外,还实现了Runnable接口,所以,FutureTask既可以由Executor来调度执行,也可以由调度线程调用FutureTask.run()直接执行。FutureTask状态根据FutureTask的run方法是否被执行以及是否被执行完成,FutureTa

2018-01-17 14:04:06 475

转载 Java线程的5种状态及切换(透彻讲解)

Java中的线程的生命周期大体可分为5种状态。1. 新建(NEW):新创建了一个线程对象。2. 可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权 。3. 运行(RUNNING):可运行状态(runnable)的线程获得了cpu 时间片(t

2018-01-16 16:31:42 213

转载 synchronized与lock之间的性能比较

1.关于两者的实现的比较A).一般认为synchronized关键字的实现是源自于像信号量之类的线程同步机制,涉及到线程运行状态的切换,在高并发状态下,CPU消耗过多的时间在线程的调度上,从而造成了性能的极大浪费。然而真的如此么? 线程的状态主要有一下五种,分别是新建状态,就绪状态,运行状态,阻塞状态,消亡状态等5种状态B).lock实现原理则是依赖于硬件,现代处理器都

2018-01-12 15:29:44 5117 2

原创 什么是ACID

当事务处理系统创建事务时,将确保事务有某些特性。组件的开发者们假设事务的特性应该是一些不需要他们亲自管理的特性。这些特性称为ACID特性。 ACID就是:原子性(Atomicity )、一致性( Consistency )、隔离性或独立性( Isolation)和持久性(Durabilily)。 1. 原子性 原子性属性用于标识事务是否完全地完成,一个事务的任何更新要在系统上完全完成,

2017-12-13 15:05:52 694

原创 java中heap和stack的区别

暂无

2017-11-27 21:26:25 1380

转载 centos 6 安装 telnet

http://www.linuxidc.com/Linux/2016-01/127983.htm

2017-09-23 12:02:35 879

转载 linux 系统下awk命令的使用

简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfr

2017-09-14 18:04:21 263

原创 intellij idea 2017破解

先到IDEA官方网站下载IDEA并运行。1. 到网站 http://idea.lanyus.com/ 获取注册码。2.填入下面的license server:  http://intellij.mandroid.cn/  http://idea.imsxm.com/             http://idea.iteblog.com/key.php

2017-09-06 13:32:20 312

转载 spring boot 启动原理分析

原文:http://blog.csdn.net/hengyunabc/article/details/50120001

2017-08-25 12:34:39 432

转载 SpringBoot项目在intellij idea中实现热部署

spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。原理是在发现代码有更改之后,重新启动应用,但是速度比手动停止后再启动更快。其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLo

2017-08-23 11:01:35 263

原创 Mysql 5.7.16 解压版(ZIP版)安装步骤详解,mysql5.7.16

Mysql 5.7.16 解压版(ZIP版)安装步骤详解,mysql5.7.16第一步下载免安装的zip包: 解压版下载地址:http://dev.mysql.com/downloads/mysql/ 将下载的安装包解压到一个目录下,例如我的是D:\MySQL在D:\MySQL5.7\mysql-5.7.16-winx64目录下新建my.ini(黄色背景的地方需要替换自己的实际环境切记)

2017-08-21 17:16:06 3524

原创 git提交本地项目到github

git学习笔记(windows平台)   安装git    在需要将项目提交到git的根目录下打开git bush   1 git init 初始化一个git仓库  //将本地文件添加master,先add一个文件   2 git add 一个文件 或者  git add . 提交当前目录中所有的文件   3 git commit -m  "" //链接远程仓库

2015-12-25 17:28:25 284

空空如也

空空如也

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

TA关注的人

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