自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java 8 根据方法引用获取对应的属性字段

package com.jake.test;import org.springframework.util.ClassUtils;import org.springframework.util.ReflectionUtils;import java.beans.Introspector;import java.lang.invoke.SerializedLambda;import j...

2020-11-06 21:00:00 70

原创 使用idea 远程debug

1. 服务器上服务添加启动参数-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=99992.打开idea,配置箭头所指处需要配置对应的服务器ip,以及启动参数里设置的端口地址请注意:如果服务器设置防火墙,需提前开放端口3.启动配置完成后,启动该启动项,在代码里选择要进入断点的地方。调用服务器接口,便可...

2020-07-09 15:53:00 63

原创 maven 打包时打包jar及源码

maven 打包时打包jar及源码<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting...

2020-02-17 09:59:00 67

原创 Java中各种进制的表达方式

二进制:由0,1组成。以0b开头。八进制:由0,1,...7组成。以0开头。十进制:由0,1,...9组成。默认整数是十进制。十六进制:由0,1,...9,a,b,c,d,e,f(大小写均可)组成。以0x开头。...

2020-01-17 15:38:00 42

原创 Java 位运算实现加减乘除

Java 位运算实现加减乘除一 分析a=13;b=9;a的二进制:1101b的二进制:10011.加法不考虑进制加: 结果等于0100 等同于 a^b考虑进制加:结果等于10110 等同于 (a&b)>>1使用while循环或者递归方式,直到进制位等于02.减法a-b == a+(-b),所以只需要计算a的负数,调用加法即可-b = ~b+1;(负数存...

2020-01-17 14:47:00 18

原创 Linux下解决每次git pull/git push都需输入密码的问题

操作步骤设置全局配置cd /git config --global credential.helper store查看配置文件校验结果vim ~/.gitconfig使用:  cd到项目目录,执行git pull,会提示输入账号密码。输完这一次以后git pull或git push就不在需要输入密码了(会在根目录生成一个 .git-credentials 文件)...

2020-01-08 09:38:00 27

原创 Centos XFS 格式硬盘分区调整

Centos XFS 硬盘分区调整问题描述在安装新的虚拟机或者系统时,由于无法评估分区的大小,导致后面某个分区太小无法部署服务,比如我们在安装Linux虚拟机时,给虚拟机分配了500G的硬盘.在不手动设置分区的情况下,会自动将/home 分配400G,/ 目录分配50G,这样就会导致"/home"过大,"/"目录过小的问题(如下图).所以我们需要手动调整一下home 和/的分区大小;具体步...

2020-01-07 11:30:00 44

原创 Linux Sort命令

Linux Sort命令语法sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]参数:-b 忽略每行前面开始出的空格字符。-c 检查文件是否已经按照顺序排序,如果有序,则不进行操作-d 排序时,处理英文字母、数字及空格字符外...

2019-12-05 23:57:00 27

原创 Linux 下统计某个文件的词频

Linux 下统计某个文件的词频摘抄自Letcode文本内容脚本# xarhs -n 1 每个单词逐行显示# uniq -c 去重并且输入记录次数# sort -n 排序 -r相反的顺序进行排序# 分析文本内容 分别输出文本中的第二项 第一项内容$ cat words.txt|xargs -n 1 echo|uniq -c |sort -n -r |awk '{print...

2019-12-05 20:46:00 46

原创 设计模式七大原则

一、设计模式的目的代码重用性:相同的代码,不需要重复写可读性:编程规范,易读易维护可扩展性:方便新增新的功能可靠性:新增功能对已有的功能没有影响高内聚、低耦合二、设计思想找出应用中可能需要变化之处,把他们独立出来,不要和 那些不需要变化的代码混合到一起针对接口编程,而不是针对实现编程为了交互对象之间的松耦合设计而努力二、设计模式七大原则单一职责原则接口隔离...

2019-12-03 11:13:00 17

原创 Redis持久化RDB和AOF

Redis持久化RDB和AOF一 相关概念1.RDB​ 在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。2.AOF​ 以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录。二 优缺点1.RDB优势一旦采用该方式,那么你的整个Redis数据...

2019-11-29 14:56:00 19

