- 第30周Java分布式入门 ThreadLocal
kill bert
java学习java分布式wpf
ThreadLocal课程笔记一、章节结构概述本章主要学习重要的工具类ThreadLocal。章节分为六大模块:ThreadLocal的两大使用场景ThreadLocal所带来的好处ThreadLocal的主要方法及使用顺序ThreadLocal原理源码分析使用ThreadLocal的注意点和使用规范从下一个小节开始,将逐一展开这六大模块的内容。二、两大使用场景场景一:每个线程需要一个独享的对象背
- Windows上安装 Python 环境并配置环境变量 (超详细教程)
Lyh1gguyg
python
一、下载Python安装包访问官网打开浏览器,进入Python官方下载页面:https://www.python.org/downloads/windows/选择版本推荐选择最新稳定版(如Python3.12.x),点击DownloadWindowsinstaller(64-bit)(64位系统)或DownloadWindowsinstaller(32-bit)(32位系统)。如果
- 内存泄漏以及ThreadLocal问题
ThisIsMirror
javajvm
内存泄漏:程序申请内存后,无法释放已经申请的内存,导致内存持续增长,引起系统性能下降。核心问题:该释放的内存,无法释放。常见内存泄漏场景:强引用一直未解除,当对象被强引用时,即使不再需要,也无法被GC回收。比如集合不断添加元素但未清理。publicclassLeakyService{privateListcache=newArrayList{ThreadLocaltl=newThreadLocal
- PosstgreSQL安装test_decoding-1.0版本插件
树下一少年
运维日常数据库postgresqltest_decoding运维插件
1.本文以解决此问题postgres=#CREATEEXTENSIONtest_decoding;ERROR:couldnotopenextensioncontrolfile"/usr/pgsql-13/share/extension/test_decoding.control":Nosuchfileordirectory2.cd到extension目录cd/usr/local/postgresq
- CI/CD(四) docker-compose 安装harbor
qq_41369135
ci/cddocker容器harbor
一、部署Harbor1、下载安装包#下载离线安装包(以v2.9.1为例)HARBOR_VERSION="v2.9.1"wgethttps://github.com/goharbor/harbor/releases/download/${HARBOR_VERSION}/harbor-offline-installer-${HARBOR_VERSION}.tgz#解压到/opt目录sudotarxvf
- CI/CD(五) 安装helm
qq_41369135
ci/cdnginx运维helm
一、安装Helm客户端方法1:通过脚本自动安装(推荐)curl-fsSL-oget_helm.shhttps://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3chmod700get_helm.sh./get_helm.sh说明:此脚本会自动下载最新Helm二进制文件并安装到/usr/local/bin目录。适用于Linux/
- python安装教程
ZCY5202015
python开发语言
以下是Python在Windows系统下的详细安装教程,整合了最新及主流安装方法:一、下载Python安装包访问官网打开浏览器进入Python官网,点击顶部菜单栏的Downloads,根据系统自动推荐版本下载最新安装包。若需旧版本(如Windows7系统),需在Lookingfor…中搜索指定版本(如3.8.2)。选择安装包Windows用户选择Windowsinstall
- vue3中进行本地存储,读取与删除
水水不水啊
Web开发语言javascriptvue
在Vue3中,可以使用浏览器提供的localStorage或sessionStorage来进行本地存储。具体步骤如下:在Vue组件中,可以通过以下方式来设置localStorage:localStorage.setItem('key','value');其中,key为存储的键名,value为存储的值。在Vue组件中,可以通过以下方式来获取localStorage中的值:localStorage.g
- vue3+element plus 从入门开始
zxb11c
C#.netcorevue.jsjavascript前端
当你需要ChatAI服务但无法魔法或没有海外手机号码时,Chat8就是你的解决方案。我们基于OpenAi开发,所有用户内容都会加密,欢迎使用!点击使用:https://chat.chat826.com/#/register?bronk_on=3756711,安装nodejs环境安装包下载:http://nodejs.cn/download/https://nodejs.org/zh-tw/down
- 若依项目中使用redis做缓存,引入工具类
Ferry.
缓存redisspringboot
文章目录1.导入坐标2.yml配置redis3.redis配置文件RedisConfig4.Redis使用FastJson序列化5.redis工具类RedisCache6.如何使用redis工具类1.导入坐标org.springframework.bootspring-boot-starter-data-redis2.yml配置redisredis:#地址host:localhost#端口,默认为
- MySQL 关于 zip安装
lyz3191919
mysql
MySQL关于zip安装、下载zip安装包1、MySQL官网下载地址:MySQL::MySQLCommunityDownloads2、直接下载或选择其他版本下载。2、解压到自定义的安装目录3、(可跳过)配置环境变量4、新建并配置my.ini文件(要在刚刚解压后的目录下新建)在比较新的版本,下载的zip中是没有my.ini文件的,需要自己新建一个my.ini。(my.ini是MySQL的一些配置,比
- MacBook 使用笔记(一):在 MacBook 上安装并配置 HomeBrew + Docker + Python
death_knights
dockerpythonmacos
在MacBook上安装并配置HomeBrew+Docker+Python文章目录在MacBook上安装并配置HomeBrew+Docker+Python安装HomeBrew安装本地Python安装Pyenv使用Pyenv安装Python安装容器Python安装Docker使用Docker下载Python镜像安装HomeBrew1打开终端,输入以下命令,按脚本提示安装,非常简单#下载脚本并使用zsh
- python基础之--人机大战,编程思维
向测开进阶
python大数据
importpygameimporttime#循环里面要sleep一下,不然一会儿就将内存占满了frompygame.localsimport*#检测键盘importrandomimportsys#退出系统#动态的项目,先截个静态图来分析:化动为静,化难为易,一个西瓜切成块,再拼接起来#拿到一个大项目,首先把项目的各个元素分成一个个的对象,确定对象具备的属性,方法,然后再组装成为一个项目#玩家类:
- dockerfile tomcat用例
大山运维
tomcatjava
#使用官方的CentOS基础镜像FROMcentos:7#维护者信息LABELmaintainer="your-email@example.com"#安装必要的软件包和工具RUNyum-yupdate&&\yum-yinstallwgettargzipjava-1.8.0-openjdk-devel&&\yumcleanall#设置环境变量ENVCATALINA_HOME/usr/local/to
- K8S学习之基础四十九:dns只能解析短域名问题
云上艺旅
K8S学习kubernetes学习容器云原生elasticsearch
之前遇到一个问题,kibana看不到es日志,通过后台查询发现解析不到es的完整主机名通过dig测试发现只能解析短域名,无法解析全域名通过排查发现pod中的/etc/resolv.conf中都有localdomain,大概路是这个问题引起,手工删除后测试,长短域名均可解析解决办法:暴力解决:手工修改服务器的/etc/resolv.conf,注释#searchlocaldomain锁定resolve
- MacBook 如何让外接鼠标滚动方向与 Windows 一致,而触摸板保持默认?
Joyner2018
计算机外设windowsmacos鼠标
如果你刚从Windows电脑切换到MacBook,可能会发现一个让人困惑的小细节:鼠标滚动方向和Windows是相反的!MacBook默认采用"自然滚动"(NaturalScrolling),它模拟了触摸屏的交互逻辑,比如你在iPhone或iPad上滑动网页的方式。但问题来了——如果你使用外接鼠标,MacBook不会区分鼠标和触摸板,默认情况下,两者的滚动方向都是一样的。这就导致一个尴尬的问题:要
- ThreadLocal
重生之我在成电转码
javajvm开发语言多线程
一、什么是ThreadLocalThreadLocal是Java提供的线程本地变量(ThreadLocalVariable)机制:作用:给每个线程分配一份独立的变量副本,互不干扰,避免多线程环境下的共享冲突问题。特点:同一个ThreadLocal变量,在不同线程中有不同的值(隔离性)。本质:每个线程内部有个ThreadLocalMap,ThreadLocal作为key,自己存自己的值。二、核心使用
- minio数据迁移
Daydreamer .
服务器miniominio
使用MinIOClient(mc)工具实现跨服务器的存储桶数据复制一、安装MinIOClient在源服务器或本地机器上安装mc:wgethttps://dl.min.io/client/mc/release/linux-amd64/mcchmod+xmcsudomvmc/usr/local/bin/二、配置MinIO服务器别名添加源服务器配置(假设源服务器地址为http://source-mini
- 每日一题洛谷P10899 [蓝桥杯 2024 省 C] 劲舞团c++
wen__xvn
蓝桥杯洛谷c++开发语言蓝桥杯
https://www.luogu.com.cn/fe/api/problem/downloadAttachment/jhqdki17#include#includeusingnamespacestd;intmain(){charS,A;unsignedlonglongT;vectors;vectora;vectort;while(cin>>S>>A>>T){s.push_back(S);a.pu
- 8.函数定义与使用
恸流失
Python学习基础python开发语言pycharm
一.定义函数必备参数默认参数不定长参数return返回值文本文档print与return的区别其他用法传参二.匿名函数基本用法单参数函数无参数函数作为参数传递列表推导式与函数式编程三.作用域全局变量与局部变量global()函数nonlocal()函数一.定义函数语法格式:def函数名():执行语句#函数作用函数名()#调用函数print(函数名)#输出函数名的储存代码,内存地址参数分为:1.形式
- 容积卡尔曼滤波
传感器研习社
多维容积卡尔曼滤波(CKF)的函数https://download.csdn.net/download/irving8/5669329CKF.m容积卡尔曼滤波在室内定位技术中的应用https://download.csdn.net/download/qq_43706643/11739147容积卡尔曼ckf——基站测距定位解算https://download.csdn.net/download/qq
- Python从入门到精通14天(eval、literal_eval、exec函数的使用)
ProgramStack
Python从入门到精通python开发语言numpy
eval、literal_eval、exec函数的使用eval函数literal_eval函数exec函数三者的区别eval函数eval()是Python中的内置函数,它可以将一个字符串作为参数,并将该字符串作为Python代码执行。它的语法格式为:eval(expression,globals=None,locals=None)expression参数:表示要执行的Python代码的字符串表示形
- npm error 404 Not Found - GET https://registry.npmjs.org/.../throttle-debounce-3.0.1.tgz
雾林小妖
VUE实战npm前端node.jsnodejs安装
1、问题概述?在运行vue工程命令npminstall的时候,报错如下信息:npmerrorcodeE404npmerror404NotFound-GEThttps://registry.npmjs.org/throttle-debounce/download/throttle-debounce-3.0.1.tgznpmerror404npmerror404'throttle-debounce@h
- 前端面试题100题:问答精选与简明解析
薛飞之
前端react.jsjavascript前端框架
HTML5有哪些新特性?语义标签(如,),多媒体标签(如,),离线存储(localStorage,sessionStorage),新的表单控件(如,)。CSS3有哪些新特性?边框圆角(border-radius),阴影(box-shadow,text-shadow),渐变(linear-gradient,radial-gradient),弹性盒模型(flexbox),媒体查询。JavaScript
- iVX开发中整理的常见问题与回答(三)
Zero-code Fighter
iVX论坛低代码ivxmysql数据库服务器开发语言编辑器
如何使用第三方软件连接私有部署后的mysql数据库进行增删查改内容1服务器登录MySQL数据库mysql-uroot-ppasswordusemysql2登录成功后,查询MySQL数据库是否允许远程ip访问;selecthost,userfromuser;3添加远程访问权限;//查看user表的root用户Host字段是localhost,说明root用户只能本地登录,现在把他改成远程登录upda
- Java 安装开发环境(Mac Apple M1 Pro)
阿汤哥的程序之路
Javajavamacospython
下载JavaDownloads查看本地安装的JDK所在位置以及JAVA版本系统默认的安装处/Library/Java/JavaVirtualMachines配置Java添加环境变量vim~/.bash_profileAdd#安装位置exportJAVA_11_HOME="/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home"expo
- Mac 下编码转换 -- 解决从 GBK 到 UTF-8 文件编码问题
SheepCore
etcLinux编码问题
MacBook如何解决编码转换问题I.intro痛点:最近刚换的macbook-pro,总体使用还是挺流畅的。唯一不太友好的一点就是,有的时候下载的文件或别人传给我的文件经常会出现乱码。当时,心情就不好了,WTF?!所以现在写个小博客记录?一下下,免得每次都去找命令,查网页翻。II.GetStarted 一般说来Window上默认是GBK编码格式(即国标码GB),正式的名字叫汉字编码字符集(Chi
- macbook terminal 修改默认打开位置
Anita-Sun
git和github的基本使用github
编辑.bashrc文件vim~/.bashrc用cd修改比如:cd~/Desktop/
- Service Worker 实现离线应用思路
诚诚程程成
前端前端
1背景本地运行一个vue项目,界面如下:使用ServiceWorker对其进行缓存,预期在停止运行项目时(模拟离线场景)也能够正常访问项目2缓存的资源分析检查network,浏览器访问:http://localhost:5173/时,获取的资源需要包含如下,才能正常展示界面:HTML文件JS文件CSS文件3index.html内容ViteAppCardTitleThisisasimplecardw
- 2011-2020年 北京大学数字普惠金融指数(PKU-DFIIC)
小王毕业啦
大数据人工智能数据挖掘数据分析大数据社科数据毕业论文深度学习
2011-2020年北京大学数字普惠金融指数(PKU-DFIIC).ziphttps://download.csdn.net/download/2401_84585615/90214715https://download.csdn.net/download/2401_84585615/90214715北京大学数字普惠金融指数(PKU-DFIIC)是由北京大学数字金融研究中心编制的一套全面反映中国数
- 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发布消息