推荐学java 推荐学java
2年前
一文回顾 Java 入门知识(中)
前言上周发表了推荐学java系列第一篇,内容零基础小白也能看得懂,今天这篇内容就比较多,也是比较重点的内容,小编会先上一个思维导图,有助于大家理解每个知识点和层次结构。知识导图说明:这部分内容可以说是真正进入编程的视界了,因为已经牵扯到逻辑和思维了。首先是最最基础的Java编码写法规则和结构,比如导图里的:运算符、流程控制语句、循环、数组和方法这些内
Easter79 Easter79
3年前
spring上下文的异步Event事件
在实际开发中,我们经常会需要做一件事:在完成某一个动作之后,需要另外以同步或者异步的方式去通知另外的对象去完成额外的操作,比如:当用户下单成功之后,需要发异步消息到给到邮件系统发邮件(短信)通知用户。(这里就涉及到异步消息的概念)消息队列是我们用来解决系统与系统之间异步与解耦的极佳实践工具,而在应用内部这个级别上,有时候也会需要这样的异步消息通知机制
Souleigh ✨ Souleigh ✨
4年前
实现深拷贝的多种方式
实现深拷贝的多种方式简单来说,深拷贝主要是将另一个对象的属性值拷贝过来之后,另一个对象的属性值并不受到影响,因为此时它自己在堆中开辟了自己的内存区域,不受外界干扰。浅拷贝主要拷贝的是对象的引用值,当改变对象的值,另一个对象的值也会发生变化。1.简单深拷贝(一层浅拷贝)①for循环拷贝//只复制第一层的浅拷贝javascriptfunc
Wesley13 Wesley13
3年前
Java并发基础05. 传统线程同步通信技术
先看一个问题:有两个线程,子线程先执行10次,然后主线程执行5次,然后再切换到子线程执行10,再主线程执行5次……如此往返执行50次。看完这个问题,很明显要用到线程间的通信了,先分析一下思路:首先肯定要有两个线程,然后每个线程中肯定有个50次的循环,因为每个线程都要往返执行任务50次,主线程的任务是执行5次,子线程的任务是执行10次。线程间通信
Stella981 Stella981
3年前
RabbitMQ实战:界面管理和监控
本系列是「RabbitMQ实战:高效部署分布式消息队列」书籍的总结笔记。上一篇总结了可能出现的异常场景,并对RabbitMQ提供的可用性保证进行了分析,在出现服务器宕机后,仍然可以正常服务。另外,需要尽快恢复异常的服务器,重新加入集群,推送未消费的消息,通过监控可第一时间接收到错误并进行处理。另外,我们想主动了解消息堆积和消费的情况,以及服务器节
Wesley13 Wesley13
3年前
unittest参数化
在写case的时候,如果用例的操作是一样的,就是参数不同,比如说要测一个登录的接口,要测正常登录的,黑名单用户登录的,账号密码错误等等,在unittest里面要写多个case来测试。这样的情况只是调用接口的时候参数不一样而已,再写多个case的话就有点多余了,那怎么办呢,就得把这些参数都写到一个list里面,然后循环去执行这个case,这样就可以省去写多
Wesley13 Wesley13
3年前
Kafka是什么,JMS是什么,常见的类JMS消息服务器,为什么需要消息队列(一)
1、Kafka是什么ApacheKafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目。 Kafka最初是由LinkedIn开发,并于2011年初开源。2012年10月从ApacheIncubator毕业。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。
Stella981 Stella981
3年前
Notification使用详解之二:可更新进度的通知
上次和大家分享了关于Notification的基础应用,包括简单的通知和自定义视图的通知。今天和大家分享一下如何实现一个可更新进度的通知。我们将会模拟一个下载任务,先启动一个线程负责模拟下载工作,在这个过程中更新进度信息,然后下载线程把最新的进度信息以消息的形式,发送到UI线程的消息队列中,最后UI线程负责根据最新的进度信息来更新进度通知的UI界面。
Wesley13 Wesley13
3年前
ActiveMQ
1前言前一篇介绍了JMS有两种通信模型,一种是点对点通信,另一种是发布/订阅模型,本篇将会继续探讨这两种模型。本篇文章需要按照严谨的实验顺序才能获得相同的结果,这是因为消息持久化和持久订阅这两个特性的原因,在文章结尾和下一篇文章会做解答。\\所有的实验在启动之前都必须到管理后台删除相关的队列或者topic,否则数据也可能不同\\在A
Stella981 Stella981
3年前
Junit 单元测试编写注意事项记录
在公司项目开始的阶段由于准备不完善和个人能力不足,忽略了编写正规的单元测试的好处,所以在长达一年的时间里,项目在上线前的构建过程中其实是没有跑过测试的,在项目上线的最初几个月里,由于项目功能涉及的方面较少,所以可以轻松的确保上线代码不存在严重的问题。随着项目涉及的方面逐渐扩大,没有正规的测试架构的问题逐渐显现出来,我还记得一次由于spring循环注入导致