我们都知道 Spring 的核心是 ApplicationContext,它负责管理 bean 的完整生命周期。当spring加载 bean 时,ApplicationContext 会发布某些类型的事件。例如,当上下文启动时,会发布ContextStartedEvent,当上下文停止时,会发布ContextStoppedEvent。
继续阅读“详解Spring中的Event事件处理机制和原理”月份:2019年11月
Spring里BeanFactory和ApplicationContext区别详解
Spring框架中BeanFactory和ApplicationContext之间有什么区别,很多Java程序员都不太清楚。特别是刚工作一两年的Java程序员,对它们都是一知半解。
getBean()方法
BeanFactory和ApplicationContext都可以通过调用getBean(“beanName”)获取bean的实例。同样是从Spring IOC容器中获取bean,但是它们提供的工作和功能有所不同。 BeanFactory和ApplicationContext之间的区别是,前者仅在调用getBean()方法时实例化bean,而ApplicationContext在容器启动时实例化Singleton bean,而不等待getBean被调用。
继续阅读“Spring里BeanFactory和ApplicationContext区别详解”linux系统里/opt目录和/usr/local目录的区别
在学习linux的时候,看到/opt目录和/usr/local目录都是安装软件的目录,那这两个目录有什么区别呢?
一、opt目录
/opt目录用来安装附加软件包,是用户级的程序目录,可以理解为D:/Software。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。
继续阅读“linux系统里/opt目录和/usr/local目录的区别”jenkins配置git
在之前的文章linux里使用rpm方式安装jenkins,已经介绍了如何安装jenkins,如果觉得不喜欢rpm的安装方式,也可以直接在官网下载jenkins的war包,然后运行以下命令即可。
1 |
java -jar jenkins.war |
jenkins的war包自带Jetty服务器。
这篇介绍jenkins配合gitlab使用。
继续阅读“jenkins配置git”Java里位操作总结
我们都知道计算机里的数据都是以二进制形式存储的,所谓的位运算可以理解为直接对内存中的二进制数据进行操作,所以速度会比较快。
这边先写个二进制输出方法
1 2 3 4 5 6 7 8 9 10 11 12 |
private static void printBinaryNumber(int n){ String num = Integer.toBinaryString(n); if(num.length() == 32){ System.out.println(num); }else{ StringBuilder sb = new StringBuilder(""); for(int i = 0;i < 32 - num.length(); i ++){ sb.append("0"); } System.out.println(sb.toString() + num); } } |
linux安装git
安装之前需要先安装好git需要的依赖包
#yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
下载并编译git
# 下载
# wget https://www.kernel.org/pub/software/scm/git/git-1.8.3.1.tar.gz
# tar xzf git-1.8.3.1.tar.gz
# 编译和验证
# cd git-1.8.3.1
# make prefix=/usr/local/git all
# make prefix=/usr/local/git install
# echo “export PATH=$PATH:/usr/local/git/bin” >>/etc/bashrc
# source /etc/bashrc
# git –version
linux里使用rpm方式安装jenkins
linux里使用rpm方式安装jdk
一、环境
1.linux版本
[root@localhost ~]# cat /proc/version
Linux version 3.10.0-123.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) ) #1 SMP Mon Jun 30 12:09:22 UTC 2014
2.jdk版本
jdk-8u212-linux-x64.rpm,下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html
继续阅读“linux里使用rpm方式安装jdk”在IDEA里解决maven的pom引用jar包冲突
前言
有的时候,我们要给系统添加一个新功能,可能需要引入新的pom依赖,一切都搞定好后,运行程序却发现报NoClassDeFoundError错误,或者其它莫名奇妙的问题。
这个时候很有可能就是新引入的pom依赖里某个jar包和之前系统已有的冲突了。
那么,该从何下手呢?
继续阅读“在IDEA里解决maven的pom引用jar包冲突”SpringBoot+EventBus使用教程(二)
简介
继续上篇,本篇文章介绍如何集成spring-boot-starter-guava-eventbus使用EventBus,最新的版本好像已经不叫spring-boot-starter-guava-eventbus,而是guava-eventbus-spring-boot-starter。
继续阅读“SpringBoot+EventBus使用教程(二)”