-
在Spring Boot中使用Docker在测试中进行高级功能测试
摘要:最近又学到了很多新知识,感谢优锐课老师细致地讲解,这篇博客记录下自己所学所想。 想更多地了解Spring Boot项目中的功能测试吗?这篇文章带你了解有关在测试中使用Docker容器的更多信息。 本文重点介绍在Spring Boot应用程序的功能测试期间应用一些最佳实践。我们将演示一种高级方法,该方
阅读全文
-
微服务架构中的Redis
摘要:了解如何将Redis与Spring Cloud和Spring Data一起使用以提供配置服务器,消息代理和数据库。 Redis可以广泛用于微服务架构中。它可能是少数流行的软件解决方案之一,你的应用程序可以通过许多不同的方式来利用这些解决方案。根据要求,它可以充当主数据库,缓存或消息代理。虽然它也是键
阅读全文
-
在并发Java应用程序中检测可见性错误
摘要:了解什么是可见性错误,为什么会发生,以及如何在并发Java应用程序中查找难以捉摸的可见性错误。这些问题你可能也遇到过,当在优锐课学习了一段时间后,我对这些问题有了一定见解,写下这篇文章和大家分享。 检测可见性错误的机会各不相同。在最佳情况下,可以在所有情况的90%中检测到以下可见性错误。在最坏的情况
阅读全文
-
每个Java开发人员都应该知道的4个Spring注解
摘要:这是每个Java开发人员都应该知道的最重要的Spring注解。感谢优锐课老师对本文提供的一些帮助。 随着越来越多的功能被打包到单个应用程序或一组应用程序中,现代应用程序的复杂性从未停止增长。尽管这种增长带来了一些惊人的好处,例如丰富的功能和令人印象深刻的多功能性,但它要求开发人员使用越来越多的范例和
阅读全文
-
JVM中的动态语言支持简介
摘要:抽丝剥茧 细说架构那些事——【优锐课】 从版本6开始,JVM已扩展为支持现代动态语言(也称为脚本语言)。Java8的发行为这一领域提供了更多动力。感到这种支持的必要性是因为Java作为一种语言固有地是静态类型的。一切都在编译时决定。另一方面,动态语言的行为是在运行时定义的。结果,JVM对Java的支
阅读全文
-
深入探索Java设计模式(五)之构建器模式
摘要:抽丝剥茧 细说架构那些事——【优锐课】 简单的程序不需要大量的设计过程,因为它们只关注有限的解决方案,仅使用几个类。大型程序专注于广泛的设计,该设计比好的设计范例的任何其他属性都更能利用可重用性。宏伟的想法不仅是为当前问题提供解决方案,而且是创建一种设计,为将来的变化奠定基础。复杂的程序需要数千行代
阅读全文
-
深入探索Java设计模式(四)之享元模式
摘要:享元模式适用于需要大量相同类型对象的情况。在此,设计布局可以减少创建多个对象的方式。对象在运行时会消耗资源,因此最好在内存中使用较少的对象。它减少了内存占用并利用了程序的整体性能。本文是在学习完优锐课JAVA架构VIP课程—【框架源码专题】中《学习源码中的优秀设计模式》后写下的学习感悟。通过Java
阅读全文
-
深入探索Java设计模式(三)之装饰器模式
摘要:抽丝剥茧 细说架构那些事——【优锐课】 装饰器模式使你可以在运行时使用类似于对象组成的技术来装饰类。这在我们希望实例化具有新职责的对象而无需对基础类进行任何代码更改的情况下尤其有用。本文是在学习完优锐课JAVA架构VIP课程—【框架源码专题】中《学习源码中的优秀设计模式》后写下的学习感悟。探讨了这种
阅读全文
-
深入探索Java设计模式(二)之策略模式
摘要:抽丝剥茧 细说架构那些事——【优锐课】 策略设计模式是Java API库中常见的模式之一。这与另一个设计模式(称为状态设计模式)非常相似。本文是在学习完优锐课JAVA架构VIP课程—【框架源码专题】中《学习源码中的优秀设计模式》后写下的学习感悟。简要介绍了该思想,并提供了有关如何在Java中实现该思
阅读全文
-
深入探索Java设计模式(一)之单例模式
摘要:抽丝剥茧 细说架构那些事——【优锐课】 单例模式可确保在给定的时间实例中只能创建一个具有全局访问点的对象。这是面向对象编程中最常用的技术之一。尽管它很简单,但从类设计的角度来看可能是最简单的,但是在尝试实现它们之前,必须先解决一些细微的问题。本文是在学习完优锐课JAVA架构VIP课程—【框架源码专题
阅读全文
-
什么是Java优先级队列?
摘要:PriorityQueue是基于无界优先级队列和优先级堆构建的重要Java API之一。本文通过适当的代码示例深入了解了有关此API及其用法的一些复杂信息。另在上篇文章中我们简单地谈了下Java编译器API简介,你可以先阅读以方便更好地阅读这篇文章。感谢优锐课老师对我写下这两篇文章时给予的帮助。 总
阅读全文
-
Java编译器API简介
摘要:今天给大家分享的是Java编译器API简介,文章部分内容摘自【优锐课】学习笔记。 Java编译器API Java编译器API是Java模块(称为java.compiler)的一部分。该模块包括语言模型和注释处理,以及编译器API。它定义了Java编程语言和编译器工具的类型和模型声明,可以在执行期间从
阅读全文
-
深入探讨多态性及其在Java中的好处
摘要:多态是面向对象软件的基本原理之一。该术语通常表示可以具有多种形式的事物。在面向对象的方法中,多态使编写具有后期绑定引用的程序成为可能。尽管在Java中创建多态引用很容易,但其背后的概念对整体编程产生了更深远的影响。本文结合在优锐课学习到的知识点,探讨了有关多态性及其对面向对象编程的影响的一些复杂细节
阅读全文
-
使用Spring Boot和AspectJ实现方法跟踪基础结构
摘要:了解如何使用Spring Boot和AspectJ实现方法跟踪基础结构!最近在优锐课学习收获颇多,记录下来大家一起进步! 在我们的应用程序中,获取方法的堆栈跟踪信息可能会节省很多时间。具有输入输出参数值和方法所花费的时间可以使查找问题变得更加容易。在本文中,我们将研究如何使用Spring Boot,
阅读全文
-
可扩展的Java线程池执行器
摘要:分享一下最近优锐课学习笔记。 Java线程池执行程序偏向于排队而不是产生新线程。从好的方面来说,我们有两种解决方法。 理想情况下,对任何线程池执行程序而言,期望如下: 预先创建了一组初始线程(核心线程池大小)来处理负载。 如果负载增加,则应创建更多线程来处理最大线程数(最大池大小)的负载。 如果线程
阅读全文
-
Java并发:线程限制
摘要:最近又学到了很多新知识,感谢优锐课老师细致地讲解,这篇博客记录下自己所学所想,也和大家分享、了解有关Java中的并发问题和线程限制的更多信息。 在此文中,我们将探讨线程限制,它的含义以及如何实现。因此,让我们直接研究它。 线程限制 大多数并发问题仅在我们希望在线程之间共享可变变量或可变状态时才会发生
阅读全文
-
分享和探讨——如何测试Java类的线程安全性?
摘要:缺乏线程安全性导致的问题很难调试,因为它们是零星的,几乎不可能有意复制。你如何测试对象以确保它们是线程安全的? 我在最近的学习中和优锐课老师谈到了这个问题。现在,是时候以书面形式进行解释了。线程安全是Java等语言/平台中类的重要素质,我们经常在线程之间共享对象。缺乏线程安全性导致的问题很难调试,因
阅读全文
-
适用于Java开发人员的SOLID设计原则简介
摘要:看看这篇针对Java开发人员的SOLID设计原则简介。抽丝剥茧,细说架构那些事——【优锐课】 当你刚接触软件工程时,这些原理和设计模式不容易理解或习惯。我们都遇到了问题,很难理解SOLID + DP的思想,甚至很难正确实施它们。确实,“为什么要SOLID?”的整个概念,以及如何实施设计模式,这需要时
阅读全文
-
在5分钟内将Spring Boot作为Windows服务启动
摘要:分享优锐课学习笔记~来看一下如何使用Spring Boot创建Windows服务以及通过配置详细信息来快速启动并运行。 最近不得不将Spring Boot应用程序部署为Windows服务,感到惊讶的是使用winsw如此容易。 入门 Spring Boot文档的第59节是关于安装Spring Boot
阅读全文
-
Redis中的Java分布式缓存
摘要:为什么在分布式Java应用程序中使用缓存?今天学习了两节优锐课讲解分布式缓存的内容,收获颇多,分享给大家。 在提高应用程序的速度和性能时,每毫秒都是至关重要的。例如,根据Google的一项研究,如果网站在3秒或更短时间内无法加载,则有53%的移动用户会离开该网站。 缓存是使你的分布式应用程序更快的最
阅读全文
|