自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux从大文件中截取指定范围的内容到文件中

例如,需要从某天的系统日志文件里获取指定时间范围的日志,而这个日志文件有几个个G,在Windows中用文本编辑器打开会出现内存不足的情况,导致无法打开通过Ctrl+C、Ctrl+V的方式得到指定范围的内容。假设大文件文件名为:big.log,需要获取从2021-01-15 17:00到2021-01-15 17 18:00的日志存到新文件small.log。在实际开发与维护中,可能会遇到需要从好几个G大的文本文件中获取包含指定文本的内容,3、根据起始行号和结束行号将该范围的内容保存到新文件中。

2023-06-13 11:19:02 1222

原创 RocketMQ双主双从环境搭建

这样当需要增加topic时就需要在web管理界面上#添加即可。#设置broker节点所在服务器的ip地址(**这个非常重要,主从模式下,从节点会根据主节点的brokerIP2来同步数据,#如果不配置,主从无法同步,brokerIP1设置为自己外网能访问的ip,服务器双网卡情况下必须配置,比如阿里云这$种,#主节点需要配置ip1和ip2,从节点只需要配置ip1即可)mkdir /data/public/rocketmq/slave/store/consumequeue:类似于数据库索引的文件结构,

2023-05-10 17:14:08 1316

原创 arthas在线问题排查工具

Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。

2023-04-28 10:48:07 836

原创 磁盘被未知资源耗尽lsof -n|grep deleted

磁盘被未知资源耗尽lsof -n|grep deleted排查

2022-09-02 10:46:11 2533

原创 Linux查看进程占用资源排名

Linux查看进程占用资源排名linux 下 取进程占用 cpu 最高的前10个进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|headlinux 下 取进程占用内存(MEM)最高的前10个进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head...

2022-03-17 09:31:00 754

原创 Linux 环境下 Nginx SSL+Tomcat 集群,解决request.getScheme() 获取到正确的https协议及https重定向后变成http的问题

关于nginxssl + tomcat后 Java通过request.getScheme()获取到http而不是https的问题,解决方案如下:一:配置 Nginx 的转发选项(需要在ssl模块上添加上):proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header.

2022-01-07 10:34:02 847

原创 zookeeper中注册应用所在机器节点(机器ID),全局唯一序列使用

在分布式系统中,全局唯一序列为分布式系统重要组成部分,而雪花算法(或基于雪花算法之上封装的类)在序列生成最为广泛,但是雪花算法需要获取应用所在服务器的ID--机器ID。如果配置文件为统一管理(配置中心),则无法在配置文件中设置机器ID,此时需要通过zookeeper进行机器ID的创建。看代码。package com.example.demo.config;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject

2020-05-19 18:03:36 898

原创 HTTP工具类(RestTemplate)

在开发过程中,使用HTTP调用外系统必然不可避免,关于HTTP工具很多,我通常选用RestTemplate进行调用。调用方法可以分为两种:1.直接在service中进行引用 ,这种方法会出现许多代码重复性工作,出现代码冗余。@Autowiredprivate RestTemplate restTemplate;2.进行封装成工具类。进行调用,这种方法将避免代码冗余,下面进行演示。首先我们需要引用jar包 <dependency> &

2020-05-19 14:28:29 802

原创 获取properties或者yaml配置文件值

