自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 垃圾回收器详解

介绍一下垃圾回收器(不分顺序)Serial:新生代垃圾回收器,单线程,采用的是复制算法,这个垃圾回收器在工作的时候,用户线程是不可以能工作的,这个用户线程停顿的时间,就称为stop-the-world,简称STWParallel Scavenge:新生代垃圾回收器,多线程,复制算法,会产生STW(JDK8默认的垃圾回收器组合是parallel Scavenge和parallel Old)ParNew:新生代垃圾回收器,多线程,采用复制算法,会产生CMS,这个和parallel scavenge类

2021-01-07 11:04:42 279 1

原创 索引优化实战

1、 全值匹配2、 最佳左前缀法则:如果索引多列,要遵守最左前缀法则。指的是查询从索引的最左钱磊开始且不跳过索引中的列3、 不在索引上做任何操作(计算,函数,类型转换),会导致索引失效4、 存储引擎不能使用索引中范围条件右边的列5、 尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致)),减少select *6、 Mysql在使用不等于(!=或者<>)的时候无法使用索引会导致全表扫描7、 Is null 和is not null 也无法使用索引8、 Like以通配符开头(’%.

2020-12-23 16:25:12 166

原创 学习Explain

使用EXPLAIN关键字可以模拟优化器执行SQL的查询语句,从而知道MYSQL是如何处理你的SQL语句的。通常我们使用此功能分析是否需要进行sql优化或者索引优化。怎么使用EXPLAIN?使用EXPLAIN的方法很简单,在查询语句前面,添加EXPLAIN就可以了。例如:explain SELECT * from t1;id:表示查询中执行select子句或操作表的顺序三种情况: Id相同,从上到下执行 Id不同,如果是子查询,id序号会依次递增,id大的先执行 Id有相同有不相同,相同的

2020-12-21 11:37:50 148

原创 Mysql的七种join

首先准备一下需要的表和数据(以Mysql为准)CREATE TABLE `boy` ( `bid` int(11) NOT NULL, `bname` varchar(50) NOT NULL, `gid` int(11) DEFAULT NULL, PRIMARY KEY (`bid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `boy` VALUES ('1', '李雷', '1');INSERT INTO `boy` VA

2020-12-14 11:35:17 122 1

原创 学习日记3--多线程

复习多线程,首先复习多线程的状态图首先先复习一下状态:新建状态(new):线程对象被创建。也就是 Thread thread = new Thread();就绪状态(runnable):线程执行了start()方法,线程进入就绪状态,此时线程还没有获取的CPU,还没有执行,只有在就绪状态的线程才能获取CPU。运行状态(running):运行状态,线程获取了CPU,正在执行该线程,只有就绪状态才能进入运行状态阻塞状态:正在运行中的线程,因为某种原因暂时放弃对CPU的使用权,停止执行。直到再次进入

2020-11-17 10:55:10 88

原创 学习日记2--JVM(下)

前面复习了JVM加载过程和JVM的内存区域,其中我们讲到了堆。堆是我们程序员遇到问题最多的地方,也是面试必问的地方,因为堆是垃圾回收主要工作的地方,我们在堆上建立对象,垃圾回收机制负责回收我们不再用的对象,那么引出第一个问题,JVM怎么知道我们那个对象不用了?如何判定对象为垃圾对象引用计数法原理:给对象加一个计数器,当对象被引用时,加1,当引用失效时减1,任何时刻,当计数器为0时,对象被回收。优点:实现简单,判断效率高确定:无法解决相互循环引用问题关于相互循环引用的问题,简单举个例子Husba

2020-11-10 15:19:09 90

原创 学习日记1--JVM(上)

Jvm是什么Jvm是Java Virtual Machine的缩写,它是一个虚拟出来的计算机,一种规范。通过在实际的计算机上仿真模拟各类计算机功能实现。JVM是如何运行代码的首先代码是我们程序员编写的,一般是以 .java的格式存在的。通过编译器把.java文件编译成.class文件,然后jvm把.class编译成机器码。类加载器如果jvm想要运行.class文件,我们需要将其装进一个类加载器中,类加载器会把.class文件加载到jvm类加载器类别:BootStrapClassLoader(启

2020-11-06 17:17:30 141 3

原创 8.SpringCloud项目整合Oauth2.0

前面我们已经介绍过了分布式项目的几个基本模块,现在介绍一下服务之间的认证。这一章主要用到的工具有Oauth2和JWT令牌。Oauth是一个开放标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。Oauth2.0是Oauth协议的延续版本,但不想后兼容Oauth1.0就是完全废止了Oauth1.0。Oauth几个重要的角色:(1)客户端:就是指前端服务(2)资源拥有者:就是用户(3)认证服务器:通俗点说就是我们在后面写的

2020-11-03 15:05:13 1742 4

原创 使用Spring Cloud Alibaba创建springcloud项目-7.getway

getway官方网站为什么要使用网关?使用网关可以统一进行鉴权,如果在微服务系统中不使用网关那么在每一个微服务中都需要进行鉴权,不仅增加系统的复杂性,而且也影响用户体验使用网关鉴权可以有效的保护微服务,只暴露自己的网关,将其他的微服务可以隐藏在内网中通过防火墙进行保护易于监控,可以在网关中直接统一收集监控数据并将其推送到外部系统进行分析减少客户端与各个微服务之间的交互次数创建getway8000工程创建步骤不多说了,跟之前是一样的。pom.xml<?xml version="1.

2020-10-13 11:32:50 1277 1

原创 使用Spring Cloud Alibaba创建springcloud项目-6.Sentinel

随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。官网:https://github.com/alibaba/Sentinel/wiki下载地址:https://github.com/alibaba/Sentinel/releases下载完成后,启动sentinel。在你放sentinel-dashboard.jar的文件处打开cmd,输入java -jar sentinel-dashboard.ja

2020-07-28 16:17:37 583 2

原创 使用Spring Cloud Alibaba创建springcloud项目-5.Spring Cloud Stream & RabbitMQ

Spring Cloud Stream是一个构建消息驱动微服务的框架。它支持RabbitMQ和Kafka。这里使用RabbitMQ.官网:https://spring.io/projects/spring-cloud-stream#overview中文网站:https://m.wang1314.com/doc/webapp/topic/20971999.html我们要在项目中使用RabbitMQ,首先要有一个完整的RabbitMQ环境,首先搭建一些RabbitMQ环境。RabbitMQ环境搭建: h

2020-07-16 15:16:14 888 4

原创 使用Spring Cloud Alibaba创建springcloud项目-4.Nacos配置中心

官方文档:https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config创建一个名为config9003的服务pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta

2020-07-15 17:15:55 652

原创 使用Spring Cloud Alibaba创建springcloud项目-3.创建消费服务配置Feign

创建消费服务创建一个服务名称是order8001,搭建过程不再详细说了,跟之前类似。pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.

2020-07-13 17:04:09 904 5

原创 使用Spring Cloud Alibaba创建springcloud项目-2.搭建Nacos

搭建nacos官方网站:https://nacos.io/zh-cn/下载地址:https://github.com/alibaba/nacos/tags我下载的1.2.1版本,下载之后解压,如图打开bin目录,在这里打开cmd,输入startup.cmd,启动nacos,然后在浏览器中输入http://localhost:8848/nacos,nacos默认端口号是8848,默认账号密码:nacos/nacos创建一个服务pom.xml<?xml version="1.0"

2020-07-13 16:54:43 2642 5

原创 使用Spring Cloud Alibaba创建springcloud项目-1.创建父工程

Spring Cloud AlibabaSpring cloud Alibaba为分布式应用程序开发了一站式解决方案。它包含开发分布式应用程序所需的所有组件,使您轻松的地使用Spring Cloud开发应用程序。再多的就不说了,官网https://spring.io/projects/spring-cloud-alibaba,有兴趣的可以看看。本次需要用的技术组件:Nacos:服务注册中心,跟Eureka功能类似,也可以做服务配置中心Spring Cloud Ribbon:负载均衡工具Feig

2020-07-13 16:36:21 2019

原创 springbootz整合quartz

近期公司项目任务,需要在项目中添加定时任务,整理了一天,在项目中已经可用quartz概述Quartz是一个完全由Java编写的开源任务调度的框架,通过触发器设置作业定时运行规则,控制作业的运行时间。其中quartz集群通过故障切换和负载平衡的功能,能给调度器带来高可用性和伸缩性。主要用来执行定时任务quartz核心元素Quartz核心要素有Scheduler、Trigger、Job、Job...

2019-09-19 13:54:57 250

空空如也

空空如也

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

TA关注的人

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