自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot项目启动后就执行特定方法

实现springboot项目启动后就执行特定方法所遇到的问题:在项目启动中初始化数据时调用其他feign client的方法时调不通,报“com.netflix.hystrix.exception.HystrixRuntimeException: UserApi#queryWxAttentionOpenIdList() timed-out and no fallback available.”,如何解决这个问题呢?分析:因为在启动时因为加载机制并不能找到userApi所属服务所在位置,只能通

2020-11-13 13:32:25 1186

转载 Thread.field()

Thread.field():field()的作用是“为线程让步”,就是当一个线程使用了这个方法后,该线程就会把自己的CPU执行的时间让掉,让自己或者其他的线程执行,注意的就是让自己或者其他线程运行,并不是单纯的让给其他线程。yield()的作用是让步。它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权;但是,并不能保证在当前线程调用yield()之后...

2020-01-03 10:47:01 316

原创 等待(wait)和通知(notify)

wait()方法和notify()方法不是Thread类中的,而是属于Object类,这也意味着任何对象都可以调用这两个方法。Object.wait()方法和Object.notify()方法不是可以随便调用的,它们必须包含在对应的synchronized语句中,因为在调用它们之前首先要获得目标对象的一个监视器。那wait()和notify()是如何工作的呢?如果一个线程调用了object...

2020-01-03 10:39:28 313

原创 Thread.join()

Thread.join():join()的作用是“等待该进程终止”,也就是在子线程调用了join()方法后,主线程后面的代码要等到子线程结束了才能执行。一般应用于一个线程的输入可能依赖于另一个或者多个线程的输出,此时这个线程就需要等待依赖线程执行完毕才能继续执行。public final void join() throws InterruptedException public fina...

2020-01-03 10:37:25 4427

原创 Spring AOP

