liululee的博客

闲话技术,大笑人生

Java并发之线程封闭

Java并发之线程封闭 读者们好! 在这篇博客中,我们将探讨线程封闭是什么意思,以及我们如何实现它。 所以,让我们直接开始吧。 1. 线程封闭 大多数的并发问题仅发生在我们想要在线程之间共享可变变量或可变状态时。如果在多个线程之间操作共享变量,则所有线程都将能够读取和修改变量的值,从而出现意...

2019-07-16 10:36:53

阅读数 4

评论数 0

Java中的关键字synchronized

1. 介绍 在Java并发系列的文章中,这个是第二篇文章。在前面的一篇文章中,我们学习了Java中的Executor池和Excutors的各种类别。 在这篇文章中,我们会学习synchronized关键字以及我们在多线程的环境中如何使用。 2. 什么是同步? 在一个多线程的环境中,多个线程同时访问...

2019-07-12 09:42:20

阅读数 6

评论数 0

Java并发框架:Executor

介绍 随着当今处理器中可用的核心数量的增加, 随着对实现更高吞吐量的需求的不断增长,多线程 API 变得非常流行。 Java 提供了自己的多线程框架,称为 Executor 框架. 1. Executor 框架是什么? Executor 框架包含一组用于有效管理工作线程的组件。Executor A...

2019-07-09 09:17:59

阅读数 10

评论数 0

消息驱动式微服务:Spring Cloud Stream & RabbitMQ

