自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BF的博客

遨游在代码的世界、bug的海洋,舒服```

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

原创 获取Linux系统的使用的网卡ip的正确姿势

下面两种方式,第一种方式会比较慢第一种:ip addr show `netstat -r|grep default|awk '{print $8}'`|awk -F "[ /]+" '/inet /{print $3}' 第二种:ip addr show `route -n|awk '$1=="0.0.0.0" {print $8}'`|awk -F "[ /]+" '/inet /{print $3}'ok~.~...

2020-07-30 14:24:30 252

原创 秒杀场景高并发处理

秒杀场景一般是在京东、淘宝活动日,譬如京东618秒杀,淘宝双11秒杀等,其本质即是超大的流量访问秒杀接口,真正秒杀到的用户很少;要求服务器能够承载超大流量用户的请求,保证用户体验。如何能够提高用户体验呢?其实就是针对大流量进行削峰,限流,提高服务器并发量,秒杀架构图如下图所示:服务器层面可以水平扩展(增加服务器数量),垂直扩展(提高单机处理能力,增加cpu核心、内存等)前端处理CDN加速、静态化页面、验证码等代理层面Nginx(可做集群)反向代理,ip访问频率限制、ip黑

2020-07-07 11:00:20 589 1

原创 AES加解密以及源码分析

AES加解密简单实现 //密钥 private static String secretKey = "12345678123456781234567812345678"; //加密串字符编码方式 private static String charset = "utf8"; //偏移量 private static int offset ...

2020-04-30 17:55:22 1037

原创 Idea十分实用插件推荐

Maven Helper这是一款jar分析工具,可以帮助我们很优雅的管理我们的jar包,有效的解决jar包依赖冲突问题,如下图所示RestfulToolkit这款插件是接口管理工具,类似swagger,不过比swagger更加方便,可以让开发人员更方便的测试接口,不用切换窗口,数据demo自动根据我们的参数生成,如下图所示Grep Console...

2020-04-21 11:04:14 1823

原创 dockerfile详解

dockerfileDocker可以通过读取Dockerfile中的指令来自动构建图像。Dockerfile是一个文本文档,它包含用户可以在命令行上调用的所有命令来组装一个映像。使用docker构建,用户可以创建一个连续执行多个命令行指令的自动化构建。构建镜像docker build -f /path/Dockerfile .or enter Dockerfile文件所在目录docke...

2019-11-07 16:31:51 540

原创 elasticsearch6.8.4-docker部署升级方式以及安全加密

docker部署升级方式项目中间件升级以及安全加固,这里记录一下,有需要的同学可以参考下需要升级内容:elasticsearch、kibana、ik分词器准备工作:下载ik分词器6.8.4版本放入elasticearch插件direlasticsearch升级elasticserach 配置 dir[root@localhost elasticsearch]# ls /docker...

2019-11-06 15:21:04 2800 1

原创 利用java反射方式实现导入excel

在做项目过程中,导入excel数据应该是很常见的操作,我们都是如何去做他呢,肯定做法是多种多样的,我估计大多数同学都习惯这样的一种方式,直接对我们的对我们所需要的实体bean进行挨个set值,如下面这种方式:定义日期格式: private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-M...

2019-11-01 18:12:13 792

原创 spring自定义注解校验字段格式

在我们开发项目过程中,肯定会遇到对存储字段的格式进行验证操作的,比如ip,手机号等,这样我们一般都是加个if判断,如果需要验证的地方很多,我们就要加很多if判断,这样会代码重复的地方也就多了起来,看起来也不好看,我们如何才能更加精炼我们的代码呢,自定义注解可以解决这些个问题,我们只需要在实体bean上加个注解就可以对我们的格式进行验证,方面,显得高大上。下面是代码实现:定义注解:@Tar...

2019-10-30 11:27:36 1234 10

原创 项目开发过程中需要注意的一些小细节

现在的项目大都是前后端分离的,后台开发呢,我个人是用的Swagger-ui来作为文档管理,如何让前端更友好的调试接口呢,通常前端参数超过2个以上呢 我们都会对参数进行对象的封装,有可能我们几个接口都用了这个封装的对象,有的不需要传那么多的参数,这样我们如何通过Swagger指定我们所需参数呢,可以利用如下参数格式:@ApiImplicitParams({ @Ap...

2019-10-24 17:55:59 453

原创 centos 7安装nginx以及用途

Nginx-负载均衡Nginx简介nginx(读作“engine x”)是一个由俄罗斯软件工程师Igor Sysoev编写的免费开源web服务器。自2004年发布以来,nginx一直专注于高性能、高并发性和低内存使用。在web服务器功能之上的附加功能,如负载平衡、缓存、访问和带宽控制,以及与各种应用程序有效集成的能力,帮助nginx成为现代网站架构的良好选择。目前,nginx是互联网上第二流...

2019-10-17 11:09:19 225

原创 hexo入门

前提熟悉git拥有github page 仓库开始在linux系统下使用命令行创建blog文件夹,然后进入mkdir ~/blogcd ~/blog在blog下安装hexonpm install -g hexo-clihexo initnpm installnpm install --save hexo-deployer-githexo使用h...

2019-10-09 13:48:15 156

原创 fastjson版本安全性问题

最近自己搞了个小项目玩,由于用的fastjson版本过低,上传到github后检测出fastjson安全性问题如下图:希望对也在使用低版本的你们有所帮助~.~

2019-09-11 15:28:04 4110 3

原创 centos 7 mysql 卸载和安装

centos 7 mysql 卸载和安装我们都知道 msyql如果卸载不干净,在我们更换版本时候会出现各种奇怪的问题,下面是我在更换版本的一些过程记录mysql卸载首先,查找一下相关依赖组件:rpm -qa|grep mysql然后删除相关依赖:rpm -ev 依赖组件 --nodeps 其中nodeps可以忽略其依赖的其他组件以防止删除不掉之后找到相关mysql文...

2019-09-06 10:48:35 226

原创 Java中统计Class类中超长方法长度的code实现

项目开发过程中,我们可能会遇到很多难以维护的代码,超长的方法,一看都头大,正常来说,代码一般不会超过100行,如果业务复杂,尽量分成多个小方法配合注释加以说明。如何便捷的查找项目中的超长代码呢,一可以借助阿里巴巴代码规约插件,这个就不多说了,下面时另一种方式,利用java代码进行实现:import lombok.extern.slf4j.Slf4j;import java.io.Bu...

2019-08-13 22:00:42 349

原创 MariaDB数据库的分组函数的小瑕疵之group by分组操作

由于公司采用docker部署MariaDB数据库,自然而然就用了起来~,MariaDB数据库跟Mysql是同一个人编写的,二者性能各有千秋,这里暂且不谈这个,下面来看下group by 分组操作:根据查询当前角色创建时间最新的一条记录:select a.role_id,a.id,a.create_time from sys_role_acl a where a.role_id = 3 o...

2019-07-30 15:26:58 734

原创 解析xml利用反射机制解析到对应实体类实现方式之一

根据业务需要,需要对获取xml里数据,下面是利用SAXParser进行实现的,代码实现如下:package tjs.utils.base.util;import lombok.Data;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHa...

2019-05-21 09:25:42 554

原创 python 利用requests包封装 接口测试类

网上很多接口测试工具,具体是如何实现呢,下面利用python做了一个简单的接口测试类,具体实现如下:# -*- coding:utf-8 -*-import requestsimport jsonclass RunMain: # 初始化 方法 def __init__(self,url,method,data=None): self.res = s...

2019-04-16 14:41:26 1394

原创 python之django安装以及出现问题处理方式

django安装非常简单,前提是有python环境,安装个pip包,然后执行此命令:pip install django [version]然鹅,出问题了,找不到django,~~~下面给出个处理方式:pip install package_name -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.c...

2019-04-12 21:19:15 1174

原创 freemarker模板中long类型中默认格式化逗号解决方式

由于需要往ftl模板中传入数字,出现将数字格式化为123,123,123格式,不能满足业务需求,下面是问题的几种解决方式1)文件头中加入此配置既可<#setting number_format="#">2)可以直接将数字转化成字符串形式${val.toString()}3)也可以使用val?c形式${val?c}4)如果很多的话可以直接全局配置,利用f...

2019-03-23 21:27:24 1633 1

原创 多格式IP解析为单个IP实现方式

由于项目需要,需要设置多格式IP,然后将其分成单个ip缓存起来,下面是实现方式:import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.util.*;/** * @author: SJT * @date: 2019/3/22 * @desc: 将a:127.0.0.1 b:127.0.0.1,...

2019-03-23 19:50:42 396

原创 设计模式之工厂模式案例(支付)

我们如何能根据一个业务来优雅的实现高扩展性,可维护性高的代码呢,下面介绍一种我们常用的设计模式--工厂模式具体代码实现:sql脚本:create table channel( channel_id int auto_increment primary key, channel_name varchar(40) null comment '渠道名称', ...

2019-03-18 01:02:16 1853

原创 数据结构之归并算法(类似于分库操作模拟)

在我们项目中,如果数据量很大,那么分库操作不失为一个选择,分库如何实现操作数据呢,比如所有数据去重排序,下面以文件代替进行模拟:target_file 是合并后生成文件,小了很多,是因为去重了,这是临时文件(类似于我们的多个库)下面是代码实现:import lombok.*;import java.io.BufferedReader;import java.io.I...

2019-03-15 02:48:17 219

原创 window浏览器执行某个操作卡死问题解决方式之一

在进行某个操作时,可能会造成无响应,请求超时问题,也有可能不是我们程序的问题,我们可以将其浏览器次应用程序关掉(该程序一些相关进程是仍然存在的),再将所有相关进程关掉在打开尝试操作应用程序:进程:操作后有可能会解决你的问题~.~。...

2019-03-13 12:34:36 951

原创 HashMap、HashTable、ConcurrentHashMap的对比

ConcurrentHashMap:是线程安全的,用于并发,相比于HashTable效率提高显著,HashTable用synchronized锁住整个表,ConcurrentHashMap因为是分段加锁,可以允许多个修改同时并发进行。底层实现是分段的数组加链表。底层相关源码:/** * Stripped-down version of helper class used in p...

2019-03-10 17:07:28 138

原创 java锁机制之CAS、synchronized、ReentrantLock

CAS原理:CAS(compare and swap)是java.util.concurrent并发的包中用的很多,是这个包的核心,因为它不通过JVM,可以直接利用JNI调用CPU 的cmpxchg(汇编指令),不用经历内核态阻塞这一过程,利用JNI来完成Java的非阻塞算法,实现原子操作。CAS中有三个操作数,内存值v,原预期值a和即将修改的预期值b,若果内存值v与a值相匹配,那么将b值修改...

2019-03-10 17:07:00 465

原创 jvm中volatile关键字原理与并发编程介绍

volatile关键字原理介绍:在深入理解Java虚拟机书中有这样一种说法:加入volatile关键字与不加volatile相比,加了之后生成的汇编代码多了一个lock前缀的指令,此指令就相当于一个内存隔板,这个内存隔板可以确保jvm指令进行优化重排序时不会把其后面的指令排到其之前,也不会把其前面的指令排到其后面,而且他会强制的把对线程工作内存区的修改立即写道主存中,当我们对某个特定一处进...

2019-03-10 12:28:59 217

原创 idea中某个文件名只要创建就会出现问号的解决方式

由于误操作,导致在File Types中,添加如下图红色圈圈的文件名,所以在项目中创建consumer.xml一直是问号删除即可。。。

2019-03-09 15:02:19 5495 2

原创 rabbitMQ在centos环境下安装

rabbitMQ作为最受欢迎的消息队列应用场景:异步处理、应用解耦、日志处理、消息通讯、流量限制;工作模式:P2P模式、Pub/Sub模式、push模式、pull模式。这次主要分享下安装服务1)可以去官网下载:wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-3.6.15...

2019-03-07 18:05:34 188

原创 jvm分析

jvm分析:一个java类在jvm中有三种形态:1) source:源码形态 -&gt;编译过程(javac)2) class:字节码形态3)runtime:运行时形态 加载到内存,内存存在形态jvm中最核心的一个类就是ClassLoader,从分析源码发现该类在加载类的时候采用的双亲委派机制双亲委派:是JDK的一种安全机制,会检测类是否被加载过,只有没有加载过的才允许加载,...

2019-03-05 22:49:30 168

原创 Docker在Centos 7安装及基本操作

Docker 操作centos7 安装docker查看服务器内核版本uname -r更新yum包sudo yum update卸载旧版本(如果有)yum remove docker docker-common docker-selinux docker-engine安装需要软件包 yum-utils 提供yum-config-manager功能,另外两个是devicemapper驱...

2019-02-27 21:56:23 240

原创 Docker与虚拟机区别

1)虚拟机VM(VMware)通过Hypervisor对硬件资源进行虚拟化,是在宿主机、宿主机系统的基础上创建虚拟层、虚拟化的操作系统、虚拟化的仓库,进行操作程序;docker直接使用硬件资源,在宿主机器、宿主机器操作系统上创建Docker引擎,在引擎的基础上操作操作程序,利用率上来看docker明显更具有优势2)docker在宿主机的操作系统上创建Docker引擎,利用...

2019-02-27 21:50:34 444

原创 Linux入门相关服务配置操作

Linux1)防火墙设置:作用:保护服务器安全设置防火墙规则    开放端口关闭防火墙安装: yum install firewalld启动:service firewalld start检查状态:service firewalld status关闭或禁用防火墙:service firewalld stop/disable防火墙操作基本命令:firewall-cmd -...

2019-02-25 21:43:29 211 1

原创 java代码二叉树实现方式

二叉树,顾名思义即一个树最多有两个叉,二叉树有1度(一个叉)2度(两个叉)。二叉树的三个性质:1)非空二叉树的第i层上最多2^(i-1)个节点;2)深度为l的二叉树最多有2^l-1个节点;3)对于任意一棵二叉树,叶子节点(最后一层)为n0,度数为2的节点为n2,则有n0 = n2 + 1。二叉树的分类:1)完全二叉树:二叉树的最后一层所有叶子节点都连续集中在最左边,倒数第二...

2019-02-23 11:43:30 780 5

原创 springboot 全局日期格式转换配置

在项目中,日期问题可能会导致很多不必要的麻烦,下面有关springboot日期全局配置:@Configurationpublic class DateConfig{ @Bean public Converter<String, Date> addNewConvert() { return new Converter<String, Dat...

2019-02-21 12:12:37 3220 9

原创 org.elasticsearch.client.Request.<init>(Ljava/lang/String;Ljava/lang/String;)V关于es报错问题解决方案

由于公司es升级,升级为6.3.2后发现es查询出现下面错误:[ERROR] 2019-01-22 21:43:42 qgs.intranet.log.server.config.GlobalExceptionHandler[handleException:23] - Exception from org.springframework.web.servlet.DispatcherServl...

2019-01-22 22:06:16 11999 5

原创 springboot 1.x 升级 2.x后热部署插件Jrebel可能会遇到项目启动不起来的问题

当在项目升级之后遇到下面此问题时:aused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(Tomcat...

2019-01-19 16:06:54 1204

原创 window设置某个特定脚本开机自启动且实时监控方式

由于电脑原因,过一段时间就自动关机,部署在此电脑的项目,每次 重启电脑后还要去手动启动项目,感觉有点繁琐,就搞了个自启动脚本来代替,此脚本可以实时监测特定项目是否在运行,然后执行相应的操作,下面是脚本::RESTARTtasklist /FI "username eq Administrator" | find /C "idea.exe" &gt; temp.txtset /p num=...

2018-12-22 21:16:55 559

原创 idea插件之---jar包依赖冲突分析实用解决工具Maven Helper

在我们开发项目过程中,通过maven来管理我们的jar包,jar包冲突很长见,我们如何能简单快捷的解决呢,在idea中 ,我们可以下载一个idea插件  Maven Helper插件来帮助我们完成jar冲突的解决,下面是操作步骤:1)找到settings2)找到plugins,打开3)搜索Maven Helper  然后下载,之后重启即可,我这里是已经下载过了 ,显示的un...

2018-12-21 00:08:19 4516

原创 mysql批量查询表、某个字段注释缺少问题及解决方式

在开发项目过程中,发现某些表或某个字段没有注释,这样造成以后维护性差,如何优雅的解决呢1)table:批量拼接添加表注释脚本SELECT CONCAT('ALTER TABLE ', table_name, ' comment ;')FROM information_schema.TABLESWHERE TABLE_SCHEMA = 'db_name' and TABLE_COMME...

2018-12-14 13:39:58 1032 1

原创 数据库字符编码不统一问题解决方案

在项目开发过程中,有可能会遇到数据表、列字段字符编码格式不统一的情况,下面给出优雅的解决方式1)table:拼接出指定数据库的不符合特定编码的格式表中表的修改字符集及编码排序规则的脚本:SELECT CONCAT('ALTER TABLE ', table_name, ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;')FROM in...

2018-12-14 10:42:30 3162

deepin.com.wechat_2.6.8.52deepin0_i386.deb

deeplin15.10应用商店更新后微信不能安装的问题,自己根据window下载的wechat.exe打包为.deb格式安装包,运行 dpkg -i deepin.com.wechat_2.6.8.52deepin0_i386.deb 即可安装成功

2019-10-10

exportTableToWord.jar

mysql数据库导出word工具jar,执行java -jar exportTableToWord.jar -n=databaseName -u=username -p=password -d=targetDirectory

2019-09-06

Win64OpenSSL-1_0_2q.exe

Window操作系统下生成秘钥工具 简单好用

2018-11-23

空空如也

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

TA关注的人

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