题目来源:https://leetcode.cn/problems/lexicographically-smallest-palindrome/C++题解:从两端往中间判断,不同时则用字典序小的替换字典序大的。classSolution{public:stringmakeSmallestPalindrome(strings){intlen=s.size();for(intii=0;ii
使用Spring Boot和Elastic Stack构建实时日志分析系统
微赚淘客系统开发者@聚娃科技
springbootjenkins后端
使用SpringBoot和ElasticStack构建实时日志分析系统大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!随着现代应用程序的复杂性增加,实时日志分析成为确保系统稳定性和性能的重要手段。本文将介绍如何利用SpringBoot和ElasticStack(Elasticsearch、Logstash、Kibana)构建一个高效的实时日志分析系统,实现日志的收集、
通达信资金净流入公式_资金副图指标通达信指标公式源码
罗博深
通达信资金净流入公式
资金副图指标源码:超B:=L2_AMO(0,2)/10000.0;大B:=L2_AMO(1,2)/10000.0;中B:=L2_AMO(2,2)/10000.0;小B:=L2_AMO(3,2)/10000.0;超S:=L2_AMO(0,3)/10000.0;大S:=L2_AMO(1,3)/10000.0;中S:=L2_AMO(2,3)/10000.0;小S:=L2_AMO(3,3)/10000.0
MySQL数据库笔记
艽掵猫
数据库mysql笔记
一、数据库基础概念1.数据库定义数据库:统一管理、长期存储、有组织的相关数据集合。特征:数据按模型组织(冗余小、独立性高、易扩展、可共享)。2.实际应用数据存储:高效管理大量结构化数据。数据管理:增删改查(CRUD)与权限控制。数据分析:整合数据源,支持决策。3.常见数据库系统数据库特点MySQL开源、高性能、易用,适用于Web应用。Oracle企业级、高可靠,支持大型应用。SQLServer微软
js可不使用document直接根据id获取id元素
庸懒
前端javascript
今天在用原生js写demo的时候发现一个有意思的小现象,那就是可以直接根据元素的id去获取对应的元素。起先是我定义了四个btn,每个btn都是根据getElementById来获取元素,然后给元素绑定事件,在调试的时候都挺好,到了后面我打算优化流程去掉一个btn的时候我才发现第四个btn一直没有定义test1test2test3test4constbtn1=document.getElementB
JAVA从万级QPS到亿级吞吐,如何用非阻塞模型突破传统架构的性能瓶颈
王大师王文峰
java架构开发语言
本人详解作者:王文峰,参加过CSDN2020年度博客之星,《Java王大师王天师》公众号:JAVA开发王大师,专注于天道酬勤的Java开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯山峯转载说明:务必注明来源(注明:作者:王文峰哦)JAVA从万级QPS到亿级吞吐,如何用非阻塞模型突破传统架构的性能瓶颈学习教程(传送门)引言:当线程池成为瓶颈——某视频平台春节
结构体6~10(2356. 成绩排序、1740. 统计每个数出现的次数、1940. 混合牛奶、1314. 仰卧起坐成绩统计、1953. 新生舞会、1346. 等比例缩放照片)
是帅帅的少年
东方博宜OJ题库解析算法数据结构
题单地址:题单中心-东方博宜OJ1372.活动选择在贪心专题有详细讲解:贪心1~7-CSDN博客2356.成绩排序问题描述(补充一道我觉得有代表性的题目)【具体要求】虽然现在学校已经不允许将学生每次的考试成绩公布,但是尽职尽责的班主任小青老师还是会私下将学生们的成绩排序,看看哪些学生进步了,哪些学生有所退步,针对退步的学生想一些提升方案。现在请你通过编程来帮助小青老师实现全班n位同学成绩的排名。排
sql获取某列出现频次最多的值_业务硬核SQL集锦
金渡江
sql获取某列出现频次最多的值
戳上方蓝字关注我这两年学会了跑sql,当时有很多同学帮助我精进了这个技能,现在也写成一个小教程,反馈给大家。适用对象:工作中能接触到sql查询平台的业务同学(例如有数据查询权限的产品与运营同学)适用场景:查询hive&mysql上的数据文档优势:比起各类从零起步的教程教材,理解门槛低,有效信息密度大,可以覆盖高频业务场景。文末有一些常见的小技巧,希望帮助同学们提升工作效率。SQL的基础结构:做一个
便捷搞定计算机名、IP 与 Mac 地址修改及网卡问题的软件
开开心心就好
tcp/ipmacos网络协议androidpdf软件工程智能手机
今天要给大家推荐一款超实用的小软件——“IPtool”。别看它体积小巧,还不到1M,而且是绿色单文件版,无需复杂安装,使用起来却相当给力,能帮我们轻松搞定一些日常网络设置中的小麻烦。在修改IP地址这件事上,以往我们得在系统设置里,一步步打开“网络和Internet”相关选项进行操作,过程较为繁琐。但有了“IPtool”就不一样了,操作变得格外便捷。就拿我自己举例,原本我的IP地址是82,打开这款软
计算机体系结构的五大流派,你知道几个?
绿算技术
计算机五大流派https信息与通信硬件工程缓存
在计算机的世界里,架构设计是决定性能和应用场景的关键。从经典的冯·诺依曼结构到现代的并行处理结构,每一种体系结构都有其独特的优势和适用场景。今天,我们绿算与大家一起聊聊计算机体系结构的五大流派,以及它们背后的厂商和应用领域。1.冯·诺依曼结构:现代计算机的基石冯·诺依曼结构是现代计算机的基础,几乎所有通用计算机系统都基于这一结构或其变体。它的核心特点是程序和数据共享同一存储空间,通过一条总线进行传
华为OD机试-测试用例执行计划(Java 2024 D卷 100分)
蓝白咖啡
华为OD机试华为OD机试算法JavaPythonC++JavaScript
题目描述某个产品当前迭代周期内有N个特性(F1,F2,…,FN)需要进行覆盖测试,每个特性都有对应的优先级。设计了M个测试用例(T1,T2,…,TM),每个测试用例对应一个覆盖特性的集合。测试用例的优先级定义为其覆盖特性的优先级之和。在开展测试之前,需要制定测试用例的执行顺序,规则为:优先级大的用例先执行,如果存在优先级相同的用例,用例ID小的先执行。输入描述第一行输入为N和M,N表示特性的数量,
AI产品经理的前世今生
大语言模型
人工智能产品经理langchainpythonjavaLLM
最近大热的AI产品经理到底是个什么岗位呢?具体他们需要做些什么具体工作呢?好像听说很高大上,具体工作会不会很复杂呢?我想大家一定都会有或多或少的疑惑。别急,且听小编一点点娓娓道来。最早AI产品经理并没有这个细分岗位,这些工作都是集中于AI算法工程师为一体。从筛选项目,定义问题,拆解方案,具体执行,实际交付可能都由一人完成,所以项目质量和速度也不好保证。随着项目成熟化普遍化,公司意识到需要把岗位进行
java set遍历删除元素_Java 集合(List、Set)遍历、判断、删除元素时的小陷阱
疯狂的Java说书酱
javaset遍历删除元素
开发中,常有场景:遍历集合,依次判断是否符合条件,如符合条件则删除当前元素。不知不觉中,有些陷阱,不知你有没有犯。1.一、漏网之鱼-for循环递增下标方式遍历集合,并删除元素如果你用for循环递增下标方式遍历集合,在遍历过程中删除元素,你可能会遗漏了某些元素。说那么说可能也说不清楚,看以下示例:importjava.util.ArrayList;importjava.util.List;publi
(八五)HarmonyOS Design 在智能穿戴设备中的实践:应对设计限制与优化小屏幕体验
小_铁
HarmonyOSNext人工智能HarmonyOSNext
HarmonyOSDesign在智能穿戴设备中的实践:应对设计限制与优化小屏幕体验引言智能穿戴设备近年来发展迅猛,从智能手表到智能手环,它们已成为人们生活中不可或缺的一部分,提供健康监测、信息提醒、便捷交互等多种功能。HarmonyOSDesign以其创新的理念和技术,在智能穿戴设备领域不断探索实践,尤其在克服智能穿戴设备设计限制以及优化小屏幕用户体验方面取得了显著成果。智能穿戴设备的设计限制1.
webpack5(Module Federation)+vue3.0实现微前端
weixin_42140041
前端奇淫技巧前端javascriptvue.js
项目源码地址:https://github.com/wuxiaohuaer/webpack5-vue-admin一、什么是微前端微前端是一个比较宏观的概念,他的核心就是独立,开发独立、部署独立,比较适合大的团队来进行重量级项目开发。从MicroFrontends官网可以了解到,微前端概念是从微服务概念扩展而来的,摒弃大型单体方式,将前端整体分解为小而简单的块,这些块可以独立开发、测试和部署,同时仍
大模型工程师学习日记(十四):检索增强生成(RAG)
MMMMMMMay Love Code
学习langchain深度学习人工智能开发语言
如何递归分割文本递归分割(recursively),这个文本分割器是用于通用文本的推荐工具。它接受一个字符列表作为参数。它会按顺序尝试在这些字符上进行分割,直到块足够小。默认的字符列表是["\n\n","\n","",""]。这样做的效果是尽可能保持所有段落(然后是句子,再然后是单词)在一起,因为这些通常看起来是语义上相关的文本块。文本如何分割:根据字符列表。块大小如何衡量:根据字符数量。下面我们
软件测试流程有哪些?第三方软件检测机构测试方案推荐
第三方软件测评
软件测试软件测试
在软件开发周期中,很多软件测试工作与开发工作是同步进行的,人们对于软件测试流程的重视程度也不够,可能在测试工作中就容易造成很多重复性和不规范操作。实际上,理清楚软件测试流程对提高后期软件测试工作效率有很大好处。所以,卓码软件测评小编对软件测试流程进行简单梳理,供大家参考。软件测试流程步骤分析需求文档这一步需要明确用户测试需要文档,对测试业务范围、测试人员分配、测试场景等各个业务流程进行分析。尽可能
无需月费,完全本地运行!开源神器Local Deep Research解锁AI研究新姿势
遇见小码
AI棱镜实验室人工智能开源github
在AI技术日新月异的今天,动辄数百美元的订阅费和高性能硬件需求,让许多开发者和小团队对前沿研究工具望而却步。然而,近期一款名为LocalDeepResearch的开源项目横空出世,凭借完全免费、本地化运行、高度可定制的特性,迅速成为技术社区的热议焦点。它不仅打破了传统AI研究工具的高昂门槛,更让每个人都能轻松拥有堪比专业团队的研究能力!一、LocalDeepResearch是什么?LocalDee
小狐狸AI数字人源码独立SAAS部署全开源+搭建环境教程
kaui52066
kaui52066精品源码人工智能uni-app前端小程序php小狐狸AI数字人数字人源码
一.系统介绍小狐狸AI数字人分身系统源码独立部署支持PC端、小程序端、H5端,一键克隆真人形象+声音核心功能亮点:1:1真人级克隆技术声音克隆:上传3分钟音频,AI深度学习声纹特征,复刻语气、情感、方言形象克隆:通过照片/视频建模,生成动态3D数字人,表情自然,动作流畅智能口型同步引擎AI算法精准匹配唇形与语音,实现口型同步0门槛SAAS化操作无需专业设备,网页端一键生成数字人视频海量模板库:电商
牛客练习赛135——小柒的逆序对(2)
KyollBM
算法数据结构
这里还得说一下,调换一个排列中任意两个不同的数,该排列的逆序数奇偶会改变题目:思路:这道题的数据给的很大,如果我们用树状数组维护前缀和都没用,但是我们观察到英文字符只有26个,那我们可以开一个二维数组g[i][j]表示ij字符对有多少个如何维护这个数组呢,其实也很简单,遍历s每个字符c,同时开一个数组储存26个字符对于字符c,先遍历26个字符y,将g[y][c]加上y的个数,结束后再将c的数量加一
强化学习-Chapter2-贝尔曼方程
Rsbs
算法机器学习概率论
强化学习-Chapter2-贝尔曼方程贝尔曼方程推导继续展开贝尔曼方程的矩阵形式状态值的求解动作价值函数与状态价值函数的关系贝尔曼方程推导Vπ(s)=E[Gt∣St=s]=E[rt+1+(γrt+2+…)∣St=s]=E[rt+1+γGt+1∣St=s]=∑a∈Aπ(s,a)∑s′∈SPs→s′a⋅(Rs→s′a+γE[Gt+1∣St+1=s′])=∑a∈Aπ(s,a)∑s′∈SPs→s′a⋅(R
ruby的命令行选项
lizzywu
工具介绍ruby脚本编译器extensionshellcgi
ruby的命令行选项来源:LUPA开源社区发布时间:2007-06-2117:04版权申明字体:小中大文章来源于http://www.lupaworld.com请使用如下命令行启动Ruby解释器.ruby[option...][--][programfile][argument...]这里的"option"指下文将要提到的命令行选项中的一个。"--"则显式地表明选项字符串到此结束。"program
MySql数据库等级考试学习分享3(Day7)
weixin_53545579
学习
活动发起人@小虚竹想对你说:这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你参加为期14天的创作挑战赛!提醒:在发布作品前,请将不需要的内容删除。题目以下关于MySQL的叙述中,错误的是()。OA、MySQL为多种编程语
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发布消息