自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 (1)深入理解Java虚拟机-内存模型

​ 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在Java虚拟机的概念模型里 [1] ,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。​ 由于Java虚拟机的多线程是通过线程轮流切换、分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器(对于多核处理器来说是一个内核)都

2023-02-02 11:10:13 423 1

原创 MyPerf4J结合Grafana和InfluxDB采集JVM以及QPS指标

​ 需要采集现场java程序运行的状态数据(包括JVM指标以及QPS,RPS指标等)。需要采集的方式尽可能轻量化​ 结合实际情况采用MyPerf4J作为Java探针,InfluxDB作为数据存储端,Grafana作为数据展示端。

2023-01-03 11:27:43 1589 2

原创 SpringBoot Dubbo3.0 java.lang.reflect.InaccessibleObjectException

Dubbo3.0 java.lang.reflect.InaccessibleObjectException

2022-11-08 21:07:27 469

原创 Failed to initiate the GitHub login process. Please try again(1.1.25.1678)

Failed to initiate the GitHub login process. Please try again

2022-06-13 13:50:52 3916 4

原创 springboot_log4j2_日志脱敏

springboot log4j2 脱敏

2021-12-22 14:35:55 2083

原创 SpringBoot适配异步Log4j

spring boot 版本 2.5.3pom.xml依赖如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <exclusi

2021-08-26 09:09:53 244

原创 CentOS7 一键安装mysql8.0

1.下载mysql8.0 tar gz包2.MySQL脚本注意 可根据自定义需求修改data_dir_pathdata_dir_path 是数据保存目录 ,home_data_path是mysql 安装目录 ) 。需要建立download文件夹 。以及修改mysql_package_namePS : 正确的安装前提是拥有这些目录和文件/mnt/xxx/ 目录/home/xxx/download 目录mysql-8.0.23-el7-x86_64.tar.gz 需要放在/home/xxx/do

2021-07-28 18:28:49 472 1

原创 重学设计模式-策略模式

