自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

转载 频繁full GC原因

1. 机器 cpu 负载过高2. 频繁 full gc 告警3. 系统无法请求处理或者过慢, 接口无关 全面性的出现以上异常的时候,要第一时间反应过来可能是 full gc的问题频繁full gc的常见原因full gc 触发条件是 老年代空间不足, 所以追因的方向就是导致 老年代空间不足的原因:大量对象频繁进入老年代 + 老年代空间释放不掉系统并发高、执行耗时过长,或者数据量过大,导致 young gc频繁,且gc后存活对象太多,但是survivor 区存放不下(太小 或 动态.

2022-03-19 22:44:39 3371

原创 mysql主从同步的原理和实操

什么是mysql的主从同步?当主库(master)的数据发生变化的时候,变化的数据会实时同步到从库(slave)mysql主从同步有什么好处?. 水平扩展数据库的负载能力. 容错,高可用。 Failover(失败切换)/high Available. 数据备份主从同步的原理master-slave的原理无论是add,delete,update,还是创建函数,存储过程这些操作,都是在master上,master有这些操作时,slave库都会实时同步这些数据。在maste

2022-03-16 20:06:04 1438

原创 Redis高可用集群redis-cluster

哨兵模式主要解决了手动切换主从节点的问题1 , 哨兵模式的缺陷.主从节点切换的时候存在访问瞬断,等待时间较长,.只有一个master节点提供写,slave节点提供读,尽管写的效率是10万/秒,在电商大促时,写的压力全部集中在master节点上。.master节点的内存不能设置的太大,否则持久化文件过大,影响主从同步2,redis-cluster集群模式Redis Cluster是社区版推出的Redis分布式集群解决方案,主要解决Redis分布式方面的需求,比如,当遇到单机内存,并发和

2022-03-15 16:43:33 1874

原创 redis I/O多路复用(select,poll,epoll)

redis 为啥这么快?1,redis所有的数据是在内存中,所有的操作都是内存级别的运算。2,redis是单线程,避免了多线程的切换和加锁消耗。3,redis使用epoll作为非阻塞I/O多路复用,多路复用监听多个socket,并将socket放入队列中,每次从队列取一个socket交给事件分配器,事件分配器再把socket交给事件处理器,事件处理器的所有操作都是内存级别的,处理一个事件只需要几微妙。I/O多路复用fd_set 数组是0和1 的位数组,fd是文件描述符select:它

2022-03-14 21:02:18 2201 1

转载 linux服务器mysql安装流程

第一步:下载进入到mysql官网下载自己对应版本的mysql,下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads我这里下载mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz版本也可以进入linux后用命令下载wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

2022-03-02 21:46:19 206

原创 mysql索引失效的情况

1.索引不存储null值更准确的说,单列索引不存储null值,复合索引不存储全为null的值。索引不能存储Null,所以对这列采用is null条件时,因为索引上根本没Null值,不能利用到索引,只能全表扫描。为什么索引列不能存Null值?将索引列值进行建树,其中必然涉及到诸多的比较操作。Null值的特殊性就在于参与的运算大多取值为null。这样的话,null值实际上是不能参与进建索引的过程。也就是说,null值不会像其他取值一样出现在索引树的叶子节点上。2.不适合键值较少的列(..

2022-03-02 17:59:41 395

原创 数据库版本管理(flyway)

Flyway是一款数据库迁移(migration)工具。简单点说,就是在你部署应用的时候,帮你执行数据库脚本的工具。Flyway支持SQL和Java两种类型的脚本,你可以将脚本打包到应用程序中,在应用程序启动时,由Flyway来管理这些脚本的执行,这些脚本被Flyway称之为migration。...

2022-03-01 11:04:00 1305

原创 k8s学习记录

创建应用kubectl run nginx-dep --image=nginx:1.7.9 --port=80 --replicas=2 查看服务信息:kubectl get pods -o wide测试nginx服务,服务ok暴露服务到外网kubectl get svc修改节点端口:kubectl edit svc nginx-svc查看绑定端口服务的在线升级和回滚nginx的版本1.7.9查看滚动更新的过程:kubec...

2022-02-24 16:20:22 1500

原创 kubernetes安装部署

k8s是一款辅助管理容器的平台。k8s集群是有master节点和work节点组成,master(一个)是主节点,负责管理和控制。work是工作节点(很多),负责具体的内容。1,环境准备使用docker 18.09.9和kubelet-1.16.41.1 关闭selinux 查看selinux是否关闭 设置临时关闭1.2 关闭swap (k8s禁止虚拟内存以提高性能) k8s要求系统关闭,否则安装过程出错 查...

2022-02-24 11:41:23 2235

原创 分布式锁的三种实现方式

什么是分布式锁?实现分布式锁的三种方式在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。那具体什么是分布式锁,分布式锁应用在哪些业务场景、如何来实现分布式锁呢?一 为什么要使用分布式锁我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的锁进行处理,并且可以完美的运行,毫无Bug!注意这是单机应用,后来业务发展,需要做集群,一个应用需要部署到几台机器上然后做负载均衡,大致如下图:...

2022-02-09 14:55:02 277

原创 消息队列-RocketMQ

RocketMQ是高可用的分布式集群技术,由阿里巴巴自主研发的消息中间件,即有分布式系统的削峰填谷和异步解耦的能力,也有互联网公司所需要的海量信息堆积,高吞吐,重试的能力,是阿里巴巴双十一的核心产品。NameServer nameServer是rocketmq的大脑,充当注册中心的角色,所以rocketmq要先启动nameServer,然后再启动broker。broker在启动时,向所有的nameServer注册(主要是注册地址),生产者在发送消息时,从nameServer获取br...

2022-02-09 14:22:47 890

原创 查看端口处于监听状态

lsof -i:<port>netstat -tunlp | grep <port>两种方式,都可以查到端口9000的进程号是24339

2022-01-13 18:20:12 833

原创 springcloud微服务ribbon与feign的区别

ribbonribbon是一种基于http和tcp客户端的负载均衡器feignfeign是一种使用起来更简单的http客户端,ribbon和feign都支持软负载均衡注意:spring-cloud-starter-feign 里面已经包含了 spring-cloud-starter-ribbon(Feign 中也使用了 Ribbon)ribbon和feign都是用来调用其他服务的,不过方式不一样1,启动类使用的注解不一样,ribbon使用@RibbonClient, feign使用@

2022-01-10 12:06:08 3649

原创 springcloudalibaba(sentinel学习记录)

随着微服务流行,服务与服务之间的稳定性就越来越重要,sentinel以流量为切入点,从流量控制,熔断降级,系统负载等多个维度保护系统的稳定性。安装sentinel下载链接https://github.com/alibaba/Sentinel/releases/download/1.5.1/sentinel-dashboard-1.5.1.jarsentinel是一个标准的springboot应用,制定端口,启动服务:java -Dserver.port=8080 -Dcsp.sentinel

2022-01-09 11:18:53 371

原创 springcloud(feign学习记录)

feign是声明式的客户端,让微服务间之间的调用变得更加简单消费端服务pom.xml添加依赖启动类添加注解@EnableFeignClients服务消费者接口添加注解@FeignClient,调用服务提供者。name = "MICRO-ORDER" 服务提供者名称注意:如果接口调用异常,会执行 fallback = StudentServiceFallback.class服务提供者的接口服务调用接口超时时间设置...

2022-01-06 21:18:37 331

原创 springcloud(Hystrix学习记录)

断路器是什么?在微服务架构中为了保证程序的可用性,防止程序出错导致网络阻塞,出现了断路器模型。断路器的状况反应了一个程序的可用性和健壮性,它是一个重要指标。Hystrix断路器使用消费方pom.xml中引入Hystrix断路器依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-h

2022-01-05 15:39:33 194

原创 单例模式总结

单例模式可能是代码最少的模式了,但是少不一定意味着简单,想要用好、用对单例模式,还真得费一番脑筋。本文对Java中常见的单例模式写法做了一个总结,如有错漏之处,恳请读者指正。饿汉法顾名思义,饿汉法就是在第一次引用该类的时候就创建对象实例,而不管实际是否需要创建。代码如下:1234567

2022-01-05 10:32:02 180

原创 springCloud (分布式配置中心(Spring Cloud Config))

http://blog.youkuaiyun.com/forezp/article/details/70037291

2022-01-05 10:30:51 112

原创 Docker学习记录

docker是一个可以让开发者打包他的应用以及依赖包的容器,这个容器可移植,是轻量级的虚拟化操作系统,容器之间相互隔离。Docker架构 镜像(image):类似于一个root文件系统 容器(containers):镜像和容器的关系,类似于类和实例的关系。 仓库(respository):类似于代码控制中心,用来保存镜像。CentOS Docker 安装 安装命令:curl -sSL https://get....

2021-12-31 15:21:53 704

原创 Linux下根据进程号查找程序路径

Linux下根据进程号查找程序路径背景:有一个服务,只知道它占用的端口号是5554,但是不知道它的路径在哪儿。思路:先根据端口号查找pid(进程号) netstat -pan | grep 5554 结果如下: 12249就是它的pid(进程号)再根据进程号查找路径,如下: ll /proc/12499/cwd cwd后面的路径就是端口号8703程序的路径...

2021-12-24 17:59:52 4330 1

原创 CPU故障处理分析

CPU飙升问题定位

2021-12-15 17:06:06 1543

原创 mysql用户授权

mysql grant 用户权限总结用户权限管理主要有以下作用:1. 可以限制用户访问哪些库、哪些表2. 可以限制用户对哪些表执行SELECT、CREATE、DELETE、DELETE、ALTER等操作3. 可以限制用户登录的IP或域名4. 可以限制用户自己的权限是否可以授权给别的用户一、用户授权mysql> grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant op

2021-12-15 10:41:09 5681

原创 zookeeper与eureka的区别

CAP理论在了解eureka和zookeeper区别之前,我们先来了解一下这个知识,cap理论。1998年的加州大学的计算机科学家 Eric Brewer 提出,分布式有三个指标。Consistency,Availability,Partition tolerance。简称即为CAP。Eric 提出 CAP 不能全部达到,这就是CAP定理。接下来我们分别说下cap。CConsistency,一致性的意思。一致性就是说,我们读写数据必须是一摸一样的。比如一条数据,分别存在两个服务器中,se

2021-02-09 17:05:10 341

原创 eureka工作原理

Eureka 工作原理上节内容为大家介绍了,注册中心 Eureka 产品的使用,以及如何利用 Eureka 搭建单台和集群的注册中心。这节课我们来继续学习 Eureka,了解它的相关概念、工作流程机制等。Eureka 作为 Spring Cloud 体系中最核心、默认的注册中心组件,研究它的运行机制,有助于我们在工作中更好地使用它。Eureka 核心概念回到上节的服务注册调用示意图,服务提供者和服务的消费者,本质上也是 Eureka Client 角色。整体上可以分为两个主体:Eureka

2021-02-09 15:26:33 236

原创 dubbo容错与负载均衡

dubbo中提供了5种容错机制,用于微服务调用出错了进行重试或者忽略1、Failover Cluster这是Dubbo中默认的容错机制,这种方式比较常用。这种方式可以进行失败自动切换,当出现失败,重试其它服务器。通常用于读操作,但重试会带来更长延迟。可通过retries="2"来设置重试次数(不含第一次)。<dubbo:service retries="2" /> 或:<dubbo:reference retries="2" /> 或:<dub...

2021-02-09 11:30:13 412

原创 redis持久化之RDB与AOF的区别

RDB: 在指定时间间隔内,将内存的数据快照写入到磁盘的持久化过程。实际操作:1,生成快照时,当前线程fork一个子进程。 2,然后子线程循环所有数据,把数据写入到二进制文件。 3,写入成功后,替换之前的文件,用二进压缩锁存储。AOF: 以日志的方式记录每个写操作,并追加到文件中。RDB与AOF的优缺点RDB优点:1,一旦采用这种方式,整个redis数据库只包含一个文件,方便进行备份。 ...

2020-10-24 17:44:31 168

原创 存储过程Oracle 统计派单最多的人的电话反馈类型及数量

create or replace procedure proc_Sell_type is  --定义游标  CURSOR emp_cursor IS  SELECT action_type,count(action_type) count_num,tb.employ_name  FROM T_MARKET_USER_LIST ta,t_man_company_employ_info tb whe...

2018-04-23 14:25:30 220

原创 map实现缓存

经过网上的资料查找以及自己的实验,找到了一种方法解决该问题的方法,即缓存。将需要的所有数据缓存起来,放到内存中,数据更改的时候,清掉缓存,再次重新缓存数据。这样能减少对数据库的访问,提高效率。本人用到的是Map,个人觉得Map实现缓存机制比较简单实用。接下来是简单示例首先建一个map,该map用来存放所有的数据[html] view plain copyprotected static Map&l...

2018-04-03 11:22:22 3637

原创 oracle执行计划与效率

一:什么是Oracle执行计划?执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述,注意,是查询语句。 二:怎样查看Oracle执行计划?以PLSQL为例:执行计划的常用列字段解释:基数(Rows):Oracle估计的当前操作的返回结果集行数字节(Bytes):执行该步骤后返回的字节数耗费(COST)、CPU耗费:Oracle估计的该步骤的执行成本,用于说明SQL执行的代价,理论上越...

2018-04-03 09:22:55 2418

原创 批量读取数据

   public static void main(String args[]) {      List&lt;Object&gt; list = new ArrayList&lt;Object&gt;();     for (int i = 0; i &lt; 800; i++) {         list.add(i);     }     System.out.println(list)...

2018-03-21 15:20:47 383

原创 批量插入的sql(mybatis)

&lt;insert id="insertGroupImportDetail2" parameterType="java.util.List" useGeneratedKeys="false"&gt; INSERT INTO T_SPECIAL_AREA_PACKAGE select seq_T_special_area_package.NEXTVAL,A.* from ( &lt;for...

2018-03-19 15:07:03 242

原创 单例模式的分析

 Java中单例(Singleton)模式是一种广泛使用的设计模式。单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在。一些管理器和控制器常被设计成单例模式。       单例模式有很多好处,它能够避免实例对象的重复创建,不仅可以减少每次创建对象的时间开销,还可以节约内存空间;能够避免由于操作多个实例导致的逻辑错误。如果一个对象有可能贯穿整个应用程序,而且起到了全局统一管理控制的作用...

2018-02-11 15:55:16 143

原创 JVM虚拟机优化

一、JVM内存配置优化在开发当中,当一个项目比较大时,依赖的jar包通常比较多,我们都知道,在应用服务器启动时,会将应用引用到的所有类通过ClassLoader依次全部加载到内存当中。Java的逻辑内存模型大致分为堆内存、栈内存、静态内存区,也称持久区,该区的内存不会被GC回收。堆内存用于存储类的实例、数组等引用类型数据,也就是用new生成的对象,都存放在这里,栈内存存储局部变量(如:方法参数),...

2018-02-11 15:44:56 270

原创 分布式配置中心(Spring Cloud Config)

http://blog.youkuaiyun.com/forezp/article/details/70037291

2018-01-16 21:34:33 231

原创 java高并发问题

Java高并发,如何解决,什么方式解决对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步   1、同步和异步的区

2018-01-09 17:51:55 356

原创 spring cloud 和 spring boot

spring boot 致力于简洁,让开发者写更少的配置,程序能够更快的运行和启动。它是下一代javaweb框架,并且它是spring cloud(微服务)的基础。http://blog.youkuaiyun.com/forezp/article/details/61472783http://blog.youkuaiyun.com/forezp/article/details/69696915

2018-01-09 17:28:10 222

转载 HashMap实现原理

http://blog.youkuaiyun.com/jeffleo/article/details/54946424

2017-11-16 12:43:29 178

原创 Java分布式应用技术架构介绍

分布式架构的演进系统架构演化历程-初始阶段架构初始阶段 的小型系统 应用程序、数据库、文件等所有的资源都在一台服务器上通俗称为LAMP特征:应用程序、数据库、文件等所有的资源都在一台服务器上。描述:通常服务器操作系统使用linux,应用程序使用PHP开发,然后部署在Apache上,数据库使用Mysql,汇集各种免费开源软件以及一台廉价服务器就可以开始系统

2017-10-12 08:53:15 388

转载 Elipse和IDEA的快捷键

一键格式化代碼: Ctrl+Alt+L快捷键汇总链接:Intellij IDEA 快捷键整理(TonyCody)Eclipse常用快捷键汇总注意:如果按Ctrl+Shift+F在win10上会出现字体的简繁转换,再重复按键一次就可以转换回来

2017-10-11 13:46:53 190

原创 多线程并发问题

0. 前言转载请注明出处:http://blog.youkuaiyun.com/seu_calvin/article/details/52370068面试时很可能遇到这样一个问题:使用volatile修饰int型变量i,多个线程同时进行i++操作,这样可以实现线程安全吗?提到线程安全、线程同步,我们经常会想到两个关键字:volatile和synchronized,那么这两者有什么区别呢?

2017-10-07 12:05:42 2617 1

腾讯地图的开发api

腾讯地图的开发api腾讯地图的开发api腾讯地图的开发api腾讯地图的开发api腾讯地图的开发api腾讯地图的开发api腾讯地图的开发api

2017-09-10

空空如也

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

TA关注的人

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