- 主流IDE大横评:总有一款适合你
陳沉辰陈
资源分享ide
写给每一位在IDE选择上犯难的开发者:新手和老鸟都值得一看!还记得我刚开始学编程时,面对众多IDE的选择真是头疼不已。VSCode?IDEA?Eclipse?PyCharm?选择太多反而让人无从下手。如果你也有同样的困扰,那么这篇文章正是为你准备的!咱们一起来看看这些"神兵利器"各有什么独到之处吧!文中只列举了部分主流的IDE,一定会有疏漏。此外,科技发展日新月异,更多更好的编译器正在路上,欢迎补
- 【Spring Boot】3.@RequestParam和@RequestBody的不同&用法示例
卤小蛋学编程
SpringBoot&Springjavaspringboot
1.@RequestParam该标签用于接受请求头中的参数,该标签配置了四个参数:public@interfaceRequestParam{@AliasFor("name")Stringvalue()default"";@AliasFor("value")Stringname()default"";booleanrequired()defaulttrue;StringdefaultValue()d
- @RabbitListener或@RabbitHandler使用出现死循环
Youmans_station
javarabbitmq
异常1问题:为什么会找不到消费实现?@RabbitListener或@RabbitHandler配置出错很大原因是取决于content_type的配置和方法的形参。如果通过客户端放入队列中有个content_type为空的的消息,@RabbitListener只有形参为String的Handler,是无法对应上消费实现的。@RabbitHandler没有使用可选参数isDefault消费者找不到任
- @RabbitListener 每次重启抛出异常
木秀林
神奇的javabugrabbitmqspringboot线上问题
发现测试环境,每次重启都会抛出这个异常这个异常很明显是序列化异常,但是我的消息都是程序发出来的,不可能有错啊!!2022-03-2910:56:49[ERROR][dealer-content-platform][-1][default][10.140.1.74:8080][sky:N/A;][SimpleAsyncTaskExecutor-1][AbstractMessageListenerCo
- elementui树状菜单tree_Java + Element-UI 实现简单的树形菜单
weixin_39682301
一、简单入门级树形菜单实现(纯后台逻辑)1、简介(1)开发环境IDEA+JDK1.8+mysql1.8SpringBoot2.2.6+mybatis-plus此处仅后台开发(返回json数据),前台页面展示后续会讲解。(2)数据表如下,仅供参考,可以添加修改时间、创建时间、逻辑删除等字段。DROPDATABASEIFEXISTStest;CREATEDATABASEtest;USEtest;/*用
- eclipse的书签快捷键插件-Quickmarks plugin
springleft
eclipseduplicatesdocumentationkeyboardpluginsfile
eclipse编辑器增强工具之书签工具:插件主页:http://eclipse-tools.sourceforge.net/quickmarks/OverallQuickmarksareWorkspaceglobalbydefault,butyoucanchangethattohaveoneSetofQuickmarksperProject,FolderorDocument.AQuickmarkr
- 【檀越剑指大厂--RocketMQ】RocketMQ运维篇
Kwan的解忧杂货铺@新空间代码工作室
s总檀越剑指大厂java-rocketmqrocketmq运维
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kuan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,M
- ElementUi el-date-picker封装
柒柒兮
Elementvue
前言:由于el-date-picker返回的是一个数组且没有格式化,使用起来并不是很方便,所有个人稍微封装了下,写的不好,有问题请多指教!第一步新建vDatePicker.vueimport{ref,}from"vue";importutilsfrom"../utils/utils.js"//这边日期格式的代码就不展示了,这个比较简单哈exportdefault{props:{rangeName:
- idea或datagrip连接opengauss数据库
文杰一米八
opengaussJavaintellij-idea数据库java
1、使用pgsql来连接因为opengauss数据库基于pgsql实现,所以可以用pgsql的驱动来连接。但是连接的时候会报错。2、新建opengauss驱动所以在连的时候需要先建一个opengauss的driver。驱动文件可以在网上下载,也可以在pom里加上opengauss的依赖,org.opengaussopengauss-jdbc然后拉取jar。步骤如下:3、连接成功
- tomcat配置存放静态资源,实现网页访问并下载
qq_40711092
tomcatjava
配置server.xml在server.xml文件中的Host标签下嵌入一个Context标签,path是映射的web路径,doBase是本地磁盘的物理路径。-->-->设置tomcat允许访问静态文件夹,修改web.xml文件中如下图位置将false修改为truedefaultorg.apache.catalina.servlets.DefaultServletdebug0listingstru
- Jetbrains Ai Assistant插件越来越好用了
Ai 编码
Ai编码工具人工智能android
在IntelliJIDEA中,JetBrainsAI是JetBrains集成的人工智能功能,旨在提高开发效率,辅助开发者更智能地编写、优化和理解代码。JetBrainsAI作为IntelliJIDEA的一部分,通过自然语言处理和机器学习技术,提供了许多智能代码建议和自动化功能。点击这里:获取JetbrainsAiAssistant插件 以下是JetBrainsAI在IntelliJIDEA中的一
- Mysql之多表查询(几种连接方式)
知识进脑的肖老千啊
sqlmysql数据库sql
Mysql之多表查询(随手记录学习笔记)我们先建立两个表,并向表中插入数据(方便我们等会实验):#建表createtabledepartment(idint,namevarchar(20));createtableemployee(idintprimarykeyauto_increment,namevarchar(20),sexenum('male','female')notnulldefault
- 在Python中进行openAI接口调用
MartinGaoC
python开发语言人工智能DALL·E2文心一言gpt-3
在Python中进行openAI接口调用一、环境配置二、安装OpenAISDK三、新建一个index.py文件运行效果四、目前支持的模型列表写在最后一、环境配置确保已经安装了Python后安装pip命令python-mensurepip--default-pip卸载python-mpipuninstallpip查看是否安装成功pip--version二、安装OpenAISDK进入项目文件夹下,安装
- Lombok 在 IntelliJ IDEA 中的使用步骤
阿乾之铭
intellij-ideajavaide
Lombok是一个非常流行的Java库,它通过注解简化Java类的开发,特别是在处理POJO(PlainOldJavaObjects)类时,如生成getter、setter、toString等常用方法。Lombok在减少样板代码(boilerplatecode)方面非常有用。在IntelliJIDEA中使用Lombok插件,可以极大简化开发过程。1.安装Lombok插件要在IntelliJIDEA
- VUE+ Element-plus , el-tree 修改默认左侧三角图标,并使没有子级的那一项不展示图标
Jane - UTS 数据传输系统
vue.jsjavascriptelementui
exportdefault{data(){return{data:[{label:'Parent1',children:[{label:'Child1-1'},{label:'Child1-2'}]},{label:'Parent2'},{label:'Parent3',children:[{label:'Child3-1'}]}],defaultProps:{children:'children
- RocketMQ源码之消息刷盘分析
小虾米 ~
RocketMQrocketmq
前言刷盘是将内存中的消息写入磁盘,分为同步刷盘和异步刷盘。同步刷盘指一条消息写入磁盘才返回成功,异步刷盘指写入内存就返回成功,稍后异步线程刷盘。在创建CommitLog对象的时候,会初始化刷盘服务://代码位置:org.apache.rocketmq.store.CommitLogpublicCommitLog(finalDefaultMessageStoredefaultMessageStore
- 解决IDEA导入maven项目只有pom.xml
srevens
intellij-ideamavenxml
IDEA导入别人的maven项目时,出现项目栏只有一个pom.xml的情况。按照网上主流的方法解决:成功之后Module还是一片空白,依旧只有一个pom.xml。我的解决方法:创建一个NewModule,然后会自动弹出两个module,把新创建的删除,余下的就是我们需要导入的了。
- Android Studio 找不到 uploadArchives 入口
程思扬
Android记录androidstudioandroidide
在4.2之前版本的AndroidStudio中想要module打包arr,上传Maven我们只需要在对应module的build.gradle文件顶部添加applyplugin:'maven'然后每一次修改记得要修改版本号,相同版本号提交失败,是不会覆盖的defaultConfig{......versionName"1.0.0"//版本号...</
- 【Navicat+MySQL】 在Navicat内创建管理数据库、数据库表。
brhhh_sehe
面试学习路线阿里巴巴数据库mysqloracle
一、数据库1.创建数据库使用CREATE命令可以创建一个数据库。CREATEDATABASE[[DEFAULT]CHARACTERSET][DEFAULT]COLLATE];–DEFAULT:指定默认值–CHARACTERSET:指定数据库字符集(charset),其后的_字符集名_要用MySQL具体支持的字符集名称代替,如utf-8–COLLATE:指定字符集的校对规则,其后的_校对规则名_要用
- Idea内,光标显示问题
Leslie_Lei
Ideaidea
键盘误触导致光标显示为白色块解决方式任选其一键盘敲击Ins键(既insert键)Shift+0(数字零)
- 静态代理和动态代理学习
都要好好的O
java基础java动态代理静态代理
静态代理学习:目标对象和代理对象共同实现的接口packagestaticproxy;publicinterfaceTargetInterface{//说话的方法publicvoidsay();//吃饭的方法publicvoideat();}目标类packagestaticproxy;//目标对象publicclassTargetimplementsTargetInterface{@Override
- Vue 中插槽(Slot)用法
m0_74825656
vue.jsjavascript前端
Vue中插槽(Slot)用法(一)插槽用法概念(二)插槽的基本类型1.默认插槽(DefaultSlot)2.具名插槽(NamedSlots)3.作用域插槽(ScopedSlots)4.动态插槽名(DynamicSlotNames)5.插槽后备内容(SlotFallbackContent)6.Vue2.6.0之前与Vue2.6.0后的比对6.1默认插槽缩写(由不写变成v-slot)6.2具名插槽缩写
- mybatis学习(7/134)
一缕叶
学习
简单了解了一下maven,https://chatgpt.com/share/678bb629-bb4c-800c-8f3b-a41d298e5467,xml还是比较方便的,对于部署或者打包之类的,只需要配置对应的代码,idea会自动到对应的中央库中下载,还可以从国内的镜像去下载,mybatis需要配置对应的mysql-connetion-java,但是版本不要需要与sql的版本相同,我今天以为需
- superset初始化数据库报错记录:A Default SECRET_KEY was detected, please use superset_config.py
FL1623863129
环境配置windows
问题原因:看官方大概是这个,Superset需要用户指定的SECRET_KEY才能启动。为您的文件添加一个强有力的SECRET_KEY。解决办法:找到superset的lib目录,在lib目录下创建一个superset_config.py的文件。内容输入SECRET_KEY='YOUR_OWN_RANDOM_GENERATED_SECRET_KEY'其中YOUR_OWN_RANDOM_GENERA
- Golang 中强大的重试机制,解决瞬态错误
Ai 编码
Golang教程golang开发语言后端
文章精选推荐1JetBrainsAiassistant编程工具让你的工作效率翻倍2ExtraIcons:JetBrainsIDE的图标增强神器3IDEA插件推荐-SequenceDiagram,自动生成时序图4BashSupportPro这个ides插件主要是用来干嘛的?5IDEA必装的插件:SpringBootHelper的使用与功能特点6Aiassistant,又是一个写代码神器7Cursor
- 小白学JVM调优一: 三种场景模拟OOM获得dump文件
hinsss
Javajvmjavalinux
小白学JVM调优一:三种场景模拟OOM获得dump文件三种场景模拟OOM获得dump文件实操一.mac用idea启动main方法导致堆内存溢出,使用EclipseMemoryAnalyzer分析://VMoption:-Xms20m-Xmx20m-XX:+HeapDumpOnOutOfMemoryError//while循环往list对象中放对象publicclassHeapOOM{staticc
- vue+arcgis api for js实现地图经纬网格显示
小小弯_Shelby
地图知识点vue.jsarcgis
vue代码调用:import{gridLineLatLng}from'./js/mapGrids.js'exportdefault{mounted(){//显示经纬网格gridLineLatLng.currentMap=this.mapAndView//gridLineLatLng.isGetMapPageXmax=falsegridLineLatLng.init()},beforeDestroy
- ent.SetDatabaseDefaults()
yngsqq
CADC#二次开发数据库
在AutoCAD的.NETAPI中,ent.SetDatabaseDefaults()这句代码通常用于将一个实体(Entity)对象的属性设置为与其所在的数据库(Database)的默认设置相匹配。这意味着,该实体将采用数据库级别的默认颜色、图层、线型等属性,除非这些属性已经被显式地设置为了其他值。这里的ent是一个代表AutoCAD中实体的变量,它可能是Entity类或其任何子类的实例,如Lin
- RabbitMQ高级特性-消费端自定义监听
七夜丶雪
中间件分布式RabbitMQ消息队列RabbitMQRabbitMQ高级特性消费端自定义监听
消费端自定义监听在之前的代码演示中,consumer进行消费时,都是使用while循环进行消息消费,然后使用consumer.nextDelivery()方法获取下一条消息但是在实际工作中,使用自定义的Consumer更加的方便,解耦性也更加的强,实现自定义的Consumer可以实现Consumer接口,或者更常用的是继承默认的DefaultConsumer代码演示自定义消费者(替换Queuein
- vue3+ ts 全局数据加密实现
typescript前端
bootCryptoDecryptuseDesensitise//是否全局进行表格字段脱敏useDesensitise:{type:Boolean,default:true},constdesensitiseField=Object.keys(desensitiseFields).map((k)=>desensitiseFields[k]).flat();定义脱敏constdesensitiseF
- 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发布消息