自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

方方园园的博客

先给自己定个小目标6个月之内变成一个什么样的人

  • 博客(282)
  • 资源 (3)
  • 收藏
  • 关注

原创 @Cacheable注解不生效原因

因为@Cacheable注解应用了AOP动态代理,生成代理类,判断缓存中是否存在该key,如果不存在则调用被代理类的标有@Cachable注解的方法,否则不执行。所以当类A的方法a调用方法b(标有@Cacheable注解),由于类内部的方法互相调用不会生成代理类,所以注解不会生效,也不会进行缓存。解决方法:将方法b放入到类B中,然后类A的a方法调用类 B的b方法。...

2020-07-28 14:27:59 1891 1

原创 SpringCould之链路追踪工具Zipkin整合

这里写目录标题1、简介2、例子(服务器端)2、例子(客户端)1、简介zipkin是一个分布式的跟踪系统,由Twitter公司开发的,是根据Google发表的那一片论文Dapper, a Large-Scale Distributed Systems Tracing Infrastructure来设计的。zipkin的主要功能是收集来自各个系统的监控数据。zipkin主要包括四个模块:Collector 接受或者收集各个应用传输的数据Storage:负责存储接收到的数据,默认是存储在内存当中的,也可

2020-07-27 21:57:14 762

原创 Spring源码解析(一) 缓存——@Cacheable