设计模式-策略模式介绍UML图实现介绍**意图:**定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。**主要解决:**在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。实现需求场景:现有两家快递公司(顺丰,圆通),你现在是一个快递承包商(用户选择了不同的快递公司,你负责帮用户计算好需要支付的快递费,快递需要消耗的时间等。将计算好的价格告诉用户)代码部分:@Setter@Getterpublic class ExPressCompany {

2020-06-27 18:00:30 305

原创 基于Dubbo,本地Mock方案

基于Dubbo,本地Mock方案起因​ 分布式系统中,由于系统之间相互依赖。导致开发人员对一个功能需要进行本地测试的时候,极有可能由于依赖的系统过多导致需要本地启动很多服务,这样严重影响我们的自测效率​ 虽然dubbo提供了mock,但是在spring环境下该mock是配置在xml里面的,有可能导致不小心提交了xml mock到生产环境,从而导致生产环境调用使用了mock数据,从而引发不可预...

2020-04-06 19:04:45 1007 2

原创 SpringBoot实现自定义包扫描

SpringBoot实现自定义包扫描最近很好奇在SpringBoot项目上加@MapperScan(basePackages = "xxx") 注解就能扫描到执行的包下面的东西。于是研究了一下Mybatis怎么实现的。大致是根据Mybatis依葫芦画瓢于是点开@MapperScan类,看到类结构如下:@Retention(RetentionPolicy.RUNTIME)@Target({...

2020-03-15 10:49:15 7077

原创 简单工厂模式和抽象工厂模式

简单工厂模式和抽象工厂模式不BB,直接来需求设计一个披萨店现在需要生产多种颜色的披萨供顾客使用,我们为了满足生产多种颜色的披萨生产,脑海里面第一想法是使用工厂模式来创建不同的披萨。先看草图的大致设计那么想要图中的功能。至少需要3个类。一个是绿颜色披萨实体类,红颜色披萨实体类,还有一个披萨工厂类(我这里将披萨的实体类做了一下继承,多加了一个类)。披萨拥有名字,颜色,价格,描述@Data...

2020-01-16 18:01:59 205

原创 Mock简单使用

Mock简单使用原因:如果要测试一个功能是否完善,但是某个方法又依赖别的接口,别的接口可能没有开发完,此时如果使用正常的测试的话,那么没有开发完的接口可能会阻塞自测的流程使用mock的优点与写死其他接口返回结果不同,Mock不需要修改原方法的代码不说废话,直接开始public interface CarService3 { String addPetroleum();}pa...

2020-01-16 15:42:21 565

原创 纯手写SpringBoot+Spring MVC (第一阶段)

纯手写SpringBoot+Spring MVC (第一阶段)我们知道springBoot相比于Spring的话省略了很多配置,而且可以通过main方法的形式启动spring boot web项目。 (源码地址:https://github.com/q920447939/java-study/tree/master/spring-boot/spring-boot-custom)那么我们今天也来...

2019-12-15 21:10:23 481

原创 frp反向代理

下载frps地址: https://github.com/fatedier/frp/releases编辑frps.ini2.1内容如下[common]bind_port = 7000 #绑定通讯端口dashboard_user = admin #管理控制台账号dashboard_pwd = password #管理控制台密码dashboard_port ...

2019-10-26 14:18:10 1270

原创 Docker 安装Mysql 并挂载配置文件

Docker 安装Mysql 并挂载配置文件新建文件夹和文件新建文件夹 /home/mysql/data新建文件/home/mysql/conf/my.cnf,内容如下:[mysqld]pid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockdatad...

2019-07-26 15:40:03 6433

原创 Spring boot JWT 实现(极简版)

水平有限,不喜勿喷欢迎关注github,点击直达jwt 介绍主要分为三部分Header(定义使用什么算法加解密)Payload (需要放的内容)Signature (类似于私钥,就好比与WX的私钥差不多,别人不知道的话拿到一串加密的数字无法解密)jwt与session的区别主要是session在集群之下共享的问题,jwt存在客户端 ,服务端只是做加密解密,所以性...

2019-07-23 22:35:28 539

原创 锁住同一个对象就能保证多线程问题吗?

锁住同一个对象就能保证多线程问题吗?首先看程序,在主程序中 打印了 "i"的值,那么会是多少呢?public class BadSynOnInteger implements Runnable{ static BadSynOnInteger badSynOnInteger = new BadSynOnInteger(); static Integer i = 0 ; ...

2019-07-12 12:20:15 386

原创 spring-cloud项目打包成docker镜像并启动,安装docker-compose并进行服务编排

将spring-cloud项目打包成docker镜像并启动项目地址步骤pom.xml 里面加入如下配置: <build> <finalName>spring-cloud-eureka-server01-service</finalName> <plugins> ...

2019-07-10 10:22:00 2677

原创 Docker 部署spring boot 项目

前提条件1,docker已安装好2,spring boot项目已准备好准备就绪后,咱们不废话,直接开始1,使用maven 命令将创建好的spring-boot 项目 打包 命令如下mvn clean package2,此时在项目目录下会有一个target文件,如图所示3,编写Dockerfile文件,内容如下:FROM java:8 #基于哪个镜像,此处用的是java ...

2019-07-06 23:29:00 485

原创 RabbitMQ linux 安装以及使用(一)

rabbit官网下载下载rabbitMQ rpm包(https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-3.7.15-1.el7.noarch.rpm)#当前所在目录[root@localhost ftp_down]# pwd /usr/local/ftp_d...

2019-07-04 13:50:36 7465

原创 有一长串字符串,要求统计每个字符出现的次数并按照倒叙输出

/** * ClassName: CountStr * * @author leegoo * @Description: * @date 2019年07月03日 */public class CountStr { private static String str = "" + "Hello i'am jack," + "v...

2019-07-03 18:11:30 750

原创 学习lambda04-改写测试模式

lambda 改写策略模式,减少冗余代码/** * ClassName: My * * @author leegoo * @Description: * @date 2019年04月28日 */public class My { public static final String STRING_RE = "[a-z]+"; public static final ...

2019-04-28 15:54:34 208

原创 学习lambda03-lambda和forkjoin

import java.util.concurrent.ForkJoinPool;import java.util.concurrent.RecursiveTask;import java.util.concurrent.ForkJoinTask;import java.util.concurrent.atomic.AtomicInteger;import java.util.strea...

2019-04-28 11:51:34 477

原创 学习lambda02-lambda 语法练习

我们来看一个不同的领域:执行交易的交易员。你的经理让你为八个查询找到答案。你能做到吗?该自己先尝试一下作为练习。(1) 找出2011年发生的所有交易,并按交易额排序(从低到高)。(2) 交易员都在哪些不同的城市工作过?(3) 查找所有来自于剑桥的交易员,并按姓名排序。(4) 返回所有交易员的姓名字符串,按字母顺序排序。(5) 有没有交易员是在米兰工作的?(6) 打印生活在剑桥的交易员...

2019-04-26 22:38:36 446

原创 学习lambda01- 使用lambda Predicate处理 简化代码

import java.util.ArrayList;import java.util.List;import java.util.function.Predicate;/** * ClassName: Apple * @Description: * @author leegoo * @date 2019年04月25日 */public class Apple { p...

2019-04-25 14:16:25 513

原创 ValueError: x and y must have same first dimension, but have shapes (1, 120) and (120,)

ValueError: x and y must have same first dimension, but have shapes (1, 120) and (120,)报错代码如下:import randomfrom matplotlib import pyplot as pltx = [range(0, 120)] #➀y = [random.randint(20, ...

2019-04-23 11:10:16 78473 1

原创 javax.servlet.ServletException: Circular view path [home]: would dispatch back to the current handl

起因: spring-boot工程,访问 后台想返回 home.html ,但是报错解决原因如下1.pom.xml文件是否引用了模板引擎,我用的是thymeleaf <!--模板--> <dependency> <groupId>org.springframework.boot</groupId...

2019-03-20 16:18:47 498

原创 CAP理论理解

CAP理论理解解释:那么什么是CAP原理,CAP原理是现代分布式系统的理论基石,好比是分布式领域的牛顿定律。CAP原理发布后,各种分布式存储中间件如雨后春笋般一个个冒出来了。我们这里只理解CAP,不对其原理做深入研究。CAP三个字母分别代表:C - Consistent ,一致性A - Availability ,可用性P - Partition tolerance ,分区容错性分布式系...

2019-03-11 16:33:16 431

原创 ESP定律

ESP定律1,载入程序 f8 ,找到右边寄存器窗口 找到esp(红色部分),右键选择HW break[ESP](可在调试-硬件断点查看断点)2,运行程序,按两次F8,即到了程序入口(如果如下图,那么鼠标 右键-从模块删除分析就会出现正常的汇编代码了)3,右键选择用用OllyDump调试进程4,如图(注意重建输入表默认是打钩的,以防脱壳之后程序打不开,可以选择勾选和不勾选,然后点击右上...

2019-02-23 21:43:26 2423

原创 java 生产者和消费者例子(wait,notify)

public class ProduceConsumeVersion2 { public static void main(String[] args) { ProduceConsumeVersion2 p = new ProduceConsumeVersion2(); new Thread(() -&amp;gt; { while (tr...

2019-02-19 22:57:14 254

原创 java死锁的一个例子

public class TestDieyLock { public static void main(String[] args) { Lock l = new Lock(); new Thread(() -&amp;gt; { while(true) l.t1(); }).st...

2019-02-19 21:48:23 156

原创 设计模式(java)-策略模式

设计模式(java)-策略模式自己理解:通过实现接口,接口调用方法时具体的实现是子类完成的.如下代码所示,当前apple有颜色和重量两个属性,如果某一个需求需要统计绿色的Apple有多少个,那么很简单,写一个根据color颜色去区分的方法即可,如果有来一个需求,要根据红色去区分,大不了又加一个方法…随着需求的增多,这种重复的方法也越来越多,且程序的健壮性不好,现在使用策略模式(感觉策略模式像匿...

2019-02-15 16:58:35 124

原创 两数相加

两数相加点击链接加入群聊【java菜鸟学习】:https://jq.qq.com/?_wv=1027&amp;k=5afU7nS群号:124569404/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNod...

2019-01-10 10:46:28 140

原创 两数只和(twoSum)

两数只和(twoSum)给定一个整数数组,返回两个数字的索引,使它们相加到特定目标。您可以假设每个输入只有一个解决方案,并且您可能不会两次使用相同的元素。由于需要考虑负数以及两个数字相同的情况,暂未想到很好的解决办法(Map不能存储相同的数字)/** * ClassName: Twosum * * @author leegoo * @Description: * @date...

2019-01-09 20:54:59 223

原创 lombok与java Build模式结合

build模式可以解决构造器多个参数不易阅读传统的手写build方式public class User { private String name; private Integer id; private Integer sex; public static class Builder{ private String name; ...

2019-01-03 17:06:16 2686 2

原创 Docker 部署 Spring Cloud并让docker容器使用宿主机ip

Docker 部署 Spring Cloud并让docker容器使用宿主机ip使用系统、软件版本:linux 版本:[root@VM_0_17_centos docker]# uname -aLinux VM_0_17_centos 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86...

2018-12-27 14:12:51 17642 7

原创 将jar包上传到neuxs

将jar包上传到neuxsmvn deploy:deploy-file -DgroupId=com.abc.pay -DartifactId=pay-api -Dversion=1.0.0 -Dpackaging=jar -DrepositoryId=udo-maven -Dfile=E:\my-project\xxxb-temp\udo-cloud-2018-14-04\udo-pay-c...

2018-12-24 14:11:51 445

原创 使用Logstash让elasticsearch与MySQL数据同步

使用Logstash让elasticsearch与MySQL数据同步什么是LogstashLogstash是一款轻量级的日志搜集处理框架,可以方便的把分散的、多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件。Logstash安装与测试解压,进入bin目录logstash ‐e 'input { stdin { } } output { stdout...

2018-11-26 15:43:54 274

原创 MongoDB的下载、安装、结合Spring Boot对MongoDB增删改查操作

MongoDB的下载、安装、结合Spring Boot对MongoDB增删改查操作什么是MongoDBMongoDB 是一个跨平台的,面向文档的数据库,是当前 NoSQL 数据库产品中最热门的一种。它介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的产品。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。...

2018-11-25 00:03:09 467

原创 docker 安装mysql 和redis

不演示如何docker[root@VM_95_93_centos ~]# docker search redisNAME DESCRIPTION STARS OFFICIAL AUTOMATEDredis ...

2018-11-23 22:34:26 471

空空如也

空空如也

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

TA关注的人

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