- 【HDLbits--FSM状态机】
中古传奇
HDLHDL
HDLbits--FSM状态机1.6FSM介绍1.6FSM示例1单输入单输出FSM2双输入单输出FSM3真指标状态4MooreFSMdemo5时序图和状态图写状态机【博客首发于微信公众号《漫谈芯片与编程》,欢迎大家关注,多谢大家】1.6FSM介绍在Verilog中,有限状态机(FiniteStateMachine,FSM)是一种用于描述系统行为的模型,通常用于控制逻辑的设计。FSM由一组状态、状态
- HDLBits练习(十一)Circuits_Sequential Logic_Latches and Flip-Flops(1)
小小的香香的
HDLBits练习fpga开发
Dff要求:描述一个D触发器,由上升沿触发。moduletop_module(inputclk,inputd,outputregq);always@(posedgeclk)q<=d;endmoduleDff8要求:描述一个8位D触发器,由上升沿触发。moduletop_module(inputclk,input[7:0]d,output[7:0]q);always@(posedgeclk)q<=d
- HDLBits练习(八)Circuits_Combinational Logic_Multiplexers
小小的香香的
HDLBits练习fpga开发
Mux2to1要求:描述一个2选1选择器,当选通信号sel=1,输出b,sel=0,输出a。moduletop_module(inputa,b,sel,outputout);assignout=sel?b:a;endmoduleMux2to1v要求:描述一个输入为2个100位向量的选择器,当选通信号sel=1,输出b,sel=0,输出a。moduletop_module(input[99:0]a,
- HDLBits练习(九)Circuits_Combinational Logic_Arithmetic Circuits
小小的香香的
HDLBits练习fpga开发
Hadd要求:实现一个半加器moduletop_module(inputa,b,outputcout,sum);assign{cout,sum}=a+b;endmoduleFadd要求:实现一个全加器moduletop_module(inputa,b,cin,outputcout,sum);assign{cout,sum}=a+b+cin;endmoduleAdder3要求:通过实例化3个1位全加
- HDLBits刷题记录——Conwaylife
Candy_579
verilog
导言HDLBits网站Morecircuits中的Conwaylife即Gameoflife,由数学家JohnConway创造。之所以特别关注到这个题目,是因为某位同学曾拿这个游戏作为一门芯片设计课程的PJ。当时觉得生命游戏在众多坦克大战、走迷宫等小游戏中挺有新意,其实现程度比这个题目本身要复杂很多,比如精美的GUI和复杂的场景。思路题目告诉我们,这个16×16的细胞网格是一个toroid,可以理
- [Verilog]模块实例化驱动的理解
Jason_Tye
fpga开发
笔者在复习刷题HDLBits时,对模块实例化时,接口的驱动有了更深理解.问题描述实现100位的带涟漪进位(ripple-carry)的全加器处理过程这是一个纯组合逻辑电路,除了可能在CombinationalBlocksalways@(*)中进行的赋值外,无需reg,所以默认的wire类型不予显式.首先实现单位全加器full_addermodulefadd(inputa;inputb;inputc
- HDLBits刷题Day23,3.2.5.7 Simple FSM 3 (asynchronous reset) - 3.2.5.8 Simple FSM 3 (synchronous reset)
weixin_52312830
HDLBits刷题fpga开发算法硬件工程
联系3.2.5.5和3.2.5.6来看3.2.5.7SimpleFSM3(asynchronousreset)问题描述下面是一输入一输出四状态的摩尔状态机的状态转移表。实现这个状态机。包括将FSM重置为状态A的异步重置。代码:moduletop_module(inputclk,inputin,inputareset,outputout);//reg[1:0]state,next_state;par
- HDLBits_Verilog刷题笔记Verilog Language Basics(一)
cascleright1
fpga开发硬件架构
前言这个刷题笔记是给自己复习巩固用的,包括自己在刷题的时候遇到的问题,思考,以及看了一些大佬的笔记和答案进行整理和扩充。git开源solutionshttps://github.com/viduraakalanka/HDL-Bits-Solutionsb站up脱发秘籍搬运工,呜呜这个up不管我学什么都有教程,永远也逃不开脱发的世界~https://space.bilibili.com/318808
- USTC Verilog OJ Solutions
Daniel_187
其他fpga开发VerilogHDLrisc-v
科大OJ其对应的英文版:HDLBits刷题网站01输出1moduletop_module(outputone);assignone=1;endmodule02输出0moduletop_module(outputzero);//Modulebodystartsaftersemicolonassignzero=0;endmodule03wiremoduletop_module(inputin,outp
- FPGA快速入门路径
zuoph
FPGA+人工智能电子技术fpga开发硬件工程
适合新手的FPGA入门路径总体路径规划基础学习-verilog语言verilog语言学习,推荐verilog数字系统设计一书,讲解比较详实和全面。练习推荐使用https://hdlbits.01xz.net/,将所有上面例题自己做一遍,便可做到初步掌握硬件设计语言的使用,想要精通还得自己多看多练,尤其是多练。基础学习-数字电路与系统这方面的书很多,推荐数字设计原理与实践一书,简单的过一遍,以后用到
- 「HDLBits题解」CS450
UESTC_KS
HDLBits题解fpga开发Verilog
本专栏的目的是分享可以通过HDLBits仿真的Verilog代码以提供参考各位可同时参考我的代码和官方题解代码或许会有所收益题目链接:Cs450/timer-HDLBitsmoduletop_module(inputclk,inputload,input[9:0]data,outputtc);reg[9:0]cnt;always@(posedgeclk)beginif(load)cnt<=data
- Verilog刷题[hdlbits] :Bcdadd100
卡布达吃西瓜
verilogfpga开发veriloghdlbits
题目:Bcdadd100YouareprovidedwithaBCDone-digitaddernamedbcd_faddthataddstwoBCDdigitsandcarry-in,andproducesasumandcarry-out.为您提供了一个名为bcd_fadd的BCD一位数加法器,它将两个BCD数字相加并带入,并生成一个和和并带入。modulebcd_fadd(input[3:0]
- Verilog刷题[hdlbits] :Adder100i
卡布达吃西瓜
verilogverilogfpga开发hdlbits
题目:Adder100iCreatea100-bitbinaryripple-carryadderbyinstantiating100fulladders.Theadderaddstwo100-bitnumbersandacarry-intoproducea100-bitsumandcarryout.Toencourageyoutoactuallyinstantiatefulladders,als
- 「HDLBits题解」Verification: Writing Testbenches
UESTC_KS
HDLBits题解fpga开发Verilog
本专栏的目的是分享可以通过HDLBits仿真的Verilog代码以提供参考各位可同时参考我的代码和官方题解代码或许会有所收益题目链接:Tb/clock-HDLBits`timescale1ps/1psmoduletop_module();parametertime_period=10;regclk;initialclk=0;alwaysbegin#(time_period/2)clk=~clk;e
- 「HDLBits题解」Build a circuit from a simulation waveform
UESTC_KS
HDLBits题解fpga开发Verilog
本专栏的目的是分享可以通过HDLBits仿真的Verilog代码以提供参考各位可同时参考我的代码和官方题解代码或许会有所收益题目链接:Sim/circuit1-HDLBitsmoduletop_module(inputa,inputb,outputq);//assignq=a&b;//Fixmeendmodule题目链接:Sim/circuit2-HDLBitsmoduletop_module(i
- 「HDLBits题解」Building Larger Circuits
UESTC_KS
HDLBits题解fpga开发Verilog
本专栏的目的是分享可以通过HDLBits仿真的Verilog代码以提供参考各位可同时参考我的代码和官方题解代码或许会有所收益题目链接:Exams/review2015count1k-HDLBitsmoduletop_module(inputclk,inputreset,output[9:0]q);always@(posedgeclk)beginif(reset)q=0)if(cnt<999)cnt
- 「HDLBits题解」Finite State Machines
UESTC_KS
HDLBits题解fpga开发Verilog
本专栏的目的是分享可以通过HDLBits仿真的Verilog代码以提供参考各位可同时参考我的代码和官方题解代码或许会有所收益题目链接:Fsm1-HDLBitsmoduletop_module(inputclk,inputareset,//AsynchronousresettostateBinputin,outputout);//parameterA=0,B=1;regstate,next_stat
- 【Verilog】HDLBits刷题 03 Verilog语言(2)(未完)
圆喵喵Won
fpga开发
二、模块(module)1.实例化Thefigurebelowshowsaverysimplecircuitwithasub-module.Inthisexercise,createoneinstanceofmodulemod_a,thenconnectthemodule'sthreepins(in1,in2,andout)toyourtop-levelmodule'sthreeports(wir
- 「HDLBits题解」Cellular automata
UESTC_KS
HDLBits题解fpga开发Verilog
本专栏的目的是分享可以通过HDLBits仿真的Verilog代码以提供参考各位可同时参考我的代码和官方题解代码或许会有所收益题目链接:Rule90-HDLBitsmoduletop_module(inputclk,inputload,input[511:0]data,output[511:0]q);always@(posedgeclk)beginif(load)q<=data;elseq<={1'
- 「HDLBits题解」Shift Registers
UESTC_KS
HDLBits题解fpga开发Verilog
本专栏的目的是分享可以通过HDLBits仿真的Verilog代码以提供参考各位可同时参考我的代码和官方题解代码或许会有所收益题目链接:Shift4-HDLBitsmoduletop_module(inputclk,inputareset,//asyncactive-highresettozeroinputload,inputena,input[3:0]data,outputreg[3:0]q);a
- 「HDLBits题解」Latches and Flip-Flops
UESTC_KS
HDLBits题解fpga开发Verilog
本专栏的目的是分享可以通过HDLBits仿真的Verilog代码以提供参考各位可同时参考我的代码和官方题解代码或许会有所收益题目链接:Dff-HDLBitsmoduletop_module(inputclk,//Clocksareusedinsequentialcircuitsinputd,outputregq);////Useaclockedalwaysblock//copydtoqatever
- 「HDLBits题解」Counters
UESTC_KS
HDLBits题解fpga开发Verilog
本专栏的目的是分享可以通过HDLBits仿真的Verilog代码以提供参考各位可同时参考我的代码和官方题解代码或许会有所收益题目链接:Count15-HDLBitsmoduletop_module(inputclk,inputreset,//Synchronousactive-highresetoutput[3:0]q);always@(posedgeclk)beginif(reset)q<=0;
- verilog语法进阶
FPGA中国创新中心
FPGA学习fpga开发verilogfpga硬件工程
文章目录前言一、always块(alwaysblock)二、if语句三、case语句四、casez语句五、三目运算(ternaryconditionaloperator)六、递减运算符(reduction)七、for循环语句八、实例化多个模块(generate)总结前言 本文是针对verilog基础语法做进一步的学,通过网站HDLbits中的代码和例子来展开本文要讨论的内容。HDLbits是一个
- 「HDLBits题解」Popcount255
UESTC_KS
HDLBits题解Verilog
本专栏的目的是分享可以通过HDLBits仿真的Verilog代码以提供参考各位可同时参考我的代码和官方题解代码或许会有所收益题目链接:Popcount255-HDLBitsmoduletop_module(input[254:0]in,outputreg[7:0]out);integeri;always@(*)beginout=0;for(i=0;i>i&1)out=out+1;elseout=o
- 「HDLBits题解」Adder100i
UESTC_KS
HDLBits题解Verilog
本专栏的目的是分享可以通过HDLBits仿真的Verilog代码以提供参考各位可同时参考我的代码和官方题解代码或许会有所收益题目链接:Adder100i-HDLBitsmoduletop_module(input[99:0]a,b,inputcin,output[99:0]cout,output[99:0]sum);add1Add0(a[0],b[0],cin,sum[0],cout[0]);ge
- 「HDLBits题解」Ringer
UESTC_KS
HDLBits题解Verilog
本专栏的目的是分享可以通过HDLBits仿真的Verilog代码以提供参考各位可同时参考我的代码和官方题解代码或许会有所收益题目链接:Ringer-HDLBitsmoduletop_module(inputring,inputvibrate_mode,outputringer,//Makesoundoutputmotor//Vibrate);assignmotor=vibrate_mode?(ri
- 「HDLBits题解」Bcdadd100
UESTC_KS
HDLBits题解Verilog
本专栏的目的是分享可以通过HDLBits仿真的Verilog代码以提供参考各位可同时参考我的代码和官方题解代码或许会有所收益题目链接:Bcdadd100-HDLBitsmoduletop_module(input[399:0]a,b,inputcin,outputcout,output[399:0]sum);wire[99:0]t;genvari;bcd_faddu0(a[3:0],b[3:0],
- 【Verilog】HDLBits题解——Circuits/Sequential Logic
wjh776a68
#Verilog入门verilogHDLBitsfpga
SequentialLogicLatchesandFlip-FlopsDflip-flop题目链接moduletop_module(inputclk,//Clocksareusedinsequentialcircuitsinputd,outputregq);////Useaclockedalwaysblock//copydtoqateverypositiveedgeofclk//Clockedal
- 【Verilog】HDLBits题解——Verilog Language
wjh776a68
#Verilog入门HDLBitsVerilog题解
BasicsSimplewire题目链接moduletop_module(inputin,outputout);assignout=in;endmoduleFourwires题目链接moduletop_module(inputa,b,c,outputw,x,y,z);assignw=a;assignx=b;assigny=b;assignz=c;endmoduleInverter题目链接modul
- 【Verilog】HDLBits题解——Circuits/Combinational Logic
wjh776a68
#Verilog入门VerilogHDLBits题解
CombinationalLogicBasicGatesWire题目链接moduletop_module(inputin,outputout);assignout=in;endmoduleGND题目链接moduletop_module(outputout);assignout=0;endmoduleNOR题目链接moduletop_module(inputin1,inputin2,outputou
- Enum 枚举
120153216
enum枚举
原文地址:http://www.cnblogs.com/Kavlez/p/4268601.html Enumeration
于Java 1.5增加的enum type...enum type是由一组固定的常量组成的类型,比如四个季节、扑克花色。在出现enum type之前,通常用一组int常量表示枚举类型。比如这样:
public static final int APPLE_FUJI = 0
- Java8简明教程
bijian1013
javajdk1.8
Java 8已于2014年3月18日正式发布了,新版本带来了诸多改进,包括Lambda表达式、Streams、日期时间API等等。本文就带你领略Java 8的全新特性。
一.允许在接口中有默认方法实现
Java 8 允许我们使用default关键字,为接口声明添
- Oracle表维护 快速备份删除数据
cuisuqiang
oracle索引快速备份删除
我知道oracle表分区,不过那是数据库设计阶段的事情,目前是远水解不了近渴。
当前的数据库表,要求保留一个月数据,且表存在大量录入更新,不存在程序删除。
为了解决频繁查询和更新的瓶颈,我在oracle内根据需要创建了索引。但是随着数据量的增加,一个半月数据就要超千万,此时就算有索引,对高并发的查询和更新来说,让然有所拖累。
为了解决这个问题,我一般一个月会进行一次数据库维护,主要工作就是备
- java多态内存分析
麦田的设计者
java内存分析多态原理接口和抽象类
“ 时针如果可以回头,熟悉那张脸,重温嬉戏这乐园,墙壁的松脱涂鸦已经褪色才明白存在的价值归于记忆。街角小店尚存在吗?这大时代会不会牵挂,过去现在花开怎么会等待。
但有种意外不管痛不痛都有伤害,光阴远远离开,那笑声徘徊与脑海。但这一秒可笑不再可爱,当天心
- Xshell实现Windows上传文件到Linux主机
被触发
windows
经常有这样的需求,我们在Windows下载的软件包,如何上传到远程Linux主机上?还有如何从Linux主机下载软件包到Windows下;之前我的做法现在看来好笨好繁琐,不过也达到了目的,笨人有本方法嘛;
我是怎么操作的:
1、打开一台本地Linux虚拟机,使用mount 挂载Windows的共享文件夹到Linux上,然后拷贝数据到Linux虚拟机里面;(经常第一步都不顺利,无法挂载Windo
- 类的加载ClassLoader
肆无忌惮_
ClassLoader
类加载器ClassLoader是用来将java的类加载到虚拟机中,类加载器负责读取class字节文件到内存中,并将它转为Class的对象(类对象),通过此实例的 newInstance()方法就可以创建出该类的一个对象。
其中重要的方法为findClass(String name)。
如何写一个自己的类加载器呢?
首先写一个便于测试的类Student
- html5写的玫瑰花
知了ing
html5
<html>
<head>
<title>I Love You!</title>
<meta charset="utf-8" />
</head>
<body>
<canvas id="c"></canvas>
- google的ConcurrentLinkedHashmap源代码解析
矮蛋蛋
LRU
原文地址:
http://janeky.iteye.com/blog/1534352
简述
ConcurrentLinkedHashMap 是google团队提供的一个容器。它有什么用呢?其实它本身是对
ConcurrentHashMap的封装,可以用来实现一个基于LRU策略的缓存。详细介绍可以参见
http://code.google.com/p/concurrentlinke
- webservice获取访问服务的ip地址
alleni123
webservice
1. 首先注入javax.xml.ws.WebServiceContext,
@Resource
private WebServiceContext context;
2. 在方法中获取交换请求的对象。
javax.xml.ws.handler.MessageContext mc=context.getMessageContext();
com.sun.net.http
- 菜鸟的java基础提升之道——————>是否值得拥有
百合不是茶
1,c++,java是面向对象编程的语言,将万事万物都看成是对象;java做一件事情关注的是人物,java是c++继承过来的,java没有直接更改地址的权限但是可以通过引用来传值操作地址,java也没有c++中繁琐的操作,java以其优越的可移植型,平台的安全型,高效性赢得了广泛的认同,全世界越来越多的人去学习java,我也是其中的一员
java组成:
- 通过修改Linux服务自动启动指定应用程序
bijian1013
linux
Linux中修改系统服务的命令是chkconfig (check config),命令的详细解释如下: chkconfig
功能说明:检查,设置系统的各种服务。
语 法:chkconfig [ -- add][ -- del][ -- list][系统服务] 或 chkconfig [ -- level <</SPAN>
- spring拦截器的一个简单实例
bijian1013
javaspring拦截器Interceptor
Purview接口
package aop;
public interface Purview {
void checkLogin();
}
Purview接口的实现类PurviesImpl.java
package aop;
public class PurviewImpl implements Purview {
public void check
- [Velocity二]自定义Velocity指令
bit1129
velocity
什么是Velocity指令
在Velocity中,#set,#if, #foreach, #elseif, #parse等,以#开头的称之为指令,Velocity内置的这些指令可以用来做赋值,条件判断,循环控制等脚本语言必备的逻辑控制等语句,Velocity的指令是可扩展的,即用户可以根据实际的需要自定义Velocity指令
自定义指令(Directive)的一般步骤
&nbs
- 【Hive十】Programming Hive学习笔记
bit1129
programming
第二章 Getting Started
1.Hive最大的局限性是什么?一是不支持行级别的增删改(insert, delete, update)二是查询性能非常差(基于Hadoop MapReduce),不适合延迟小的交互式任务三是不支持事务2. Hive MetaStore是干什么的?Hive persists table schemas and other system metadata.
- nginx有选择性进行限制
ronin47
nginx 动静 限制
http {
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;...
server {...
location ~.*\.(gif|png|css|js|icon)$ {
- java-4.-在二元树中找出和为某一值的所有路径 .
bylijinnan
java
/*
* 0.use a TwoWayLinkedList to store the path.when the node can't be path,you should/can delete it.
* 1.curSum==exceptedSum:if the lastNode is TreeNode,printPath();delete the node otherwise
- Netty学习笔记
bylijinnan
javanetty
本文是阅读以下两篇文章时:
http://seeallhearall.blogspot.com/2012/05/netty-tutorial-part-1-introduction-to.html
http://seeallhearall.blogspot.com/2012/06/netty-tutorial-part-15-on-channel.html
我的一些笔记
===
- js获取项目路径
cngolon
js
//js获取项目根路径,如: http://localhost:8083/uimcardprj
function getRootPath(){
//获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp
var curWwwPath=window.document.locati
- oracle 的性能优化
cuishikuan
oracleSQL Server
在网上搜索了一些Oracle性能优化的文章,为了更加深层次的巩固[边写边记],也为了可以随时查看,所以发表这篇文章。
1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。(这点本人曾经做过实例验证过,的确如此哦!
- Shell变量和数组使用详解
daizj
linuxshell变量数组
Shell 变量
定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:
your_name="w3cschool.cc"
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:
首个字符必须为字母(a-z,A-Z)。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用ba
- 编程中的一些概念,KISS、DRY、MVC、OOP、REST
dcj3sjt126com
REST
KISS、DRY、MVC、OOP、REST (1)KISS是指Keep It Simple,Stupid(摘自wikipedia),指设计时要坚持简约原则,避免不必要的复杂化。 (2)DRY是指Don't Repeat Yourself(摘自wikipedia),特指在程序设计以及计算中避免重复代码,因为这样会降低灵活性、简洁性,并且可能导致代码之间的矛盾。 (3)OOP 即Object-Orie
- [Android]设置Activity为全屏显示的两种方法
dcj3sjt126com
Activity
1. 方法1:AndroidManifest.xml 里,Activity的 android:theme 指定为" @android:style/Theme.NoTitleBar.Fullscreen" 示例: <application
- solrcloud 部署方式比较
eksliang
solrCloud
solrcloud 的部署其实有两种方式可选,那么我们在实践开发中应该怎样选择呢? 第一种:当启动solr服务器时,内嵌的启动一个Zookeeper服务器,然后将这些内嵌的Zookeeper服务器组成一个集群。 第二种:将Zookeeper服务器独立的配置一个集群,然后将solr交给Zookeeper进行管理
谈谈第一种:每启动一个solr服务器就内嵌的启动一个Zoo
- Java synchronized关键字详解
gqdy365
synchronized
转载自:http://www.cnblogs.com/mengdd/archive/2013/02/16/2913806.html
多线程的同步机制对资源进行加锁,使得在同一个时间,只有一个线程可以进行操作,同步用以解决多个线程同时访问时可能出现的问题。
同步机制可以使用synchronized关键字实现。
当synchronized关键字修饰一个方法的时候,该方法叫做同步方法。
当s
- js实现登录时记住用户名
hw1287789687
记住我记住密码cookie记住用户名记住账号
在页面中如何获取cookie值呢?
如果是JSP的话,可以通过servlet的对象request 获取cookie,可以
参考:http://hw1287789687.iteye.com/blog/2050040
如果要求登录页面是html呢?html页面中如何获取cookie呢?
直接上代码了
页面:loginInput.html
代码:
<!DOCTYPE html PUB
- 开发者必备的 Chrome 扩展
justjavac
chrome
Firebug:不用多介绍了吧https://chrome.google.com/webstore/detail/bmagokdooijbeehmkpknfglimnifench
ChromeSnifferPlus:Chrome 探测器,可以探测正在使用的开源软件或者 js 类库https://chrome.google.com/webstore/detail/chrome-sniffer-pl
- 算法机试题
李亚飞
java算法机试题
在面试机试时,遇到一个算法题,当时没能写出来,最后是同学帮忙解决的。
这道题大致意思是:输入一个数,比如4,。这时会输出:
&n
- 正确配置Linux系统ulimit值
字符串
ulimit
在Linux下面部 署应用的时候,有时候会遇上Socket/File: Can’t open so many files的问题;这个值也会影响服务器的最大并发数,其实Linux是有文件句柄限制的,而且Linux默认不是很高,一般都是1024,生产服务器用 其实很容易就达到这个数量。下面说的是,如何通过正解配置来改正这个系统默认值。因为这个问题是我配置Nginx+php5时遇到了,所以我将这篇归纳进
- hibernate调用返回游标的存储过程
Supanccy2013
javaDAOoracleHibernatejdbc
注:原创作品,转载请注明出处。
上篇博文介绍的是hibernate调用返回单值的存储过程,本片博文说的是hibernate调用返回游标的存储过程。
此此扁博文的存储过程的功能相当于是jdbc调用select 的作用。
1,创建oracle中的包,并在该包中创建的游标类型。
---创建oracle的程
- Spring 4.2新特性-更简单的Application Event
wiselyman
application
1.1 Application Event
Spring 4.1的写法请参考10点睛Spring4.1-Application Event
请对比10点睛Spring4.1-Application Event
使用一个@EventListener取代了实现ApplicationListener接口,使耦合度降低;
1.2 示例
包依赖
<p