图着色问题是一个著名的NP完全问题。给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题的一个解。输入格式:输入在第一行给出3个整数V(0
高级箱型图
Aa123456789_55
图形展示python
一个点展示多个数据在箱形图(boxplot)中,如果你想在一个点上展示多组数据,可以通过在同一位置绘制多个箱形图来实现。这通常用于比较不同组在相同特征上的分布情况假设我们有三组数据,每组数据包含多个子组,每个子组在同一个x轴位置上。importmatplotlib.pyplotaspltimportnumpyasnp#示例数据data1=[np.random.normal(0,1,100),np.
Angular 17与Material Design 3的结合之旅
t0_54program
编程问题解决手册angular.js前端javascript个人开发
引言随着前端技术的不断发展,用户界面的设计和体验变得越来越重要。MaterialDesign3作为谷歌推出的最新设计语言,其简洁、直观的设计理念吸引了众多开发者的关注。特别是对于Angular开发者来说,如何将MaterialDesign3与Angular框架无缝结合是一个值得探讨的问题。本文将带你一步一步了解如何在Angular17中使用MaterialDesign3组件。准备工作在开始之前,我
Angular 17与PrimeNG复选框图标定制
t0_54program
编程问题解决手册angular.js前端javascript个人开发
在Angular和PrimeNG的开发过程中,经常需要对UI组件进行细致的定制以满足特定的设计需求。本文将详细介绍如何在不更改HTML模板的情况下,通过全局CSS文件来修改PrimeNG复选框的默认勾选图标。背景介绍随着Angular从15版本升级到17版本,很多开发者也需要更新其依赖库,包括PrimeNG。由于PrimeNG的更新,组件的样式和行为可能会发生变化,这就要求开发者了解如何适应这些变
数据结构与算法:单调栈
WBluuue
c++算法数据结构leetcode
前言单调栈是一种维护数组当前位置左右两侧比它小或大的最近的数的一种数据结构。一、经典用法单调栈的经典用法就是找数组当前位置的数左右两侧比它小或大的最近的数。1.模板——单调栈结构(进阶)#includeusingnamespacestd;voidfindSmall(vector&arr){stackindex;vector>ans(1000001,vector(2,0));//存下标intcur;
Go语言 vs Java语言:核心差异与适用场景解析
By北阳
golangjava开发语言
在当今的软件开发领域,Go(Golang)和Java都是备受关注的后端开发语言。尽管二者都能构建高性能服务,但它们在设计哲学、语法特性和应用场景上存在显著差异。本文将从多个维度对比这两种语言,帮助开发者更好地理解它们的优缺点,并为技术选型提供参考。一、设计哲学与语言定位1.Go语言定位:专为高并发、分布式系统设计,强调简洁性和高效性。特点:语法简单,学习曲线平缓。静态编译为单一二进制文件,部署便捷
L2-023 图着色问题(Java)
Loongnoy
Java题解算法
题目链接:PTA|程序设计类实验辅助教学平台图着色问题是一个著名的NP完全问题。给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题的一个解。输入格式:输入在第一行给出3个整数V(0set=newHashSet0){int[]arr=newint[v+1
Maven的依赖管理
百香果果ccc
Mavenmaven数据库java
maven相关依赖的官网:https://mvnrepository.com/pom.xml是项目依赖的配置文件maven首先会去本地仓库下载相关依赖,如果没有,则会去私服下载,再没有,就去中央仓库或镜像下载。自定义properties,可使用${}将属性作为变量引入5.10.2org.junit.jupiterjunit-jupiter-api${junit.version}test依赖范围sc
图像分割基础:使用Python和scikit-image库
0dayNu1L
机器学习项目实战python人工智能机器学习
大家好,今天我们将一起探讨图像分割的基础知识,并使用Python编程语言以及scikit-image库来实现一个简单的图像分割示例。图像分割是图像处理中的一项重要技术,它允许我们将图像划分为多个部分或对象,这对于图像分析和计算机视觉任务至关重要。0dayNu1L-CSDN博客目录一、环境准备二、图像分割示例1.导入必要的库2.读取并显示图像3.创建标签数组并进行阈值分割4.使用颜色表示标签三、结果
pythoneasyinstall安装第三方库_【Python使用】Python安装第三方包(easy_install和pip工具)...
不死鹰阿江
本文是对python的第三方包/模块的安装的说明,官方下载第三方包的地址为:https://pypi.org/。1.工具安装部署1.1setuptools安装部署(easy_install)easy_install是由PEAK(PythonEnterpriseApplicationKit)开发的setuptools包里带的一个命令,它用来自动地从http://pypi.python.org/sim
Volar ——Vue3 完美的配套工具
web13985857354
前端html面试vue.jsjavascriptvscode
Volar——Vue3完美的配套工具0.前言1.`volar`是什么2.Volar的新功能介绍2.1`refsugar`2.2`template`语法转换2.3`classreferences`2.4`props`类型检测2.5各种语法提示2.5.1模板语法提示2.5.2cssmodule语法提示2.5.3`lang`提示2.6编辑器三分天下3.总结博主在b站录制了vue3.2的详细教程,点击来看
c语言 tls单向认证 验证证书,使用wireshark观察SSL/TLS握手过程--双向认证/单向认证...
weixin_29187895
c语言tls单向认证验证证书
SSL/TLS握手过程可以分成两种类型:1)SSL/TLS双向认证,就是双方都会互相认证,也就是两者之间将会交换证书。2)SSL/TLS单向认证,客户端会认证服务器端身份,而服务器端不会去对客户端身份进行验证。我们知道,握手过程实际上就是通信双方协商交换一个用于对称加密的密钥的过程,而且握手过程是明文的。这个过程实际上产生三个随机数:clientrandom,serverrandom,pre-ma
Java语言前言
始终奔跑在路上
软件开发Javajava开发语言
字节计算机中存储数据最小计量单位,用byte或者B表示计算机最小的存储单元是二进制,因为计算机上能看到的任何东西都是CPU通过二进制转换而来的,二进制用bit表示1byte=8bit取值范围:-128-127存储数据的计量单位换算8bit=1B1024B=1KB1024KB=1MB1024MB=1GB1024GB=1TB常用DOS命令打开dos窗口win+R输入cmd切换磁D:查看目录dir创建目
自用vue3,已标记慎看(日常更新)
斑马兽存d
前端
认识Vue31.Vue2选项式APIvsVue3组合式APIexportdefault{data(){return{count:0}},methods:{addCount(){this.count++}}}import{ref}from'vue'constcount=ref(0)constaddCount=()=>count.value++特点:代码量变少分散式维护变成集中式维护2.Vue3的优势
Maven继承和聚合特性
青山^
mavenjava
目录Maven继承关系1.继承概念父POM子模块2.继承机制3.示例4.继承作用背景需求5.注意事项Maven聚合关系1.定义与概念2.实现方式3.特性与优势4.示例5.注意事项Maven继承关系1.继承概念Maven继承是指在Maven的项目中,定义一个父POM(ProjectObjectModel),然后让其他Maven项目(称为子模块或子项目)继承这个父POM的配置,即让一个项目从另一个项目
MYSQL8.0数据库误删除记录恢复 MYSQL8.0数据库崩溃恢复 MYSQL8.0数据库删除表恢复
caihuayuan5
面试题汇总与解析大数据springbootjava后端课程设计
数据类型MYSQL8.0数据大小242MB故障检测主机断电导致数据库崩溃,无法启动.修复结果收到文件后,修正不一致的地方,成功启动MYSQL8.0完成恢复客户验收数据成功。完成恢复。最新数据得以恢复.客户非常满意。友情提醒:重要数据一定要勤备份,遇到数据丢失数据损坏等问题,要第一时间联系专业人士。对于各类主流数据库,我们可以做最底层的数据恢复及数据修复,对于数据库的某些特定故障我们保证数据库100
Maven的继承和聚合
百香果果ccc
Mavenmavenhivejava
Maven继承指的是,子项目继承父级Maven项目的配置信息(pom.xml)在父级pom.xml中,使用标签包裹的依赖,将会无条件传递给子级,与依赖范围无关com.alibabadruid1.2.8org.junit.jupiterjunit-jupiter-api5.10.2testjavax.servletjavax.servlet-api3.1.0provided在父级pom.xml中,使
SSL/TLS 1.2过程:Client端如何验证服务端证书?
XueWang1
计算机网络TLS加密sslhttps安全
快速回顾非对称加密和对称加密首先快速说一下非对称加密和对称加密。非对称加密,就是有一个公钥和私钥(成对存在)。公钥对一段文本A加密得到文本B,只有对应的私钥能对B解密得到A。私钥对一段文本C加密得到文本D,只有对应的公钥能对D解密得到C。也就是一个密钥加密,只能用另一个密钥解密。不能用本身或者其他任何密钥解密。对称加密则是另一种方式,一个密钥M对一段文本E加密得到文本F,只能由这个密钥M对文本F解
MCP协议深度解析:从Cline插件到Cursor,跨平台AI开发的革命性突破
zhz5214
AI人工智能mcpaiAI编程AI写作
本文将为您深度拆解MCP协议的技术架构、生态应用及实战开发指南,助您掌握AI原生开发的核心范式。一、MCP协议技术架构全景1.协议核心定位MCP(ModelContextProtocol)由Anthropic提出,通过自然语言驱动的工具交互标准,打破传统API调用壁垒。其核心价值在于:实现LLM与外部系统的语义级融合标准化工具发现-调用-反馈全流程推动AI开发从"代码编程"向"自然语言编程"进化2
从Manus爆红到OpenAI反击:AI Agent技术架构与实战解析
大F的智能小课
大模型理论和实战DeepSeek技术解析和实战人工智能架构
大家好,我是大F,深耕AI算法十余年,互联网大厂技术岗。知行合一,不写水文,喜欢可关注,分享AI算法干货、技术心得。欢迎关注《大模型理论和实战》、《DeepSeek技术解析和实战》,一起探索技术的无限可能!1.引:一夜爆红的Manus与OpenAI的反击2025年3月6日凌晨,中国团队Monica推出的通用人工智能代理产品Manus横空出世。这款被称作"Agent界的DeepSeek时刻"的产品,
基于树莓派的轻量级AI数字人开发全流程指南 ——从硬件选型到语音视觉交互实战
zhz5214
AIai人工智能AI写作AI编程智能体
1.背景与目标AI数字人,像是虚拟助手、交互式角色,在当下数字化浪潮中扮演着越来越重要的角色。其核心在于整合语音识别、视觉感知、自然语言处理(NLP)和动态反馈四大关键功能。本文将以树莓派5开发板为核心,搭配AI加速硬件,结合开源框架,为大家详细阐述如何实现本地化轻量级数字人开发。这一方案特别适用于教育领域,帮助学生更直观地理解AI技术;在智能家居场景中,也能为用户带来更智能、便捷的交互体验。2.
实战级AI变现路线:从0到3万/月的3大黄金赛道拆解
zhz5214
AI人工智能智能体aiAI编程程序员创富
赛道一:AI短视频带货(三农领域)全流程操作手册选题系统搭建借助DeepSeek-R1云端版,输入"地域特色(如云南菌菇)+情感共鸣点(留守老人)+产品植入位(土特产)"生成结构化选题指令示例:{"prompt":"生成三农领域爆款选题,输出JSON结构"}日产能200+选题,筛选率15%分镜工业化生产使用Gemini2.0flash的vision功能,配置参数:-分辨率:1080x1920竖版-
深入解析Linux进程调度器-CPU负载
Linux内核站
linux运维服务器Linux内核CPU负载
说明:Kernel版本:4.14ARM64处理器,Contex-A53,双核使用工具:SourceInsight3.5,Visio1.概述CPU负载(cpuload)指的是某个时间点进程对系统产生的压力。来张图来类比下(参考UnderstandingLinuxCPULoad)CPU的运行能力,就如大桥的通行能力,分别有满负荷,非满负荷,超负荷等状态,这几种状态对应不同的cpuload值;单CPU满
【Ubuntu】docker报错:Error response from daemon: Container a1035642576a3a899c8fe142c416fc is not running
Jackilina_Stone
【EH】报错处理dockerubuntu
说明:XXX为容器名。执行下面的命令:dockerexec-itXXX/bin/bash报错:Errorresponsefromdaemon:Containera1035642bcf83ce56a3a899c8fe142c416fcisnotrunning解决方法:sudodockerstartXXX再次执行:dockerexec-itXXX/bin/bash成功进入容器。
算法——图论——关键活动
阿饼240
算法图论
原题#include#include#include#includeusingnamespacestd;structedge{intdestination;intdist;edge(intdestination_,intdist_):destination(destination_),dist(dist_){}};vectorgraph[100];vectorreGraph[100];vector
算法——图论——交通枢纽
阿饼240
算法c++动态规划图论
原题#include#include#includeusingnamespacestd;typedefpairPII;vectorgraph[100];vector>Dist(100,vector(100,-1));vectorState(100,false);voidDijkstra(ints,intn){for(inti=0;i,greater>pq;pq.emplace(0,s);while
jQuery 键盘事件keydown ,keypress ,keyup介绍
107x
jsjquerykeydownkeypresskeyup
本文章总结了下些关于jQuery 键盘事件keydown ,keypress ,keyup介绍,有需要了解的朋友可参考。
一、首先需要知道的是: 1、keydown() keydown事件会在键盘按下时触发. 2、keyup() 代码如下 复制代码
$('input').keyup(funciton(){  
AngularJS中的Promise
bijian1013
JavaScriptAngularJSPromise
一.Promise
Promise是一个接口,它用来处理的对象具有这样的特点:在未来某一时刻(主要是异步调用)会从服务端返回或者被填充属性。其核心是,promise是一个带有then()函数的对象。
为了展示它的优点,下面来看一个例子,其中需要获取用户当前的配置文件:
var cu
c++ 用数组实现栈类
CrazyMizzz
数据结构C++
#include<iostream>
#include<cassert>
using namespace std;
template<class T, int SIZE = 50>
class Stack{
private:
T list[SIZE];//数组存放栈的元素
int top;//栈顶位置
public:
Stack(
java和c语言的雷同
麦田的设计者
java递归scaner
软件启动时的初始化代码,加载用户信息2015年5月27号
从头学java二
1、语言的三种基本结构:顺序、选择、循环。废话不多说,需要指出一下几点:
a、return语句的功能除了作为函数返回值以外,还起到结束本函数的功能,return后的语句
不会再继续执行。
b、for循环相比于whi
LINUX环境并发服务器的三种实现模型
被触发
linux
服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器。按处理方式来分有循环服务器和并发服务器。
1 循环服务器与并发服务器模型
在网络程序里面,一般来说都是许多客户对应一个服务器,为了处理客户的请求,对服务端的程序就提出了特殊的要求。
目前最常用的服务器模型有:
·循环服务器:服务器在同一时刻只能响应一个客户端的请求
·并发服务器:服
Oracle数据库查询指令
肆无忌惮_
oracle数据库
20140920
单表查询
-- 查询************************************************************************************************************
-- 使用scott用户登录
-- 查看emp表
desc emp
ext右下角浮动窗口
知了ing
JavaScriptext
第一种
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/
浅谈REDIS数据库的键值设计
矮蛋蛋
redis
http://www.cnblogs.com/aidandan/
原文地址:http://www.hoterran.info/redis_kv_design
丰富的数据结构使得redis的设计非常的有趣。不像关系型数据库那样,DEV和DBA需要深度沟通,review每行sql语句,也不像memcached那样,不需要DBA的参与。redis的DBA需要熟悉数据结构,并能了解使用场景。
maven编译可执行jar包
alleni123
maven
http://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven
<build>
<plugins>
<plugin>
<artifactId>maven-asse
人力资源在现代企业中的作用
百合不是茶
HR 企业管理
//人力资源在在企业中的作用人力资源为什么会存在,人力资源究竟是干什么的 人力资源管理是对管理模式一次大的创新,人力资源兴起的原因有以下点: 工业时代的国际化竞争,现代市场的风险管控等等。所以人力资源 在现代经济竞争中的优势明显的存在,人力资源在集团类公司中存在着 明显的优势(鸿海集团),有一次笔者亲自去体验过红海集团的招聘,只 知道人力资源是管理企业招聘的 当时我被招聘上了,当时给我们培训 的人
Linux自启动设置详解
bijian1013
linux
linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。
阅读之前建议先看一下附图。
本文中假设inittab中设置的init tree为:
/etc/rc.d/rc0.d
/etc/rc.d/rc1.d
/etc/rc.d/rc2.d
/etc/rc.d/rc3.d
/etc/rc.d/rc4.d
/etc/rc.d/rc5.d
/etc
Spring Aop Schema实现
bijian1013
javaspringAOP
本例使用的是Spring2.5
1.Aop配置文件spring-aop.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmln
【Gson七】Gson预定义类型适配器
bit1129
gson
Gson提供了丰富的预定义类型适配器,在对象和JSON串之间进行序列化和反序列化时,指定对象和字符串之间的转换方式,
DateTypeAdapter
public final class DateTypeAdapter extends TypeAdapter<Date> {
public static final TypeAdapterFacto
【Spark八十八】Spark Streaming累加器操作(updateStateByKey)
bit1129
update
在实时计算的实际应用中,有时除了需要关心一个时间间隔内的数据,有时还可能会对整个实时计算的所有时间间隔内产生的相关数据进行统计。
比如: 对Nginx的access.log实时监控请求404时,有时除了需要统计某个时间间隔内出现的次数,有时还需要统计一整天出现了多少次404,也就是说404监控横跨多个时间间隔。
Spark Streaming的解决方案是累加器,工作原理是,定义
linux系统下通过shell脚本快速找到哪个进程在写文件
ronin47
一个文件正在被进程写 我想查看这个进程 文件一直在增大 找不到谁在写 使用lsof也没找到
这个问题挺有普遍性的,解决方法应该很多,这里我给大家提个比较直观的方法。
linux下每个文件都会在某个块设备上存放,当然也都有相应的inode, 那么透过vfs.write我们就可以知道谁在不停的写入特定的设备上的inode。
幸运的是systemtap的安装包里带了inodewatch.stp,位
java-两种方法求第一个最长的可重复子串
bylijinnan
java算法
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class MaxPrefix {
public static void main(String[] args) {
String str="abbdabcdabcx";
Netty源码学习-ServerBootstrap启动及事件处理过程
bylijinnan
javanetty
Netty是采用了Reactor模式的多线程版本,建议先看下面这篇文章了解一下Reactor模式:
http://bylijinnan.iteye.com/blog/1992325
Netty的启动及事件处理的流程,基本上是按照上面这篇文章来走的
文章里面提到的操作,每一步都能在Netty里面找到对应的代码
其中Reactor里面的Acceptor就对应Netty的ServerBo
servelt filter listener 的生命周期
cngolon
filterlistenerservelt生命周期
1. servlet 当第一次请求一个servlet资源时,servlet容器创建这个servlet实例,并调用他的 init(ServletConfig config)做一些初始化的工作,然后调用它的service方法处理请求。当第二次请求这个servlet资源时,servlet容器就不在创建实例,而是直接调用它的service方法处理请求,也就是说
jmpopups获取input元素值
ctrain
JavaScript
jmpopups 获取弹出层form表单
首先,我有一个div,里面包含了一个表单,默认是隐藏的,使用jmpopups时,会弹出这个隐藏的div,其实jmpopups是将我们的代码生成一份拷贝。
当我直接获取这个form表单中的文本框时,使用方法:$('#form input[name=test1]').val();这样是获取不到的。
我们必须到jmpopups生成的代码中去查找这个值,$(
vi查找替换命令详解
daizj
linux正则表达式替换查找vim
一、查找
查找命令
/pattern<Enter> :向下查找pattern匹配字符串
?pattern<Enter>:向上查找pattern匹配字符串
使用了查找命令之后,使用如下两个键快速查找:
n:按照同一方向继续查找
N:按照反方向查找
字符串匹配
pattern是需要匹配的字符串,例如:
1: /abc<En
对网站中的js,css文件进行打包
dcj3sjt126com
PHP打包
一,为什么要用smarty进行打包
apache中也有给js,css这样的静态文件进行打包压缩的模块,但是本文所说的不是以这种方式进行的打包,而是和smarty结合的方式来把网站中的js,css文件进行打包。
为什么要进行打包呢,主要目的是为了合理的管理自己的代码 。现在有好多网站,你查看一下网站的源码的话,你会发现网站的头部有大量的JS文件和CSS文件,网站的尾部也有可能有大量的J
php Yii: 出现undefined offset 或者 undefined index解决方案
dcj3sjt126com
undefined
在开发Yii 时,在程序中定义了如下方式:
if($this->menuoption[2] === 'test'),那么在运行程序时会报:undefined offset:2,这样的错误主要是由于php.ini 里的错误等级太高了,在windows下错误等级
linux 文件格式(1) sed工具
eksliang
linuxlinux sed工具sed工具linux sed详解
转载请出自出处:
http://eksliang.iteye.com/blog/2106082
简介
sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾
Android应用程序获取系统权限
gqdy365
android
引用
如何使Android应用程序获取系统权限
第一个方法简单点,不过需要在Android系统源码的环境下用make来编译:
1. 在应用程序的AndroidManifest.xml中的manifest节点
HoverTree开发日志之验证码
hvt
.netC#asp.nethovertreewebform
HoverTree是一个ASP.NET的开源CMS,目前包含文章系统,图库和留言板功能。代码完全开放,文章内容页生成了静态的HTM页面,留言板提供留言审核功能,文章可以发布HTML源代码,图片上传同时生成高品质缩略图。推出之后得到许多网友的支持,再此表示感谢!留言板不断收到许多有益留言,但同时也有不少广告,因此决定在提交留言页面增加验证码功能。ASP.NET验证码在网上找,如果不是很多,就是特别多
JSON API:用 JSON 构建 API 的标准指南中文版
justjavac
json
译文地址:https://github.com/justjavac/json-api-zh_CN
如果你和你的团队曾经争论过使用什么方式构建合理 JSON 响应格式, 那么 JSON API 就是你的 anti-bikeshedding 武器。
通过遵循共同的约定,可以提高开发效率,利用更普遍的工具,可以是你更加专注于开发重点:你的程序。
基于 JSON API 的客户端还能够充分利用缓存,
数据结构随记_2
lx.asymmetric
数据结构笔记
第三章 栈与队列
一.简答题
1. 在一个循环队列中,队首指针指向队首元素的 前一个 位置。
2.在具有n个单元的循环队列中,队满时共有 n-1 个元素。
3. 向栈中压入元素的操作是先 移动栈顶指针&n
Linux下的监控工具dstat
网络接口
linux
1) 工具说明dstat是一个用来替换 vmstat,iostat netstat,nfsstat和ifstat这些命令的工具, 是一个全能系统信息统计工具. 与sysstat相比, dstat拥有一个彩色的界面, 在手动观察性能状况时, 数据比较显眼容易观察; 而且dstat支持即时刷新, 譬如输入dstat 3, 即每三秒收集一次, 但最新的数据都会每秒刷新显示. 和sysstat相同的是,
C 语言初级入门--二维数组和指针
1140566087
二维数组c/c++指针
/*
二维数组的定义和二维数组元素的引用
二维数组的定义:
当数组中的每个元素带有两个下标时,称这样的数组为二维数组;
(逻辑上把数组看成一个具有行和列的表格或一个矩阵);
语法:
类型名 数组名[常量表达式1][常量表达式2]
二维数组的引用:
引用二维数组元素时必须带有两个下标,引用形式如下:
例如:
int a[3][4]; 引用:
10点睛Spring4.1-Application Event
wiselyman
application
10.1 Application Event
Spring使用Application Event给bean之间的消息通讯提供了手段
应按照如下部分实现bean之间的消息通讯
继承ApplicationEvent类实现自己的事件
实现继承ApplicationListener接口实现监听事件
使用ApplicationContext发布消息