原创 Linux Top的使用

Linux Top的使用Top常用命令-b:以批处理模式操作;-c:显示完整的治命令;-d:屏幕刷新间隔时间;-I:忽略失效过程;-s:保密模式;-S:累积模式;-i<时间>:设置间隔时间;-u<用户名>:指定用户名;-p<进程号>:指定进程;-n<次数>:循环显示的次数。TOP页面参数解释统计信息top - ...

2019-11-29 14:12:00 16

原创 Kafka 自定义指定消息partition策略规则及DefaultPartitioner源码分析

Kafka 自定义指定消息partition策略规则及DefaultPartitioner源码分析一.概述kafka默认使用DefaultPartitioner类作为默认的partition策略规则,具体默认设置是在ProducerConfig类中(如下图)二.DefaultPartitioner.class 源码分析1.类关系图2.源码分析public class Defaul...

2019-11-29 12:00:00 25

原创 单例模式

单例模式的八种方式饿汉式(静态常量)饿汉式(静态代码块)懒汉式(线程不安全)懒汉式(线程安全,同步方法)懒汉式(线程安全,同步代码块)双重检查静态内部类枚举八种方式详解饿汉式(静态常量)步骤构造函数私有化类的内部创建对象向外暴露一个静态的公共方法代码实现public class BaseSingleton { //加载该类时,单例就会自动被创建 ...

2019-11-28 11:00:00 18

原创 Spring Boot ELK Kafka 自定义断路器Circuit-Breaker

Spring Boot ELK Kafka 自定义断路器Circuit-Breaker一.需求说明​ 微服务框架需要日志收集,包括日志的清洗分析过滤等,常见的日志系统是ELK.业务系统通过ELK组件,将日志通过logback的方式写入kafka,logstash对kafka的日志进行清洗过滤,最后统一进入kinbana进行日志的分析和汇总.​ kafka作为中间件,正常是不可以影响应用状态...

2019-11-27 11:52:00 118

原创 UML

一、基本介绍UML(Unified modeling language) 统一建模语言,是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果。UML本身是一套符号的规定,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如类、接口、实现、泛化、依赖、组合、聚合等二、UML的分类用例视图:用例图设计视图:类图(核心)对象图进程视图:...

2019-11-26 16:53:28 246

原创 kafka中broker、producer、consumer主要配置参数说明

转载于http://www.shixinke.com/java/kafka-configuration一、broker主要配置1.broker自身属性的配置配置项作用类型默认值示例broker.idbroker在集群中的标识 整型-11listeners监听的服务地址(多个用,隔开)StringnullPLAINTEXT://myhost:9092...

2019-11-26 13:57:00 26

原创 手写一个LruCache

代码实现一 (直接继承ListHashMap.java)package org.java.write.lru;import java.util.ArrayList;import java.util.Collection;import java.util.LinkedHashMap;import java.util.Map;import java.util.concurrent.lo...

2019-11-22 18:27:00 16

原创 ES发布时max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 错误...

原因分析问题翻译过来就是:elasticsearch用户拥有的内存权限太小,至少需要262144;解决方式切换到root用户执行命令:sysctl -w vm.max_map_count=262144查看结果:sysctl -a|grep vm.max_map_count显示:vm.max_map_count = 262144上述方法修改之后,如果重启虚拟机将失效,所以:解...

2019-11-08 10:39:00 46

原创 UML类图

一、基本介绍UML(Unified modeling language) 统一建模语言,是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果。UML本身是一套符号的规定,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如类、接口、实现、泛化、依赖、组合、聚合等二、UML的分类用例视图:用例图设计视图:类图(核心)对象图进程视图...

2019-11-07 16:03:00 17

原创 JVM调优总结

目录数据类型堆与栈Java对象的大小引用类型按照基本回收策略分按分区对待的方式分按系统线程分如何区分垃圾如何处理碎片如何解决同时存在的对象创建和对象回收问题为什么要分代如何分代什么情况下触发垃圾回收分代垃圾回收流程示意选择合适的垃圾收集算法小结回收器选择辅助信息常见配置汇总调优总结垃圾回收的瓶颈增量收集的演进Garbage Firest(G1)展望JVM调优工具如何调优线程监控内存泄漏检查垃圾回...

2019-10-30 21:08:00 12

原创 JVM学习系列(五) 常见的JVM参数

参数说明实例-Xms初始堆大小,默认物理内存的1/64-Xms512M-Xmx最大堆大小,默认物理内存的1/4-Xms2G-Xmn新生代内存大小,官方推荐为整个堆的3/8-Xmn512M-Xss线程堆栈大小,jdk1.5及之后默认1M,之前默认256k-Xss512k-XX:NewRatio=n设置新生代和年老代的比值。如:为3,表示...

2019-10-30 21:02:00 15

原创 JVM学习系列(四) 相关概念

Full GC、Minor GC和Major GC的区别Minor GC:发生在新生代的垃圾收集动作,因为JAVA对象大部分都具备朝生夕灭的特效,所以Minor GC会比较频繁且回收速度比较快Major GC/Full GC 指发生在老年代的垃圾回收动作,出现Major经常会出现一次Minor GC,Major GC的速度一般会比Minor GC 慢10倍...

2019-10-30 21:01:00 12

原创 JVM学习系列(三) 虚拟机监控相关

JDK提供的监控和故障处理工具jps:JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程jstat:JVM Statistics Monitoring Tool,用户收集HotSpot虚拟机各方面的运行数据jinfo:Configuration Info for JAVA,显示虚拟机配置信息jmap:memory Map for JAVA,生成...

2019-10-30 21:00:00 6

原创 JVM学习系列(一) JAVA内存区域和内存溢出异常

JAVA内存区域介绍程序计数器:线程私有,很小的内存空间,可以看做是当前线程所执行的字节码的行号指示器;每个线程都有一个独立的程序计数器,各个线程之间的计数器相互不影响,独立存储;如果线程执行的是Java 方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址,如果是一个Native方法,那么这个计数器的值则为undefined;该内存区域不会发生任何的OutOfMemoryEr...

2019-10-30 20:59:00 13

原创 JVM学习系列(二) 垃圾回收

如何判断对象是否可回收引用计数法1、概念:给对象中添加一个引用计数器,每当有一个地方引用他时,计数器的值+1,当引用失效的时候,计数器-1,任何时刻计数器为0的对象就是不可以在被使用的对象。2、缺点:无法解决对象循环引用的问题(如下图)可达性分析法1、概念:垃圾回收根节点(GCRoot)向下搜索,搜索所走过的路径称为引用链,当一个对象对GCRoot没有任何的引用链时,代表当前对象不可用...

2019-10-30 20:59:00 9

原创 漫画算法读书笔记(一) 基础知识

算法在计算机领域里,算法是一系列的程序指令,用于处理特定的运算和逻辑问题衡量算法好坏的标准时间复杂度空间复杂度数据结构数据结构是数组的组织、管理和存储格式,其使用目的是为了高效地访问和修改数据线性数据结构数组链表复杂数据结构树图时间复杂度时间复杂度是对一个算法运行时间长度的度量,用大O表示,记做T(n)=O(f(n)).常见的复杂度排序O(...

2019-10-30 20:56:00 16

原创 漫画算法读书笔记(一) 数据结构基础

数组数据是由有限个相同类型的变量所组成的有序集合;物理存储方式是顺序存储访问方式是随机访问;利用下标查找数组元素和修改数组元素的时间复杂度是O(1);中间插入,删除数组元素的时间复杂度是O(n)。适合读操作多,写操作少的场景基本操作读取更新删除插入尾部插入中间插入超范围插入(双倍扩容)链表链表是一种链式数据结构,右若干节点组成,每个节点包含指向下一...

2019-10-30 20:56:00 17

原创 docker 因镜像源的问题无法拉取镜像(docker 修改镜像源)

今天给新的电脑安装docker,安装成功以后拉取新的镜像时,拉取失败,报这个错误Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awai...

2019-10-28 22:26:00 86

原创 ubuntu 下docker以及docker-compose的安装

docker安装1.删除旧的docker的安装包apt-get remove docker docker-engine docker-ce docker.io2.更新安装包索引apt-get update3.安装以下包以使apt可以通过HTTPS使用存储库(repository)apt-get install -y apt-transport-https ca-certificate...

2019-10-28 21:55:00 51

原创 Ubuntu下安装Mysql-Python1.2.5问题

Ubuntu下安装Mysql-Python1.2.5问题安装步骤1、进入官网下载对应的mysql-python 版本https://pypi.org/project/MySQL-python/2、解压unzip MySQL-python-1.2.5.zip3、进入对应目录安装cd MySQL-python-1.2.5python setup.py buildpython s...

2019-09-24 18:49:00 26

原创 关闭或启动linux防火墙后,docker启动容器报错问题解决方式

关闭或启动linux防火墙后,docker启动容器报错问题解决方式解决办法:重建docker0网络恢复1、按照进程名杀死docker进程pkill docker2、清空防火墙规则-清空nat表的所有链iptables -t nat -F3、查看定义规则的详细信息iptables -L -n -v4、关闭docker0接口ifconfig docker0 down5、删除doc...

2019-09-24 09:54:00 160

原创 fatal 拒绝合并无关的历史

在项目pull远程代码的时候,因为本地初始化的项目 与 github 版本不一致, 导致无法拉取或者提交,会出现一个 ‘fatal 拒绝合并无关的历史’的错误解决方式:# 允许不相关的历史信息git pull --allow-unrelated-histories...

2019-09-19 11:24:00 91

原创 maven 中 Optional和Exclusions的区别

maven 中 Optional和Exclusions的区别区别Optional:该依赖只能在本模块/项目中中传递,不会传递到引用该项目的父项目中,父项目需要主动引用该依赖才行。Exclusion:主动排除子项目传递过来的依赖。用法区别:Project-X -> Project-A Project-A -> Project-B<project> ...

2019-09-19 10:35:00 15

原创 mysql8.0 创建数据库及对应的用户

1、使用root用户登入数据库2、创建数据库create dababase test_database3、创建用户## % 代表不限制ip## localhost 代表只能本地访问## 192.168.1.1 代表只能192.168.1.1 这个固定ip访问create user 'testuser'@'%' identified by 'testuser';4、授权,允许新建用...

2019-09-17 11:19:00 38

原创 git 常见命令(补充)

回滚到上个版本git reset --hard HEAD^回滚到上上个版本git reset --hard HEAD^^查看提交记录git log# 格式化git log --pretty=oneline查看变更内容git diff查看操作的每一次记录(包括回滚记录,git log在某次回滚后,不会记录这次回滚以后的所有记录,一般可以用于旧版本恢复到新版本...

2019-09-04 11:52:00 14

原创 Spring Boot EnvironmentPostProcessor 的使用

1、编写自定义配置文件custom.propertis,并放到resource目录下file.size=11112、编写自定义的加载类CustomEnvironmentPostProcessor,实现EnvironmentPostProcessor接口,重写postProcessEnvironment方法package org.yujuan.springbootlearning.proc...

2019-08-28 01:14:00 29

原创 Vim使用总结

基本命令进入vim相关命令描述vim filename打开或新建文件,并将光标置于第一行首vim +n filename打开文件,并将光标置于第n行首vim + filename打开文件,并将光标置于最后一行行首vim +/pattern filename打开文件,并将光标置于第一个与pattern 相匹配的位置vim -r filename...

2019-08-28 00:19:00 42

原创 docker-compose 搭建gitlab

搭建步骤1、安装docker及docker-compose2、编写dokcer-compose文件 并且启动version: '3.7'services: gitlab: container_name: mygitlab image: 'gitlab/gitlab-ce:11.9.6-ce.0' restart: always hostname: ...

2019-08-27 19:36:00 22

原创 Executors的使用

Executors的使用一、线程池工作顺序corePoolSize -> 任务队列 -> maximumPoolSize -> 拒绝策略二、自带的线程池的工厂方法1、newFixedThreadPoolJDK文档描述:创建一个固定的现成池,该线程重用固定数量的线程。如果所有线程都处于活动状态,并且有新的任务时,会在队列中进行等待,直到线程可用。如果现成在关闭之前发生...

2019-08-23 17:16:00 14

空空如也

空空如也

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

TA关注的人

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