通知:通知定义了切面是什么以及何时使用,除了描述切面要完成的工作,还解决了何时执行这个工作的问题,Spring切面定义了5中通知类型:前置通知(Before):在目标方法被调用之前调用通知功能后置通知(After):在目标方法完成之后调用通知功能,此时不会关心方法的输出是什么返回通知(AfterReturning):在目标方法成功执行之后调用通知异常通知(AfterThrowing...

2019-08-30 18:20:53 200

原创 Spring中获取properties文件属性值

1、使用@Value和@PropertySource获取属性值(1)定义properties文件redis.host=127.0.0.1redis.port=6379list=list1,list2,list3maps={key1: 'value1', key2: 'value2'}redirectUrl={sso_client_id: '${id}',sso_client_se...

2019-08-28 19:09:06 1542

原创 Spring bean的作用域

1、单例(Singleton):在整个应用中只创建bean的一个实例,是默认的作用域;2、原型(Prototype):每次注入或者通过Spring应用上下文获取时都会创建一个新的bean实例;也可以使用@Scope("prototype"),但是使用SCOPE_PROTOTYPE常量更加安全3、会话(Session):在web应用中,为每个会话创建一个bean实例;在web应用...

2019-08-28 10:58:42 134

原创 Spring 导入和混合配置

1、如果将两个配置类合到一起,则使用@Import标签,可以在某个配置类上使用@Import(Config.class)导入另一个配置类,或者另外创建一个配置类,该配置类没有内容,在该配置类上加@Import({Config1.class, Config2.class})或:2、javaConfig配置类中加载xml配置,则使用@ImportResource("classpath:...

2019-08-26 10:25:35 108

原创 Spring的xml中依赖注入方式

一、构造器注入构造器注入有两种方式:<constructor-arg>和c-命名空间将bean注入到构造器中:1、使用<constructor-arg>使用<constructor-arg ref="bean名称">将bean名称为compactDisc通过构造器方式注入到CDPlayer类中2、如果使用c-命名空间方式:(1)xml...

2019-08-23 14:50:03 484

原创 Spring的三种主要装配方式

1、隐式的bean发现机制和自动装配@Component标记该类为组件,@Autowired注入 这两个注解是Spring中的注解,如果不想使用Spring的注解,可以分别用@Named和@Inject代替上述两个注解(1)在实现类上面加上@Component标签,表明该类为组件类,并告知Spring要为这个类创建beanpublic interface SysKeywordBloc...

2019-08-21 18:16:56 1069

原创 Spring 应用上下文ApplicationContext

AnnotationConfigApplicationContext:从一个或多个基于java配置类中加载Spring应用上下文AnnotationConfigWebApplicationContext:从一个或多个基于java配置类中加载SpringWeb应用上下文ClassPathXmlApplicationContext:从类路径下的一个或者多个xml配置文件中加载上下文定义,把应用...

2019-08-19 18:22:42 111

原创 Mybatis 一级缓存和二级缓存

(1)如何清除一级缓存或不使用缓存从源码中可以看到解决办法:public <E> List<E> query(MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler, CacheKey key, BoundSql boundSql) throws ...

2019-08-15 17:41:58 185

原创 判断某值是否属于枚举类中的值

EnumUtils.isValidEnum(MyEnum.class, myValue)

2019-05-22 09:27:32 15262 4

原创 map、set、list的交集、并集、差集

map:MapDifference<String,String> difference = Maps.difference(map1,map2);//交集Map<Object,Object> commonMap = difference.entriesInCommon();//并集map1.putAll(map2);//差集(左侧)Map<Ob...

2019-05-06 17:35:34 1303

原创 Spring、SpringMVC注解

1、@EnableAspectJAutoProxy 开启对AspectJ自动代理的支持2、@EnableAsync 开启异步方法的支持 将@Async标签放在类上面表示该类中的方法都是异步的,放在方法上表示该方法是异步的,使用方法可见:https://blog.csdn.net/m0_37637141/article/details/867066903、@EnableScheduling...

2019-03-26 17:24:31 151

转载 Struts2的执行流程及其工作原理

该文章转发自:https://www.cnblogs.com/mfmdaoyou/p/7189578.html一、系统架构Struts2的官方文档附带了Struts2的架构图。从这张图能够非常好的去理解Struts2关于图中的Key:Servlet Filters:过滤器链,client的全部请求都要经过Filter链的处理。 Struts Core:Struts2...

2019-03-14 09:54:00 160

转载 @Conditional

@Conditional是啥呀?@Conditional注解是个什么东西呢,它可以根据代码中设置的条件装载不同的bean,比如说当一个接口有两个实现类时,我们要把这个接口交给Spring管理时通常会只选择实现其中一个实现类,这个时候我们总不能使用if-else吧,所以这个@Conditional的注解就出现了。我怎么用它呢?在SpringBoot中,@Conditional注解并不是...

2019-01-31 15:45:20 128

转载 cron表达式详解

cron表达式详解  Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:  (1) Seconds Minutes Hours DayofMonth Month DayofWeek Year  (2)Seconds Minutes Hours DayofMonth Month DayofWeek    一、结...

2019-01-31 14:05:04 192

转载 标签@EnableAsync和@Async实现异步操作

标签@EnableAsync和@Async通过@EnableAsync开启对异步任务的支持,并通过在实际执行的Bean的方法中使用@Async注解来声明其是一个异步任务,通过Spring提供的ThreadPoolTaskExecutor使用线程池 首先定义配置类package com.hy.spring.test7; import java.util.concurren...

2019-01-30 17:55:46 1688

原创 Executor、Executors、ExecutorService实现异步操作

 Executor:一个接口,定义了一个接受Runnable对象的方法executor,它用来执行一个任务,即执行一个实现了Runnable接口的类 ,executor.execute(new RunnableTask());ExecutorService:是一个比Executor使用更广泛的子类接口,它继承Executor接口,提供管理进程终止的方法和可以生成Future的方法,用于...

2019-01-30 17:50:16 2973

原创 Scope的作用域

Scope描述的是Sring容器如何新建Bean的实例。Spring的Scope有以下几种,通过@Scope注解来实现:(1)@Scope("Singleton"):一个Spring容器中只有一个Bean的实例,为Spring的默认配置,全容器共享一个实例。这个单一实例会被存储到单例缓存中,并且所有针对该bean的后续请求和引用都将返回被缓存的对象实例。singleton最用于和GOF设计模式...

2019-01-22 11:59:24 1014

原创 Spring IOC 和Spring AOP

Spring IOC控制翻转和依赖注入在Spring环境下是等同的概念,控制翻转是通过依赖注入实现的。依赖注入指的是容器负责创建对象和维护对象之间的依赖关系,而不是对象本身自己负责创建和解决自己的依赖。依赖注入的主要目的是为了解耦,体现了一种“组合”的理念。如果你希望某各类具备某项功能,肯定继承一个具有该功能的父类不如组合一个具有此功能的类,组合一个类降低了耦合度。Spring IOC...

2019-01-22 11:05:32 118

原创 如何对nginx.conf文件进行语法高亮并格式化

1.下载nginx.vimhttp://www.vim.org/scripts/script.php?script_id=1886  这里使用的是0.3.3版本2.将下载的文件复制到/usr/share/vim/vim72/syntax/目录下面3.配置nginx.vimvim /usr/share/vim/vim72/filetype.vim  #在文件中添加下面的一句话 ...

2018-10-25 11:56:17 5177

转载 数据库添加索引对性能的影响以及使用场景

1.添加索引后查询速度会变快  mysql中索引是存储引擎层面用于快速查询找到记录的一种数据结构,索引对性能的影响非常重要,特别是表中数据量很大的时候,正确的索引会极大的提高查询效率。简单理解索引,就相当于一本砖头厚书的目录部分,通过目录可以快速查找到想要找的内容具体所在的页码。在经常需要搜索的列上创建索引,可以加快搜索的速度。如果表中数据少的话,没必要用索引,如果表中数据很多的话,还是有索引...

2018-10-23 11:31:29 2091

转载 Java正则表达式的语法与示例

Java正则表达式的语法与示例该文章转发自https://www.cnblogs.com/lzq198754/p/5780340.html1匹配验证-验证Email是否正确 2在字符串中查询字符或者字符串 3常用正则表达式 4正则表达式语法                                                                         ...

2018-10-18 11:38:23 229

原创 java正则表达式 Pattern类与Matcher类的用法

一个pattern是一个正则表达式经编译后的表现模式,一个Matcher对象是一个状态机器,它依据Pattern对象作为匹配模式对字符串展开匹配检查。Pattern类用于创建一个正则表达式,也就是创建一个匹配模式,可以通过Pattern.compile(String regex)简单工厂方法创建一个正则表达式。Pattern.compile(String regex)Pattern ...

2018-10-17 18:35:07 535

原创 JetCache简介以及配置说明

简介JetCache是一个基于java的缓存系统封装,提供统一的API和注解简化缓存的使用。JetCache提供了比SpringCache更强大的注解,可以原生的支持TTL、两级缓存、分布式自动刷新,提供了Cache接口用于手工缓存操作。当前有四个实现,RedisCache、TairCache、CaffeineCache和一个简易的LinkedHashMapCache,要添加新的实现也是非常简...

2018-09-05 11:40:35 12251

原创 JetCache快速使用以及@Cached和@CreateCache的配置说明

JetCache主要通过@Cached和@CreateCache实现缓存,@Cached是在接口方法或者类方法上添加缓存,一般以参数为key,以返回值为value存入缓存中。@CreateCache是直接创建一个缓存实例,然后调用put(T key, T value)、get(T key)等方法实现缓存。(1)如果是SpringBoot框架开发:pom文件:&lt;dependenc...

2018-09-05 11:39:31 25126 1

原创 数据库连接池参数属性以及工作机制

Tomcat JDBC 连接池Spring Boot 默认选择 Tomcat JDBC Pool 作为数据库连接池。Tomcat(8) 连接池常用的属性:属性 描述 默认值 defaultAutoCommit 连接池中创建的连接默认是否自动提交事务 驱动的缺省值 defaultReadOnly 连接池中创建的连接默认是否为只读状态 - def...

2018-08-29 17:54:09 2292

转载 List总结(LinkedList, ArrayList等使用场景和性能分析)

第1部分 List概括该文章转发自:http://www.cnblogs.com/skywang12345/p/3308900.html先回顾一下List的框架图(01) List 是一个接口,它继承于Collection的接口。它代表着有序的队列。(02) AbstractList 是一个抽象类,它继承于AbstractCollection。AbstractList实现List...

2018-08-22 14:24:48 3022 1

原创 MessageFormat.format使用方法

MessageFormat.format用来格式化一个消息,通常是一个字符串。例如:  String str = "{0},{1},{2}''{3}'','{4}'"; String b = MessageFormat.format(str, "1","2","3","4","5"); System.out.println(b); 输出:1,2,3'4',{4}S

2018-08-21 16:18:05 1621

原创 接口和抽象类的区别

抽象类1.有抽象方法的类一定是抽象类,但抽象类里可以没有抽象方法,抽象类里还可以定义普通的成员变量和成员方法。2.抽象类不能实例化,它存在的意义就是让子类继承,抽象方法在父类中是没有任何意义的,需要子类继承根据具体情况实现。继承抽象类的子类可以实例化。3.抽象类里可以写构造方法,继承抽象类的子类必须用super()继承父类的构造方法。4.如果继承抽象类的子类也是抽象类,则抽象类的方...

2018-08-21 15:21:25 89

原创 Java8 Map集合中put()与putIfAbsent()的区别

Map集合中put与putIfAbsent的区别put方法:V put(K key, V value);putIfAbsent方法:V putIfAbsent(K key, V value);这两种方法都是以key-value键值对的形式存在到map集合中,那么它们两个有什么区别呢?我们可以从map官网注释中看出:1.使用put方法添加键值对,如果map集合中没有该...

2018-08-17 11:41:45 31818 3

原创 2018-08-12T06:55:21.752Z UTC通用标准时

2018-08-12T06:55:21.752Z 这种格式的时间是UTC通用标准时间UTC即为世界标准时间,世界统一时间,国际协调时间,字母T是时间和日期的分隔符,T后面表示的即为时间,末尾的z表示UTC统一时间。我们将UTC时间转换为GST(北京时间): String date = "2018-08-12T06:55:21.752Z"; date =...

2018-08-14 14:07:16 2008

原创 RabbitMq 如何使用Fanout方式进行广播

今天小编说的是前两天在工作中遇到的问题:在项目中使用rabbitmq 发送消息和接收消息,如果项目在一台机器上部署则使用Direct方式即可,但是如果把项目部署到n台机器上,发送一条消息,则n台机器都能同时接收消息,则需要使用Fanout方式来实现,而且需要创建n个队列进行接收消息.这样就实现了一条消息被多个消费者同时消费。首先,配置FanoutExchange为一个bean@Bea...

2018-08-14 11:11:14 1642

转载 rabbitMq的几种队列

目录1、简单队列 2、work 模式 3、发布/订阅模式 4、路由模式 5、主题模式 6、四种交换器 7、总结  这里是RabbitMQ 官网中的相关介绍:http://www.rabbitmq.com/getstarted.html  本篇博客源码下载地址:https://github.com/YSOcean/RabbitMQTest1、简单队列  其实上篇文...

2018-07-31 17:16:52 1061

axure_chrome_extension_V0.6.3.rar

google chrome 打开Axure的扩展程序,下载到本地,打开google浏览器-右上角更多工具-扩展程序-打开右上角开发者模式-点击“加载已解压的扩展程序”

2019-08-08

空空如也

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

TA关注的人

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