在项目中,获取配置文件中的值有如下几种方法:1.在工具类中获取,写一个工具类,在工具类中指定配置文件名。这种情况网上很多博客都是这种操作,太low,太不灵活,如果存在多环境的配置文件,就不能用该方法。2.使用@Value(value = "${plum.name}")。可取,使用这这方法前提是所在的类需要增加spring注解。如果需要在工具类或者不添加注解的类中则无法使用该方法。3.继续使用@Value(value = "${plum.name}")方法,但是需要封装该注解类。(推荐,不分场景,

2020-05-18 17:45:21 1150

原创 设计模式-建造者模式

建造者模式模式 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式第一种创建行模式,他讲客户端与包含多个部件的复杂对象的创建过程分离,客户端无需知道复杂对象的内部组成部分与装配方式,只需要知道所需建造者的类型即可。建造者模式关注如何一步一步的创建一个负责对象,不同的建造者定义了不同的建造过程。模式结构 Builder(抽象的建造者):他为创建一个产品对象的各个部件制定抽象接口,在该接口中一般声明两个方法,一个是创建对...

2020-05-12 23:20:59 179

转载 JavaMail 发送(带图片和附件)和接收邮件

目录1、JavaMail 介绍 2、JavaMail API 3、使用 JavaMail 发送简单的纯文本邮件 4、邮件发送问题 5、使用 JavaMail 接收邮件 6、使用 JavaMail 发送带图片、附件的邮件1、JavaMail 介绍JavaMail 是sun公司(现以被甲骨文收购)为方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如前面所讲的SMTP,POP3,IMAP,还有MIME等。我们在使用JavaMail API

2020-05-09 13:28:50 725

原创 设计模式-抽象工厂模式

抽象工厂模式 提供一个创建一系列相关或者相互依赖对象的接口,而无需制定他们的类。重点是要创建一系列相关或者相互依赖对象的接口。工厂方法模式中每个工厂只能生产单一产品,可能会导致系统中存在大量的工厂及其产品,增加的系统的开销。而抽象工厂通过一个工厂生产对个产品模式,减少了具体工厂类。 了解抽象的工厂模式,先要了解一下概念: 1.产品等级结构:产品的等级结构就是继承结构,假设按钮是一个抽象产品(即父类),黄色按钮,绿色按钮等为具体产品(即子类),这样的结...

2020-05-08 22:18:15 120

原创 设计模式-工厂方法模式

工厂方法模式 定义一个用来创建对象的接口,但让子类决定将那个类实例化。该模式就是让那个对象的实例化延迟到其子类进行。在工行方法模式中,工厂父类只负责定义创建产品对象的公共接口,工行子类是负责具体的产品对象创建。 工厂模式的出现弥补了简单工厂的缺陷,在简单工厂模式中,如果随着产品的增加,同时需要修改工厂创建对象的逻辑,违背了开闭原则。工厂模式利用了多态性和里氏代换原则,更好...

2020-05-07 23:26:53 97

原创 设计模式-简单工厂模式

简单工厂模式 定义一个工厂,他可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。模式结构 Factory(工厂角色):即为工厂类,他是简单工厂模式的核心,负责创建所有产品实例的内部逻辑。他可以被客户端调用。一般情况下,他的创建产品实例的方法是静态的。一句话:他是个类,他的静态方法专门负责创建具体产品对象,那么这个方法的返回值必然是对象的父类(Cla...

2020-05-06 23:12:30 118

原创 MySQL优化-explain介绍

MySQL的常见瓶颈CPU:CPU在饱和的时候一般发生在数据装入内存或磁盘上读取数据的时候。IO:磁盘I/O瓶颈发生在装入数据远大于内存容量的时候服务器硬件的性能瓶颈:使用top,free,iostat和vmstat来查看系统性能状态EXPLAIN介绍使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理SQL语句,进而分析查询语句或者表结构的性...

2020-01-12 19:52:34 113

原创 MySQL优化-索引

索引的本质官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构本质:索引是数据结构,查询是数据库的最主要功能之一。我们都希望查询速度能尽可能快,因此数据库系统的设计者会从查询算法角度优化最基本的查询算法当然是顺序查找(linear search),这种复杂度为O(n)的算法在数据量很大时显然是糟糕的好在CS的发展提供了很多更优秀的查找算法,如二分查找...

2020-01-12 17:17:01 121

原创 MySQL优化-存储引擎和逻辑架构及工作流程

存储引擎介绍存储引擎在MySQL的逻辑架构中位于第三层,负责MySQL中的数据的存储和提取。MySQL存储引擎有很多,不同的存储引擎保存数据和索引的方式是不同的。每一种存储引擎都有它的优势和劣势。首先我们先看一下MySQL逻辑架构图。MySQL逻辑架构图首先,我们对该图中的各个模块做一简单介绍:Connectors:指的是不同语言中与SQL的交互。 Connection ...

2020-01-12 16:56:09 245

原创 MySQL优化-配置文件

Mysql参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一次性完成,需要不断的观察以及调试,才有可能得到最佳效果。注意:- 和 _ 是一样的,假如包含的没有找到,可以换成_[client]port = 3306# 客户端端口号为3306 socket = /t...

2020-01-12 16:35:41 115

原创 springCloud之服务提供及消费

一.创建工程manas-ipay作为服务提供者,1.pom文件<?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:schema...

2019-03-26 22:54:17 134

原创 springcloud之搭建eureka注册中心服务

1.引入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...

2019-03-26 22:29:54 181

原创 zookeeper集群搭建

zookeeper处理集群算法是2n+1,意思是集群最好在奇数上部署。本次演示zookeeper版本为:zookeeper-3.4.10.tar.gz,三台服务器步骤一模一样第一步、选择三台服务器:IP分别为192.168.1.4,  192.168.1.5,   192.168.1.6.第二步、分别在三台机器上安装zookeeper。安装步骤:1、解压:tar -xvf z...

2019-01-14 23:00:27 2930 8

原创 Redis 主从复制

Redis的一个强大功能--主从复制。一台master主机可以拥有多台slave从机。而一台slave从机又可以拥有多个slave从机。如此下去,形成强大的多级服务器集群架构(高扩展)。可以避免Redis单点故障,实现容灾恢复效果(高可用)。读写分离的架构,满足读多写少的并发应用场景。主从复制的作用主从复制,读写分离,容灾恢复。一台主机负责写入数据,多台从机负责备份数据。在高并发的场景下,...

2019-01-14 01:14:56 164

转载 Redis 持久化之RDB和AOF

Redis 持久化之RDB和AOFRedis 有两种持久化方案,RDB (Redis DataBase)和 AOF (Append Only File)。如果你想快速了解和使用RDB和AOF,可以直接跳到文章底部看总结。本章节通过配置文件,触发快照的方式,恢复数据的操作,命令操作演示,优缺点来学习 Redis 的重点知识持久化。—————————————————————————————————...

2019-01-13 18:18:11 93

转载 redis.conf详解

# redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位,# 通常的格式就是 1k 5gb 4m 等酱紫:## 1k =&gt; 1000 bytes# 1kb =&gt; 1024 bytes# 1m =&gt; 1000000 bytes# 1mb =&gt; 1024*1024 bytes# 1g =&gt; 1000000000 by...

2019-01-13 16:42:29 94

原创 Redis安装与卸载

1 Redis安装1.1 解压tar -xvf redis-3.2.3.tar.gz1.2 进行make进入到redis-3.2.3文件夹中,输入命令:make等待make完毕;1.3 进行make installmake完毕后,进行make install命令此时已经安装完毕;1.4 修改配置安装后的redis没有密码,其端口配置文件如下:redis.conf(主端口...

2019-01-13 14:25:36 1841

原创 Redis数据类型及常用的操作命令——zset操作

ZADD key score member [[score member] [score member] …]将一个或多个 member 元素及其 score 值加入到有序集 key 当中。如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新插入这个 member 元素,来保证该 member 在正确的位置上。score 值可以是整数值或双精...

2019-01-13 14:20:55 234 1

原创 Redis数据类型及常用的操作命令——hash操作

HSET key field value将哈希表 key 中的域 field 的值设为 value 。如果 key 不存在,一个新的哈希表被创建并进行 HSET 操作。如果域 field 已经存在于哈希表中,旧值将被覆盖。返回值:如果 field 是哈希表中的一个新建域,并且值设置成功,返回 1 。如果哈希表中域 field 已经存在且旧值已被新值覆盖,返回 0 。HGET key...

2019-01-13 14:17:40 175

原创 Redis数据类型及常用的操作命令——SET操作

SADD key member [member …]将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。假如 key 不存在,则创建一个只包含 member 元素作成员的集合。当 key 不是集合类型时,返回一个错误。在Redis2.4版本以前, SADD 只接受单个 member 值。返回值:被添加到集合中的新元素的数量,不包括被忽...

2019-01-13 14:13:55 156

原创 Redis数据类型及常用的操作命令——LIST操作

LPUSH key value [value …]将一个或多个值 value 插入到列表 key 的表头如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表头: 比如说,对空列表 mylist 执行命令 LPUSH mylist a b c ,列表的值将是 c b a ,这等同于原子性地执行 LPUSH mylist a 、 LPUSH mylist b 和 LPU...

2019-01-13 14:08:52 160

原创 Redis数据类型及常用的操作命令——String操作

set k v:当set k1 v1后再次set k1 v2,则会覆盖上一次的值;get key:获取key的value;del key:刪除当前key;APPEND key value:如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。返回值为append后的字符串长度。如果 key 不存在, APPEND 就简单地...

2019-01-13 14:03:30 136

原创 Redis数据类型及常用的操作命令——key操作

key:select:用于选择redis的DB,redis的DB有0-16个数据库。keys /key::遍历该数据库中的所有的key,key代表具体的key。EXISTS key:代表是否存在key,存在返回1,不存在返回0;move key db:代表将key及其值移入到db中,而当前库则没有这个key及其值。Expire key seconds: 设置当前key的有效期,...

2019-01-13 13:58:01 110

原创 Redis数据类型及常用的操作命令——数据类型

Redis总共有5大数据类型,分列如下:String(字符串):string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M。...

2019-01-13 13:53:41 102

原创 简单的上下文读写Context实现

Context上下文主要用来从上文传播对象到下文中,他是可以跨线程的。 就是说 class A中你把一个OBJ对象存放到了上下文容器中, 然后你以后的所有线程或你以下调用的所有类中都可以从上下文容器中取出 上面再class A中存放的OBJ对象。而ThreadLocal对上下文的读写至关重要。 ThreadLocal用于保存某个线程共享变量:对于同一个static ThreadLocal,不同线程只能从中get,set,remove自己的变量,而不会影响其他线程的变量。1、ThreadLocal.

2019-01-10 23:23:09 659

原创 eclipse web module项目倒导入版本问题:Cannot change version of project facet Dynamic Web Module to 2.5.

项目导入时出现Cannot change version of project facet Dynamic Web Module to 2.5.问题:问题描述:解决方法:打开工程目录下的.settings文件夹,修改org.eclipse.wst.common.project.facet.core.xml文件中jst.web版本为: ,然后maven update工程即可。...

2019-01-09 11:22:10 119

原创 ThreadPoolExecutor线程池的简单应用

一、什么是线程池?线程池,其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。二、线程池的优势第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消...

2019-01-07 23:33:02 227

原创 springboot集成redis

首先添加redis依赖 &amp;lt;!-- redis --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-boot-starter-data-redis&amp;l

2018-12-09 14:54:49 125

原创 springboot集成mysql时报CLIENT_PLUGIN_AUTH is required异常处理

关于解决springboot在集成MySQL时,操作数据库时如下异常:java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110) at com....

2018-12-09 14:16:01 25932 9

原创 spring日志配置分别使用springboot自带日志,logbak日志以及log4j2日志

Springboot日志配置:Springboot日志配置分别可以分为自带的日志,医用第三方日志;以下分别下介绍springboot自带日志配置,引用logback,以及log4j2日志。1、 默认配置文件配置(不推荐使用):因为不够灵活配置方式比较简单:在application.properties文件中配置:#日志文件名,比如:gm-manas.log,或者是 /var/log/gm...

2018-12-09 13:33:46 5892 1

原创 org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)问题解决

maven工程创建时,pom.xml文件报错:org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)此时,需要按如下步骤:eclipse中导航栏help–&amp;gt;install new software… 弹出对话框:点击add:输入http://repo1.maven.org/maven2/.m2e/co...

2018-11-12 21:25:29 1197

创建SQL.xlsm

数据库参数维护生成SQL文件工具,文件通过office办公软件打开,Excel需要启动宏,这里是一键启用

2020-05-22

空空如也

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

TA关注的人

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