自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot集成consul配置不生效问题踩坑记录

consul配置不生效的问题今天有个需要新搭一个组件服务项目的时候遇到consul配置中心相关配置(host,port等配置)不生效的问题。查了些资料和源码,如果只是将consul的配置配置在 application.properties 中的时候,这些配置不会生效。在ConsulConfigBootstrapConfiguration类中,规定了spring.cloud.consul.config.enabled参数不设置则默认为true。而这个值在application.proper

2021-02-22 16:56:03 6313 1

原创 设计模式之-模板模式(Template Pattern)

定义:定义一个操作中步骤的骨架,其中将一些步骤延迟到子类中,模板方法使得子类可以不改变操作中步骤的结构即可重定义该算法的某些特定步骤。举个通俗的例子:小明每天起床需要刷牙,洗脸,涂护肤品。这个是每天起床后必经步骤,也就是步骤的骨架。而刷牙,洗脸,涂护肤品这些步骤是可以随机改变的。比如今天他用云南白药牙膏刷牙,用洗面奶洗脸,涂大宝。明天就清水洗脸了,也不涂大宝了。那么为什么要用模版模式呢?重点在于高灵活性和可拓展性。突出特点是当之后需要对步骤有不同的实现的时候,只需要加一个继承类,加一步配置即可,

2020-12-23 17:54:18 212 2

原创 springboot 中通过实现ApplicationContextAware动态获取容器中Bean

在平时开发中特别是多线程并发的情况下经常会遇到使用@Autowired无法注入Bean的问题。比如在线程中想要使用Service方法或者读取Properties配置等操作。这里就可以写一个实现ApplicationContextAware 的工具类来实现 动态获取容器中的Bean。/** * @author 阿伦桑 * @date 2020/11/10 */@Componentpublic class SpringContextUtil implements Applicat...

2020-11-19 11:12:01 664

原创 AESUtil (AES-128-ECB加密) - 常用工具类记录

import javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec;import org.apache.commons.codec.binary.Base64;/** * * @author Administrator * */public class AES { // 加密 public static String Encrypt(String sSrc, String sKey) throws Exce.

2020-11-19 10:34:22 661

原创 springboot+mybatis快速集成ShardingSphere实现分库分表

市面上实现分库分表的中间件有挺多的,这次我们说一说ShardingSphere集成到springboot的几个步骤,其实也是很万金油的步骤哈哈。1. 引入依赖我们引入sharding-jdbc的springboot启动器<dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>sharding-jdbc-spring-boot-starter&l

2020-11-03 18:03:37 2923 1

原创 springboot如何在Util类中使用@Autowired将bean注入的问题解决

本文主要记录一下工作中遇到的Util类中静态方法中调用的@Autowired注入类为null问题的解决。如下://1.加上@Component@Componentpublic class EncryptDecryptUtils { private static EncryptDecryptUtils instance; @Autowired private AppConfig appConfig; //2.使用@PostConstruct注解方法,

2020-07-16 14:27:28 1403

原创 疏忽导致的服务器崩盘——Linux系统句柄数耗尽的问题记录

现象:之前工作中遇到一个场景:对一个通过端口监听的方式接收设备日志入库的功能进行长时间日志接收测试(200条/s)的时候,总是会在不停接收日志一天左右的时间后,突然暴毙,必须要通过重启服务器的方式才能够恢复。定位过程:一开始的反应是内存OOM了,但是日志上没有任何有效的错误的信息记录。并且之后通过jconsole监控的方式发现内存占用等一直是保持在一个正常的区间(过程中没有内存泄漏的情况)。最后通过对tomcat的日志分析中发现了端倪。在查看tomcat的catalina日志以及localh

2020-06-19 15:42:55 1575

原创 idea无法识别springboot的application.properties踩坑记录

昨天遇到个坑,记录一下。我在module中新建一个子工程的时候,手滑建成了普通的module工程,于是就动手把它改成springboot的工程。但是在建application.properties配置文件的时候,发现突然无法识别这个配置文件了(不能变成小绿叶的样子了)然后之后所有其他子工程的以前能识别application.properties的文件也全部变成普通文件的图标了。...

2020-04-19 10:22:10 7583 2

原创 记录一下springboot的日志配置文件

<?xml version="1.0" encoding="UTF-8"?><!-- 以后这个文件只需要改几个地方! --><configuration scan="true" scanPeriod="10 seconds"> <!-- 日志级别从低到高分为TRACE < DEBUG(开发) < INFO(SpringBoot默...

2020-04-18 20:00:56 161

原创 linux登录数据库显示无法链接到mysql.sock问题

最近准备把自己的项目部署到阿里云上的时候,遇到一个问题,数据库登录不上去了报 “ERROR 2002 (HY000):Can't connect to local MySQL server though socket '/var/lib/mysql/mysql.sock'(2)” 这个问题查了很多情况,最后应该是配置文件中的配置与该路径不一致导致的。解决方案:1.查看配置文件...

2020-04-08 23:27:53 820

原创 Vue入门

在学习vue之前,先学习一些基础的知识,一些与Vue有共性的内容,能够帮助我们更快的入门vue!node.jsnode.js是一个基于ChromeV8引擎开发出的javascript运行环境。它使得js代码的效果不需要依托html页面和浏览器就能够展现。且拥有很好的性能。nodejs的安装很简单,就不赘述。但是要注意需要先安装python!ES6语法ES6,全程ECMA...

2020-03-31 23:02:30 157

原创 Springboot中的MVC的配置分析

前言:通过springboot中的mvc自动配置类源码来发现和理解springmvc在springboot中是如何实现的作为一个web工程,肯定有一块地方是用于存放静态文件的,比如html,css,js等。不同于普通的web工程,springboot项目是没有webapp目录的,那么这些静态文件应该从哪里获取呢?1.从mvc自动配置类查找静态文件的路径配置其中可以发现一个方法:...

2020-03-20 23:23:23 622

原创 GC垃圾回收算法与垃圾回收器

前言:任何对对象相关的操作都是通过引用进行的!1.引用计数法在了解GC垃圾回收之前,先了解一下引用计数法。顾名思义,就是每个对象都会有一个私有的计数器,当有对该对象的引用时,其计数器的值+1,反之就-1。而当引用为0的时候,就代表这个对象可被GC回收。缺陷:当两个对象或是多个对象存在循环引用的时候,这两个对象的引用数永远不会归0,于是也无法被GC识别与回收。所以当前的jvm都是...

2020-03-14 00:00:57 120

原创 OOM异常详解

1.什么是OOM?OOM,java.lang.OutOfMemoryError 错误,也就是java内存溢出错误。一般当jvm虚拟机内存不够用的时候,就会抛出该错误。2.OOM的各种情况jvm内存模型,分为5大部分,堆,栈,方法区,本地方法栈和程序计数器。其中,这五大部分中,只有堆和方法区会发生GC垃圾回收,由此可见,OOM问题有很大的可能就会出现在堆和方法区。所以我们从最基本的O...

2020-03-12 23:01:19 3660

原创 JVM虚拟机知识总结

1.JVM架构图2.类加载器是如何加载对象的?当一个类第一次使用时,jvm会通过类加载器将.class文件载入内存(方法区),然后会在堆内存中构建一个类的Class对象。该对象全局唯一。类的加载、链接和初始化加载:编译java文件为.class文件,并通过来加载器加载到JVM虚拟机。连接:验证:保证被加载的class类文件的正确性;准备:给类的静态变量分配内存空间,并赋默认值...

2020-03-10 22:39:33 139

原创 JUC包学习与总结(三)

JUC笔记(三)常用辅助类1、CountDownLatch会维护一个减法计数器,当计数器归0时,才会继续之后的操作,否则阻塞。两个关键方法:countDown():计数器-1;await():阻塞等待计数器归0,也能够配置超时时间。//实现例子:import java.util.concurrent.CountDownLatch;import java.util.co...

2020-03-09 22:30:24 115

原创 JUC包学习与总结(二)

JUC笔记(二)读写锁分为写锁(独占锁)和读锁(共享锁)读锁虽然跟不加锁效果差不多,但是必须加,因为读锁与写锁互斥,可以避免脏读。阻塞队列 BlockingQueue 当队列是满的,此时再添加元素会阻塞 当队列是空的,此时再要取就会被阻塞 双端队列Deque从两头都可以出入的队列,一般线程池底层使用双端队列,可以提高性能。阻塞队列的4组AP...

2020-03-05 23:44:34 215

原创 JUC包学习与总结(一)

JUC学习笔记线程的生命周期6种。NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATED;且java不能创建线程,是通过调用native本地方法创建线程。wait/sleep区别1、类不同:wait:object ;sleep: Thread2、会不会释放资源:sleep是抱着锁睡的,不...

2020-03-02 22:15:24 195

空空如也

空空如也

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

TA关注的人

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