@Cacheable(value = "CACHE_BOOK",key = "#username", condition = "#language = 1")public List<Book> getBooksByUsernameAndLanguage(String username, int language) { // balabalabala...里面的代码不重要 return bookList;}value : 必须要的。就是个自己取的名字,通过它指明了第一次

2020-07-27 14:29:27 1164 1

转载 德云语录

守法朝朝忧闷,强梁夜夜欢歌,损人利己骑马骡,正值公平挨饿,修桥补路瞎眼,杀人放火儿多,我到西天问我佛,佛说:我也没辙。摔碎瑶琴凤尾寒,子期不在对谁弹,春风满面皆朋友,欲觅知音难上难。聚在一起是鹏,过心互相照顾是友,朋包括友,友不包括朋。唐尧虞舜夏商周,自古忠奸斗不休,名利场上挣权势,富贵流中紧漂游。天上下雨地下滑,自己跌倒自己爬,要让朋友拉一把,还得是酒换酒来茶换茶。人生不如意事常八九,可与人言无二三,每个人都有吃*的时候,记住别嚼。人过于刚强,未必活的下来,百炼钢不如绕指柔。一人不逛庙,两

2020-07-26 22:23:40 377 4

原创 jvm结构

名称特征作用配置参数异常程序计数器占用内存小,线程私有,声明周期与线程相同大致为字节码行号指示器无无虚拟机栈线程私有,生命周期与线程相同,使用连续的内存空间Java 方法执行的内存模型,存储局部变量表、操作栈、动态链接、方法出口等信息-XssStackOverflowError、OutOfMemoryError堆线程共享,生命周期与虚拟机相同,可以不使用连续的内存地址保存对象实例,所有对象实例(包括数组)都要在堆上分配-Xms -Xsx -Xmn...

2020-07-26 19:19:50 118

原创 执行引擎执行代码底层实现

执行引擎执行代码底层实现解释器字节码解释器java字节码->c++ ->硬编码(汇编)其实是switch case 将java转成c++语言模板解释器java字节码 ->硬编码(汇编)JIT即时编译模板解释器直接编译成硬编码,存储在方法区jvm三种执行方式(执行引擎执行java字节码的运行方式)1、Xint 纯字节码解释器2、Xcomp 纯即时编译斜体样式3、Xminxed 混合式(默认)为什么使用混合模式?项目越大编译时间耗时过长热机切冷机故障(阿里)c

2020-07-19 21:34:19 169

原创 linux安装node以及gitlab统计代码量

https://www.cnblogs.com/sirdong/p/11447739.html

2020-07-17 23:46:29 375

转载 nginx反向代理配置去除前缀

使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务。设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法:方法一:加"/"server { listen 8000; server_name abc.com; access_log "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 ma

2020-07-08 23:13:59 301

原创 spi与双亲委派

什么是双亲委派?如果一个类加载器收到了加载某个类的请求,则该类加载器并不会去加载该类,而是把这个请求委派给父类加载器,每一个层次的类加载器都是如此,因此所有的类加载请求最终都会传送到顶端的启动类加载器;只有当父类加载器在其搜索范围内无法找到所需的类,并将该结果反馈给子类加载器,子类加载器会尝试去自己加载。双亲委派模型,是一种加载类的约定。这个约定的一个用处是保证安全。比如说你写Java用了String类,你怎么保证你用的那个String类就是JDK里提供的那个String类呢?答案是对于JDK基础类,J

2020-07-08 23:13:40 931

原创 jvm内存模型

内存模型介绍Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽各个硬件平台和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。那么Java内存模型规定了哪些东西呢,它定义了程序中变量的访问规则,往大一点说是定义了程序执行的次序。注意,为了获得较好的执行性能,Java内存模型并没有限制执行引擎使用处理器的寄存器或者高速缓存来提升指令执行速度,也没有限制编译器对指令进行重排序。也就是说,在java内存模型中,也会存在缓存一致性

2020-07-02 21:35:37 158

原创 elsticsearch基础(二) 工作机制

目录标题1、候选主节点(Master-eligible node)2、数据节点(Data node)3、客户端节点(Client node)4、协调节点(Coordinating node)5、分片 副本查看6、索引状态6、es 写数据过程7、写数据底层原理7.1、Translog作用8、删除/更新数据底层原理1、候选主节点(Master-eligible node)一个节点启动后,就会使用Zen Discovery机制去寻找集群中的其他节点,并与之建立连接。集群中会从候选主节点中选举出一个主节点,主节

2020-06-30 21:40:29 379

原创 docker-compose离线安装

一直使用在线安装docker-compose,一直有很多坑,今天有个哥们(人才)使用了离线安装compose 我尝试了一下 很方便下载地址:https://github.com/docker/compose/releases下载离线包sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-composedocker-compose -v最后使用

2020-06-23 14:22:31 11651 2

原创 docker日志满了怎么办

http://www.voidcn.com/article/p-tqhqiaif-bsb.html

2020-06-22 11:16:39 751

原创 SpringCloud Gateway Https配置

这里写目录标题1、介绍gateway1.1、概念详解2、配置3、异常:解决方案1:解决方案2:Zuul与Gateway路由中的不同点1、介绍gatewaygateway 网关,内置webflux 依赖,不再使用springMvc官网配置地址https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.1.0.RC3/single/spring-cloud-gateway.html1.1、概念详解Spring Boot Web

2020-06-22 10:22:00 2290 2

原创 nginx 配置https 代理http接口

1.使用docker运行镜像具体操作详见:https://blog.csdn.net/qq_22041375/article/details/1055782582、安装完配置nginx修改nginx配置server { listen 443 ssl; server_name fightingtop.cn www.fightingtop.cn; root /usr/share/nginx/html; ssl_certificate

2020-06-22 00:09:15 8157

原创 volatile的并发编程

1、什么是虚拟机栈随线程创建而创建,随线程结束而销毁2、虚拟机中有多少个栈帧调用一个方法一个栈帧3、cas锁(轻量级锁线程独占)自旋锁与cas锁的关系while循环/goto+cas=自旋jvm内存模型,事实上是操作系统的一个内存池4、volatile 读取主内存(堆内存区+方法区) 取volatile 变量工作内存(虚拟机栈)放到工作内存工作内存变化——》会写到主内存5、volatile 如何保证有序性?禁止指令重排6、DCL为什么要加双重验证7、为什么new不是原子性操作

2020-06-20 21:45:21 164

原创 jvm调优(8)GC日志分析

这里写目录标题1、如何打印2、启动成功 telnet通 但是jconsole连接不上2.1、解决方法1、如何打印我以我们的一个项目为例java -Xms128m -Xmx128m -verbose:gc -Xloggc:/home/administrator/james/gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintHeapAtGC -XX:HeapDumpPath=/home/administrator/james/error.hprof -X

2020-06-14 04:08:59 308

原创 es根据条件更新索引

UpdateByQueryRequest request = new UpdateByQueryRequest(indexname);request.setQuery(queryBuilder);request.setScript( new Script( ScriptType.INLINE, "painless", "if (ctx._source.money == '111') {ctx._source.money='2

2020-06-13 15:22:54 2024

原创 设计模式(二)观察者模式

文章目录1、代码1、代码抽象类package com.sdecloud.efpx.pipeline.listener;import com.sdecloud.efpx.pipeline.vo.JrmkVo;/** * *   * @className: Observer *   * @description:TODO *   * @param: *   * @return: *   * @throws: *   * @author: lizz *   * @date: 202

2020-06-12 09:24:54 187

原创 Elasticsearch操作数据后马上更新的办法

BulkRequestBuilder bulkRequest = ESTools.client.prepareBulk().setRefresh(true);这里的setRefresh(true);就是自动刷新的用处。所以在我们CRUD的时候,如果对数据增删改操作的时候,如果要及时返回最新数据,那么我们就需要加这个方法,及时刷新数据。当然 Elasticsearch 也是可以配置刷新时间的,但是没必要,频繁的刷新会造成压力过大。orbulkProcessor.flush();或者程序Threa

2020-06-12 09:01:18 1853 1

原创 jvm调优(七)参数分析

1、Xmsstaring 堆起始大小2、Xmxmax 堆最大3、Xmnnew 新生代大小-XX:SurvivorRatio=84、jmap -heap 4591查看 jvm相关参数

2020-06-12 01:28:11 191

原创 JVM调优(二)参数配置解释 以及tomcat调优

目录1、上个例子1、上个例子这节用某项目做示例 java -Xms500m -Xmx500m -Xmn250m -Xss256k -server -XX:+HeapDumpOnOutOfMemoryError -jar bdf_apiroute_boot.jar

2020-06-08 21:16:16 218

原创 jvm调优(五)cpu异常定位

目录1、使用命令查看2、找到占cpu高的pid3、然后shift+h找到进程号4、jstack 输出的日志中nid(十六进制)=pid(十进制)ps:将39(十进制)转换为十六进制1、使用命令查看top命令2、找到占cpu高的pid使用jstack pid >aaa.txt3、然后shift+h找到进程号找到进程号后查看他的pid是多少4、jstack 输出的日志中nid(十六进制)=pid(十进制)查看对应pid的代码具体在哪一行ps:将39(十进制)转换为十六进制pri

2020-06-08 00:01:05 304

原创 jvm调优(四)吞吐量、tps、qps概念、jvm等概念

1、吞吐量2、平均响应时间3、tps4、qps

2020-06-07 23:13:22 1686

原创 jvm调优(三)linux命令及其解释

目录1、free -m/-g(剩余内存按m/g显示)2、iostat (读写速度)1、free -m/-g(剩余内存按m/g显示)列名含义total总内存used已用的内存free空闲内存写buff读cache2、iostat (读写速度)查看具体含义https://man7.org/linux/man-pages/man1/iostat.1.htmliostat 1 实时刷新iostat -dx 1 详情信息 -d 显示设备利用率

2020-06-07 21:50:46 164

原创 mysql调优(一)索引结构

目录1、mysql索引1.1、索引的结构1.2、页结构:1、mysql索引1.1、索引的结构MySQL的基本存储结构是页(记录都存在页里面),各个数据页可以组成一个双向链表,每个数据页都会为存储在它里面的记录生成一个页目录,每个数据页中的内容又可以组成一个单向链表。在中InnoDB 1页 默认16kb1.2、页结构:如下图 真实结构便于理解的结构一条数据 4字节 一页存多少记录页目录 通过2分查找法找用户区域数据每组 4-8条记录经过500W、1000W的单机表测试,自增I

2020-06-07 00:07:16 133

原创 Lombok中@EqualsAndHashCode 注解的影响

目录1、 什么是@EqualsAndHashCode 注解2、这注解是干什么的3、注意1、 什么是@EqualsAndHashCode 注解@EqualsAndHashCode 注解是lombok中的一个注解2、这注解是干什么的这个注解会生成equals(Object other) 和 hashCode()方法。它默认使用非静态,非瞬态的属性可通过参数exclude排除一些属性可通过参数of指定仅使用哪些属性它默认仅使用该类中定义的属性且不调用父类的方法可通过callSuper=true解

2020-06-04 21:25:34 181

原创 idea快速导包快捷键

idea快速导包快捷键ctrl+alt+o

2020-06-02 18:59:23 18339 5

原创 文件服务器minio

目录1.简介2.官方文档3.为什么是它?4.安装(docker):1.简介MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。2.官方文档https://docs.min.io/cn/3.为什么是它?1.MinIO是高性能对象存储的先驱MinIO是世界上速度最快的对象存储服务器。在标准

2020-06-02 13:03:32 10591

原创 mybatis plus使用说明

文章目录#1、背景:越来越多的人面试写会mybatisplus,而自己还沉迷于写mybatis,显然落伍了,刚好新项目使用了pigx,而且代码生成了些代码,是mybatis plus单表的,但是我需要进行修改啊,哎,于是还是得自学啊...

2020-06-02 00:02:01 805

转载 JVM调优(一)预估调优

目录1、引子2、正题3、JVM调优开始4、场景5、前置知识6、如何做调优1、引子魏文王问扁鹊:你们三兄弟都精通医术,谁是医术最好的呢?扁鹊回答:大哥最好,二哥次之,我最差。魏文王不解的问:为什么这样说呢?扁鹊答:大哥治病是在病人发作之前,那时候病人自己不觉得有病,但大哥就下药铲除了病根,使他的医术难以被人认可,所以没有名气;二哥治病是在病起之初,症状尚不十分明显,病人也没有觉得痛苦,二哥就能药到病除,所以大家的印象就是小病找二哥;我治病是在病人危急时刻,病人痛苦万分,家人心急如焚,他们看到我治病时在经脉

2020-06-01 22:26:18 375

原创 docker部署Java运行jar文件

docker pull java 运行 jardocker run -d --restart=always -p 9090:9090 -v /home/xx.jar:/usr/xx.jar --name xx java java -jar /usr/xx.jar

2020-05-30 13:22:40 742

原创 设计模式(一)三种代理模式以及什么时候使用

为什么要使用动态代理?每个解决方案都是为了去解决一个问题,那么为什么使用动态代理呢,那就要看他解决了什么问题日志:在程序执行期间追踪正在发生的活动什么是代理模式先说动态代理之jdk代理前提:代理对象不需要实现接口,但是目标对象一定要实现接口,否则不能用动态代理。实现与解释: 代理类所在包:java.lang.reflect.Proxy  JDK实现代理只需要使用newProxyInstance方法,但是该方法需要接收三个参数,完整的写法是:static Object newProxyI

2020-05-28 22:36:19 1459

原创 干货 | Elasticsearch多表关联设计指南

https://blog.csdn.net/laoyang360/article/details/88784748

2020-05-27 13:04:06 414

原创 SpringMVC的Controller单例线程安全问题

这个文章验证了单例http://blog.csdn.net/darkdragonking/article/details/52367186每个请求都会分配一个线程处理请求http://www.cnblogs.com/doit8791/p/4093808.htmlJava内存区的分配http://blog.csdn.net/maoyeqiu/article/details/50564075总的来讲就是controller可以自定义为单例的,当请求发送请求时,每个请求会有一个线程处理,全局变量会被共享,每

2020-05-27 12:35:10 911

原创 yum修改镜像源

1、CentOS 7wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo或者curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo2、之后运行yum makecache生成缓存

2020-05-26 09:33:07 453

原创 安装node-sass提示 Failed at the node-sass

npm ERR! code ELIFECYCLEnpm ERR! errno 1npm ERR! [email protected] postinstall: node scripts/build.jsnpm ERR! Exit status 1npm ERR!npm ERR! Failed at the [email protected] postinstall script.npm ERR! This is probably not a problem with npm. There is li

2020-05-25 10:38:03 3741 1

原创 redis互斥锁实现

//如果不存在就设置,且设置成功60秒后key自动失效,成功会返回字符串"OK ", 如果存在就不设置该keyString ret = jedis.set(key, value, "NX", "EX", 60);flag = ret.equals("OK") ? true : false;jedis.del(key);String ret = jedis.setnx(key, value);//如果不存在就设置key,成功会返回 Long类型的 1, 如果存在就不设置该key ,且会返回Long

2020-05-18 17:04:48 5668

原创 代理模式与装饰模式

https://www.cnblogs.com/boboxing/p/8126046.html

2020-05-18 13:02:08 143

原创 CAS结合jwt实现系统登录思路

传统的CAS集成方式主要有以下几个步骤:1)用户访问应用系统资源,需要登录时重定向到CAS客户端,重定向链接包含Service(当前请求CAS系统的应用系统的URL)参数;2)用户在CAS客户端进行身份认证;3)认证通过后,CAS服务端产生一个随机的 Ticket,CAS服务端以Ticket为参数重定向到步骤1)中的Service;4)应用系统以Ticket为参数,请求CAS服务端API,验证Ticket的合法性;5)CAS服务端验证Ticket合法后,返回用户信息给应用系统,应用系统本地保存用户

2020-05-18 00:20:14 4975 2

docker-compose-Linux-x86_64

docker-compose离线安装包,超级好用的docker-compose离线安装包

2020-06-23

docker日志的清理脚本

docker日志的清理脚本 ,执行后清理docker的日志

2020-06-22

查看各个日志文件大小的脚本docker_log_size.sh

查看各个日志文件大小的脚本docker_log_size.sh 共享资源-------------------------------------------------------

2020-06-22

空空如也

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

TA关注的人

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