1. 概述 在本文中,我们将向您介绍Spring Cloud Stream,这是一个用于构建消息驱动的微服务应用程序的框架,这些应用程序由一个常见的消息传递代理(如RabbitMQ、Apache Kafka等)连接。 Spring Cloud Stream构建在现有Spring框架(如Spring...

2019-07-08 09:31:35

阅读数 113

评论数 0

JVM中的本机内存跟踪

1.概述 有没有想过为什么Java应用程序通过众所周知的-Xms和-Xmx调优标志消耗的内存比指定数量多得多?出于各种原因和可能的优化,JVM可以分配额外的本机内存。这些额外的分配最终会使消耗的内存超出-Xmx限制。 在本教程中,我们将列举JVM中的一些常见内存分配源,以及它们的大小调整标志,然后...

2019-07-06 18:14:25

阅读数 12

评论数 0

性能监控: SPF4J介绍

1. 总体介绍 性能测试是一项在软件生命开发周期中总是被置于最后一环的活动。我们经常依靠 Java profilers 去帮助发现性能问题。 在这篇文章中,我们将会学习关于 Java 的简单性能测试框架 - SPF4J。它提供了可以加在我们代码中的 API。因此,我们可以将 性能监视变为我们组件的...

2019-07-05 09:39:10

阅读数 21

评论数 0

Spring Batch 入门级示例教程

我将向您展示如何使用Spring Boot创建一个的Spring Batch的Hello World示例。 (循序渐进) 因此,如果您是Spring Batch的初学者,您一定会喜欢本指南。 准备好了吗? 如果您想了解更多关于Spring Batch的信息,请访问Spring Batch教程页面。...

2019-07-03 09:15:25

阅读数 19

评论数 0

Spring Boot Actuator 构建 RESTful Web 应用

Spring Boot Actuator 是 Spring Boot 的一个子项目。通过它,可以很轻易地为应用提供多种生产级服务。本教程中,你将通过构建一个应用来学习如何添加这些服务。 1. 你需要构建什么 本教程将带你使用 Spring Boot Actuator 创建一个 “hello wor...

2019-07-02 09:36:19

阅读数 12

评论数 0

回调“地狱”和反应模式

了解更多有关基于反应流的方法以及如何避免回调地狱的信息。 更好地理解基于反应流的方法的有用性的方法之一是它如何简化非阻塞 IO 调用。 本篇文章将简要介绍进行同步远程调用所涉及的代码类型。然后,我们将演示非阻塞 IO 中的分层如何高效使用资源(尤其是线程),引入了称为回调地狱带来的复杂性以及基于反...

2019-06-28 10:59:39

阅读数 16

评论数 0

Java动态规划

1. 介绍 动态规划典型的被用于优化递归算法,因为它们倾向于以指数的方式进行扩展。动态规划主要思想是将复杂问题(带有许多递归调用)分解为更小的子问题,然后将它们保存到内存中,这样我们就不必在每次使用它们时重新计算它们。 要理解动态规划的概念,我们需要熟悉一些主题: 什么是动态规划? 贪心算法 简...

2019-06-27 09:16:29

阅读数 42

评论数 0

ApplicationContextRunner如何简化自动配置测试

1. 概览 众所周知,自动配置是Spring Boot的关键功能之一, 但测试自动配置可能会很棘手。 在以下部分中,我们将展示ApplicationContextRunner如何简化自动配置测试。 2. 测试自动化配置方案 ApplicationContextRunner是一个实用程序类,它运行A...

2019-06-25 09:42:50

阅读数 26

评论数 0

Jest — ElasticSearch Java 客户端

1. 介绍 任何使用过Elasticsearch的人都知道,使用基于rest的搜索API构建查询可能是单调乏味且容易出错的。 在本教程中,我们将研究Jest,一个用于Elasticsearch的HTTP Java客户端。Elasticsearch提供了自己原生的Java客户端,然而 Jest提供了...

2019-06-24 09:23:10

阅读数 13

评论数 0

微服务之旅:从Netflix OSS到 Istio Service Mesh

在这篇文章中,我们从Netflix开始,通过Envoy和Istio的崛起,快速浏览微服务的历史. 微服务是具有边界上下文的松散耦合服务,使您能够独立开发,部署和扩展服务。它还可以定义为构建独立开发和部署的分布式系统的架构模式。 在微服务架构中处理服务之间的通信是一项挑战,因为它们需要在不可靠的网络...

2019-06-21 12:26:42

阅读数 14

评论数 0

如何排查Java内存泄漏?看完我给跪了!

没有经验的程序员经常认为Java的自动垃圾回收完全使他们免于担心内存管理。这是一个常见的误解:虽然垃圾收集器做得很好,但即使是最好的程序员也完全有可能成为严重破坏内存泄漏的牺牲品。让我解释一下。 当不必要地维护不再需要的对象引用时,会发生内存泄漏。这些泄漏很糟糕。首先,当程序消耗越来越多的资源时,...

2019-06-20 09:36:40

阅读数 41

评论数 0

Spring Security表单登录

1. 简介 本文将重点介绍使用Spring Security登录。 本文将构建在之前简单的Spring MVC示例之上,因为这是设置Web应用程序和登录机制的必不可少的。 2. Maven 依赖 要将Maven依赖项添加到项目中,请参阅Spring Security with Maven一文。 标...

2019-06-18 09:46:53

阅读数 20

评论数 0

Java 8 Collectors to Map

1. 介绍 在本教程中,我们将讨论Collectors类的toMap()方法。我们使用它将流收集到一个Map实例中。 对于本教程中涉及的所有示例,我们将使用图书列表作为数据源,并将其转换为不同的Map实现。 2. List 转换 Map 我们将从最简单的情况开始,将List 转换 Map。 Boo...

2019-06-17 09:50:51

阅读数 15

评论数 0

Java系统中如何拆分同步和异步

很多开发人员说,将应用程序切换到异步处理很复杂。因为他们有一个天然需要同步通信的Web应用程序。在这篇文章中,我想介绍一种方法来达到异步通信的目的:使用一些众所周知的库和工具来设计他们的系统。 下面的例子是用Java编写的,但我相信它更多的是基本原理,同一个应用程序可以用任何语言来重新写。 所需的...

2019-06-14 09:24:39

阅读数 16

评论数 0

Java模块解耦的设计策略

1. 概述 Java 平台模块系统 (Java Platform Module System,JPMS)提供了更强的封装、更可靠且更好的关注点分离。 但所有的这些方便的功能都需要付出代价。由于模块化的应用程序建立在依赖其他正常工作的模块的模块网上,因此在许多情况下,模块彼此紧密耦合。 这可能会导致...

2019-06-13 12:47:45

阅读数 32

评论数 0

Spring Data JPA 事务锁

1.概述 在本快速教程中,我们将讨论在Spring Data JPA中为自定义查询方法和预定义存储库的CRUD方法启用事务锁, 我们还将查看不同的锁类型并设置事务锁超时。 2.锁类型 JPA定义了两种主要的锁类型,即悲观锁和乐观锁。 2.1悲观锁 当我们在事务中使用悲观锁并访问实体时,它将立即锁定...

2019-06-11 10:47:07

阅读数 17

评论数 0

如何配置Spring Boot Tomcat

1.概述 Spring Boot Web应用程序默认包含预配置的嵌入式Web服务器。但在某些情况下,我们要修改默认配置以满足自定义要求。 在本教程中,我们将介绍通过application.properties文件配置Tomcat嵌入式服务器的一些常见用例。 2.常见的嵌入式Tomcat配置 2.1...

2019-06-10 11:37:46

阅读数 19

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