Java: 反射
注意,以下所有内容均为个人理解,且仅为简单阐述个人观点,如有错误欢迎指正!
一句话解释反射?本质就是,主动获取一个类的各种信息的行为
不用管是如何获取到信息的,我们只用管是否确实获取了类的信息就行了
谁在执行这个行为?jvm。
应该吧,因为我感觉idea能够动态检查类中是否有指定成员也是反射吧?因为idea运行期间jvm也在运行嘛,idea能够动态检查类中是否有成员,本质上应该也是通过jvm获取了类的成员数组,idea再从数组中检查是不是真有这个成员,以此来判断编写者是否出错。
为什么是主动?因为有需求,才会想着主动满足需求。
假如我自定义了一个类,但是这个类既没有被引用也没有被实例化,那么对于jvm来说这个类有用吗?肯定是没用意义的,因为jvm没用到这个类,jvm事实上对这个类没有需求,所以jvm不会想主动了解这个类。
但是如果我用这个类实例化了一个对象,并且用这个类调用了其中的成员方法,而此时jvm需要执行该方法,那么此时jvm对这个类有需求吗?显而易见地有需求,那么jvm才会想着主动获取这个类的一些信息。
获取哪些信息?强大如他,可以获取的信息有如类的名字,类中成员的名字,成员的 ...
RabbitMQ的基础配置及使用
注意,以下所有内容均为个人理解,且建立在具体的场景上,可能不适应所有情况
RabbitMQ可以在允许最终一致性的场景下,将高并发请求简单化,也就是将高并发的请求处理成一条有序的消息队列,每一个请求都可以看作是一条消息,服务接口会绑定这条队列,按照消息进队列顺序依次处理消息
用在订单服务这种用户不需要立刻拿到反馈的场景简直绝配。
工作流程1.生产者(Publisher)生产消息,通过一条长连接将消息送到消息代理(Broker)
2.消息由消息头和消息体组成,其中消息体中包含了一个路由(route-key),决定着该消息会进入哪一个队列
3.消息代理先接收消息,再将将消息送到交换机
4.交换机通过消息的消息头包含的key-route,将消息送入对应的队列
5.消费者(Consumer)通过一条长连接与消息代理连接
6.消费者中的不同服务通过不同的信道,监听并接收不同队列的消息
几种交换机1.director:点对点模式,使用route-key绑定队列,并且route-key精确匹配
2.headers:点对点模式,属于JMS的一种,已淘汰
3.fanout:广播模式,交换机中所有队列都会收 ...
java三个月:从入门到门长腿跑了
算上今天,学java也学了三个月了,感觉还是没啥实感,怎么这么快呢?
“我怎么会学java呢?”实话实说,在正式学java之前,java给我的印象一直是跟风狗、卷、带专哥最爱,当然我学了之后这个刻板印象狠狠地又加深了😂,反正我也是跟风学的java,我就是跟风狗呗?跟风的起因是6月7月份的时候,看见群里水友老是“搓mall搓mall”啥的,我寻思mall是什么玩意,就去搜了,想着自己能不能搞一个出来,然后那天是7月24号,一个无风的傍晚,我对着网上随便招的一个教程干瞪眼,一直持续到晚上吃完饭,我终于理解了,这是一个坑,还是天坑。
不过好在我立刻就意识到这个项目的语言:java,这个东西以前就整过我,所以我一直对其抱有一种微妙的情绪。我依稀记得小时候为了玩mc,装环境装了一个下午,您能理解一个小学生对着一大堆英文无数次试错吗?总之在此之后java就成了一个背景板的玩意,只要有人问起我就知道,哦java就是写mc的,更多一点我会告诉人这似乎是一款编程的东西,再多一点我就不知道了,反正上大学了,mc也玩的少了,java对我来说也变成了一个可有可无的东西,并且我还非常乐意去看别人有关java已 ...
docker的安装及使用
由于项目的数据库和中间件都会部署在linux系统上,所以使用docker这一工具。
docker的安装如果嫌麻烦,可以直接安装最新版本
12sudo apt updatesudo apt install docker-ce docker-ce-cli containerd.io
安装指定版本可以参考:如何在 Ubuntu 20.04 上安装和使用 Docker
docker的运行及配置运行docker1systemctl start docker
查看docker现有的镜像1docker images
设置docker开机自启动1systemctl enable docker
容器开机自启动1docker update ($docker ps -a -q) --restart=always
配置下载地址docker的配置最主要就是配置下载地址,选用国内的阿里云镜像下载地址,依次执行:
1234567sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json<<-'EOF' { ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment