自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AD_plus的博客

细说架构那些事,+V:ddmsiqi

  • 博客(159)
  • 收藏
  • 关注

原创 面试题解答系列:什么是Spring beans?解释Spring支持的几种bean的作用域

Spring bean 表示受到Spring管理的对象。具体说来,它是被Spring框架容器初始化、配置和管理的对象。Spring bean是在Spring的配置文件中定义(现在也可以通过annotation注解来定义),在Spring容器中初始化,然后注入到应用程序中的。因为在最早的版本中,Spring是被设计用来管理JavaBean的,所以Spring管理的对象会被称为“bean”。当然,现...

2019-07-31 17:16:52 5441 1

原创 架构知识使用Redis的分布式Java锁

通过优锐课核心java学习笔记中,我们可以看到,码了很多专业的相关知识, 分享给大家参考学习。了解有关分布式锁定以及如何在项目中实现它的更多信息!什么是分布式锁定?在多线程程序中,不同的线程可能需要访问相同的资源。但是,允许所有线程同时访问资源可能导致争用情况,错误和其他意外行为。为了确保没有两个线程可以同时访问同一资源,并确保以可预测的顺序对资源进行操作,程序员使用一种称为锁的机...

2020-04-09 11:49:11 371

原创 解决Java应用程序中的应用程序性能

如果你是Java开发人员,则可能需要听一些提示以保持应用程序的性能。在解决与NFR相关的问题(尤其是应用程序性能)时,我总是在思考为什么我们作为开发人员对性能的重视程度较低(总是存在荣誉例外)。这是由于缺乏认识吗?很多时候,我们仅在性能测试时或部署后才开始考虑性能。速度(速度)和体积(大小)的增加已影响到我们的日常生活:我们的手机已从2G变为4G,而40-80 GB的硬盘曾经是一种奢侈...

2020-04-08 11:11:11 407

原创 在Tomcat中混合密钥

通过优锐课核心java学习笔记中,我们可以看到,码了很多专业的相关知识, 分享给大家参考学习。深入了解Tomcat,了解如何创建自签名RSA密钥,ECDSA密钥,以及如何通过多次保留验证Tomcat。在上一篇博客文章中,我们研究了Tomcat 8.5+如何使用SNI将证书映射到请求的主机名。Tomcat 8.5+可以更进一步,并为每个主机支持多种证书类型。 这对于在较旧的浏览器中...

2020-03-27 11:09:30 367

原创 技术干货MySQL分片DevOps挑战

通过优锐课核心java学习笔记中,我们可以看到,码了很多专业的相关知识, 分享给大家参考学习。之前,我们讨论了MySQL分片的应用程序和设计挑战以及可能导致并影响你的业务灵活性的一些相应业务挑战。 但是,MySQL如何应对DevOps挑战呢?作为参考,以下是有关MySQL分片的简要说明:MySQL分片是将MySQL应用程序工作负载划分到多个不同的MySQL数据库服务器上的策略,从而允许查询...

2020-03-26 10:26:38 281

原创 什么是Maven? 使用Apache Maven构建和依赖项管理

什么是Maven? 使用Apache Maven构建和依赖项管理开始使用最流行的Java构建和依赖管理工具MavenApache Maven是Java开发的基石,也是Java使用最广泛的构建管理工具。 Maven简化的基于XML的配置模型使开发人员能够快速描述或掌握任何基于Java的项目的轮廓,这使得启动和共享新项目变得很容易。Maven还支持测试驱动的开发,长期项目维护,其声明性配置和广泛...

2020-03-18 15:21:46 569

原创 JVM和Docker默认设置中的陷阱

通过优锐课核心java学习笔记中,我们可以看到,码了很多专业的相关知识, 分享给大家参考学习。以下是JVM中Docker默认设置之间的一些常见陷阱。首先,有很多关于JVM和容器意识的文章:在本文中,我使用Java 11,这意味着垃圾收集器的默认值应该是G1GC! 让我们看一下默认值,JVM会根据内存大小和提供的CPU自动选择这些默认值。基于Docker CPU的默认GC$ docker ...

2020-03-16 15:19:00 259

原创 流行语之外:微服务模式的简要历史

通过优锐课核心java学习笔记中,我们可以看到,码了很多专业的相关知识, 分享给大家参考学习。探索过去的软件设计模式对微服务创建的影响介绍微服务是商业应用程序开发中的热门新事物。 微服务一词已取代敏捷,DevOps和RESTful,成为所有履历表和会议演讲都必须使用的热门新流行语。 但是微服务不只是一时的流行。 实际上,它们是所有这些先前概念的演变,并且这种方法已经开始显示出有望解决应用程序...

2020-03-16 14:44:35 319

原创 Java中的常见并发陷阱

优锐课java学习分享笔记1.简介在本教程中,我们将看到一些Java中最常见的并发问题。 我们还将学习如何避免它们及其主要原因。2.使用线程安全对象2.1. 共享对象线程主要通过共享对相同对象的访问进行通信。 因此,在对象变化时读取可能会产生意外的结果。 同样,同时更改对象可能会使它处于损坏或不一致的状态。我们避免此类并发问题并构建可靠代码的主要方法是使用不可变对象。 这是因为它们的状...

2020-02-25 11:05:03 216

原创 何时使用异步或同步AJAX

通过优锐课中的java学习提升,了解了很多干货知识。通常最好使用异步调用AJAX代表异步JavaScript和XML,是一项允许异步更新网页的技术,这意味着当页面上只有一小部分数据发生更改时,浏览器不需要重新加载整个页面。 AJAX仅将更新的信息传递到服务器或从服务器传递。标准的Web应用程序同步处理Web访问者和服务器之间的交互。 这意味着一件事情接连发生。 服务器不执行多任务。 如果单击...

2020-02-24 12:42:56 309

原创 详解--数据封装

在优锐课的java架构学习中,数据封装是使用对象编程时要掌握的最重要概念。 在面向对象的编程中,数据封装与以下方面有关:结合数据及其在一个地方的处理方式。 这是通过对象的状态(私有字段)和行为(公共方法)实现的。仅允许通过行为访问和修改对象的状态。 然后可以严格控制对象状态中包含的值。隐藏对象工作原理的详细信息。 外界可以访问的对象的唯一部分是其行为。 这些行为内部发生的事情以及...

2020-02-20 16:06:51 1908

原创 面试问题详解--了解Java中字符串的串联

通过优锐课的java架构学习中,学到了很多干货知识点,分享给大家参考学习。Java编程语言中的串联是将两个字符串连接在一起的操作。 你可以使用加法(+)运算符或字符串的concat()方法连接字符串。使用+运算符使用+运算符是连接Java中两个字符串的最常见方法。 你可以提供变量,数字或字符串文字(始终用双引号引起来)。例如,要组合字符串“我是”和“学生”,请输入:"I’m a" + "...

2020-02-19 14:45:29 361

原创 具有Spring Boot和MySQL的Docker:Docker Compose(第2部分)

通过优锐课的java的架构学习,特整理分享出本教程系列的第二部分演示了如何在Docker CLI和示例应用程序中使用docker-compose来运行多个容器。在上一篇文章中,我写了有关Docker,运行数据库所需的CLI命令以及Spring Boot应用程序的文章。 我们使用Dockerfile来设置环境并通过分别运行容器然后在它们之间建立链接来运行应用程序。 但是对于多个容器应用程序,我们可...

2020-02-07 16:01:49 311

原创 创建一个Maven原型

通过优锐课的java架构学习分钟中,整理了本教程,以了解如何从现有项目中创建Maven原型。 此人使用Eclipse IDE创建Maven项目Java面试必备之JVM+GC教程介绍很多时候,我们需要创建一个Maven原型来分发项目模板。 在本文的本文中,我将描述从现有项目创建Maven原型是多么容易。创建一个Maven项目首先,让我们创建一个非常简单的Maven项目。 我正在使用Ecli...

2020-02-06 16:21:21 367

原创 实用技能 使用Docker部署ELK

通过优锐课的java学习分享中,在本教程中,我们将了解如何使用这些工具来收集日志并通过Elasticsearch + Logstash + Kibana(又名ELK)对其进行管理。java面试必备之JVM+GC教程开发网络应用程序时,我喜欢参考十二要素应用程序建议。 他们处理应用程序日志的方法在第十一条“命令”中:它不应尝试写入或管理日志文件。 而是,每个正在运行的进程将其未缓冲的事件流写入...

2020-02-04 17:04:37 473

原创 用Java读取EDI数据

如今,大多数Java开发人员期望使用JSON来与其他系统和企业交换数据。但是,当无法使用JSON时会发生什么呢?容易忘记,还有其他格式的数据交换,其中一些更难处理。一种这样的格式称为EDI。EDI本身有多种风格(例如X12和EDIFACT),因此读取它的代码可能并不总是“一刀切”。特别期间通过优锐课在线的java分享中,了解了关于用Java读取EDI数据。受益匪浅,特整理出来供大家参考学习。...

2020-02-02 14:38:15 2970 1

原创 Netty:可能是世界上最好的包装结构

通过优锐课的java学习,在依赖项和包结构方面,Netty可能是首屈一指的。 看看是什么使它如此出色Netty的包装结构很棒。每个程序员都应该研究它。 每个系统都应该模仿它; 每个项目经理都应将其打印出来,打在墙上,然后对开发人员说:“那样”。Netty是一个“ …用于快速开发可维护的高性能协议服务器和客户端的异步事件驱动的网络应用程序框架”,但这并不重要,因为我们没有分析其行为。 而是看图...

2020-01-16 16:04:03 422

原创 带有Dubbo的Spring Cloud Alibaba

通过优锐课的java学习分享,看一下如何在阿里巴巴的Spring Cloud实现中使用这个流行的RPC框架。Spring Cloud AlibabaSpring Cloud Alibaba是Alibaba Cloud的Spring Cloud版本。 它由几个阿里巴巴的开源项目Nacos,Sentinel和RocketMQ以及几个阿里云原生商业产品组成,以增强用户在阿里云上的体验。 Spring...

2020-01-16 11:45:33 1191

原创 Spring MVC:HTTP消息转换器

了解有关Spring MVC和HTTP消息转换器的更多信息。通常,你需要为用户提供相同的数据,但是以不同的形式(例如JSON,PDF,XLS等)为用户提供。如果你的应用程序是基于Spring Framework的,则可以使用HTTP消息转换器来完成此任务。需要将HTTP请求(或其部分)转换为处理程序方法参数所需的类型(有关更多信息,请参阅处理程序方法—方法参数)时,或者需要处理程序方法返回值时...

2020-01-15 16:09:52 325

原创 实用 具有Spring Cloud和 Docker 的微服务架构

如何使用Spring Boot,Spring Cloud,Docker和Netflix的一些开源工具设置微服务架构。本文以使用Spring Boot,Spring Cloud和Docker构建的概念验证应用程序为例,为了解常见的微服务架构模式提供了一个起点。该代码在Github上可用,图像在Docker Hub上可用。你只需一个命令即可启动整个系统。作为该系统的基础,我选择了一个旧项目,该项...

2020-01-15 10:59:49 371

原创 Java中的静态字段

有时在特定类的所有实例中共享值是很有用的。静态字段和静态常量通过属于类而不是实际对象来启用这种类型的共享通过在优锐课的java架构学习分享中,讨论了关于类中定义的字段和方法只能在创建该类类型的对象时使用。例如,考虑一个简单的Item类,它可以跟踪商店中的商品: public class Item { private String itemName; public Item...

2020-01-14 17:48:20 878

原创 为什么在Java中String是不可变的?

String在Java中是不可变的。不可变类只是其实例无法修改的类。创建实例时实例中的所有信息都会初始化,并且无法修改该信息。不变类有很多优点。本文总结了为什么String被设计为不可变的。这篇文章从内存,同步和数据结构的角度说明了不变性概念。1.字符串池的要求字符串池(String intern pool)是“ 方法区”中的特殊存储区。创建字符串时,如果该字符串已存在于池中,则将返回现有字符...

2020-01-09 14:33:15 276

原创 Java垃圾收集器和参考对象

我们来看一下Java中的垃圾收集器概念,以及它可以处理的各种引用对象类型,这使Java GC神秘化!通过优锐课的java学习分享中,我们将讨论Java中的一些内存管理概念,并将重点放在垃圾收集器与可用的不同参考对象之间的交互上。整理成了文档呈现在本文中,给大家参考学习。这不是介绍,所以让我们相互同意,你已经掌握了Java Heap和GC基础知识。 许多文章都很好地涵盖了该主题,你实际上可能想知...

2019-12-28 17:38:39 207

原创 Redis的异步,响应式和RxJava2接口

在优锐课的java架构学习中,让我们探索Redis的异步,反应式和RxJava2接口。异步,响应式和RxJava2都是Java编程语言中的所有相关编程模型。 但是,它们不能在Redis(用于实现内存中数据存储的开源软件项目)中自动提供。好消息是,这三种编程模型都可以在Redis中使用Redisson(Redisson)来使用,Redisson是将Redis与Java集成的第三方客户端库。 在本...

2019-12-28 15:19:26 768

原创 Java中的Redis 哨兵高可用性

在优锐课的java架构学习分享中,让我们探索Redis Sentinel,看看如何在Java上运行它什么是Redis哨兵?可用性是任何企业数据库中最重要的质量之一。用户必须保证他们可以访问所需的信息和见解,从而在工作中表现出色。但是,确保数据库在需要时可用是一件容易的事,而做起来却容易。术语“高可用性”是指可以连续运行而不会出现故障的系统,该系统的时间长度比平均时间长。Redis Sent...

2019-12-28 10:38:35 230

原创 Apache Kafka应用程序中的机器学习和实时分析(第二部分)

在优锐课的java学习分享中,这篇文章探讨了构建ML基础结构的特定部分:在Kafka应用程序中部署分析模型以进行实时预测。文章的第一部分在这啦,记得先看哦,不然看不懂哈,更有连贯性。Apache Kafka应用程序中的机器学习和实时分析(第一部分)嵌入式模型的流处理除了使用模型服务器和RPC通信之外,你还可以将模型直接嵌入到Kafka应用程序中。 这可以是利用Kafka Streams或K...

2019-12-27 12:03:11 232

原创 Apache Kafka应用程序中的机器学习和实时分析(第一部分)

在优锐课的java学习分享中,这篇文章探讨了构建ML基础结构的特定部分:在Kafka应用程序中部署分析模型以进行实时预测。Apache Kafka与机器学习(ML)之间的关系是一个有趣的话题,我在如何使用Apache Kafka在生产中构建和部署可伸缩机器学习以及使用Apache Kafka推动尖端机器学习方面写了很多。这篇文章介绍了构建机器学习基础架构的特定部分:在Kafka应用程序中部署分...

2019-12-27 11:41:11 319

原创 使用Spring Boot和Cloudant入门微服务

通过优锐课的java架构分享学习中,讨论了关于创建一个简单的微服务来管理Cloudant NoSQL数据库中的产品评论专题。收获颇丰,整理出来给大家参考学习,尤其是架构思维导图对于正在学习中的人很受益!预计时间阅读和遵循本教程中的步骤大约需要30分钟到一个小时。先决条件要完成本教程,你需要以下内容:JDK1.82.3以上版本Git客户安装这些工具后,请将示例应用程序从GitH...

2019-12-26 11:34:46 353

原创 最佳解读整理 Spring Bean生命周期:使用Spring Aware接口

在优锐课最新Java架构学习分享中,了解有关使用Aware接口访问Spring bean生命周期事件的更多信息,详细的思维导图让在迷茫中的人眼前一亮。码了很多专业的相关知识, 分享给大家参考学习。Spring Aware界面允许你查看Spring Framework的内部工作原理。通过Spring Aware接口,你可以访问Spring上下文或Spring bean生命周期事件。你的Sprin...

2019-12-25 11:22:39 1059

原创 RocketMQ:高可用性实施

在优锐课的java学习分享中,我们探索了RocketMQ的HA实现。我们可以看到,码了很多专业的相关知识, 分享给大家参考学习。介绍当我们谈论HA时,通常人们会想到故障转移机制。 但是,使群集可用于消息也被认为是HA。 在某种程度上,我认为这比仅提供经纪人更重要。 毕竟,用户可以并且将会感受到这种可用性的影响。代码段这是场景:假设集群中有2个代理:master-a和master-b。 每...

2019-12-24 17:06:58 233

原创 微服务的设计模式(二)

在优锐课的学习分享中,讨论了关于微服务的许多设计模式的详细描述。码了很多专业的相关知识, 分享给大家参考学习。看到这里迷路的朋友们可以先看本文的上部分内容,这样思路更清晰!微服务的设计模式(一)客户端UI组合模式通过分解业务功能/子域来开发服务时,负责用户体验的服务必须从多个微服务中提取数据。 在整体世界中,从UI到后端服务只有一次调用,以检索所有数据并刷新/提交UI页面。 但是,现在不...

2019-12-23 11:00:11 275

原创 微服务的设计模式(一)

在优锐课的学习分享中,讨论了关于微服务的许多设计模式的详细描述。码了很多专业的相关知识, 分享给大家参考学习。微服务可以对你的企业产生积极影响。 因此,有必要知道如何处理微服务架构(MSA)和一些微服务设计模式,以及微服务架构的一般目标或原理。 这是微服务架构方法[1]中要考虑的四个目标。降低成本:MSA将降低设计,实施和维护IT服务的总体成本。提高发布速度:MSA将提高从构思到服务部...

2019-12-23 10:53:26 292

原创 人们疯狂编写错误代码的3个原因

在优锐课的程序员学习方法论理, 讨论了程序员为什么在各处都看到错误的代码? 发生这种情况的原因有几个。一起来看看在过去的几天里,我一直在思考为什么我们作为一个行业一直一直在生产不良代码。能够构建高质量代码的系统的开发人员数量很少,而且彼此之间就相去甚远,正如老套话所说,每个人就像大海捞针一样。1.明显原因我能想到的最明显的原因是,有好的程序员和不太好的程序员,技能水平较高的人和技能水平较低...

2019-12-20 15:35:34 762

原创 精选干货分享 Java线程教程:使用Java创建线程和多线程

通过优锐课的java学习分享中,讨论了对Java Thread概念的简要介绍,很多人觉得很棘手。与许多其他计算机语言不同,Java提供了对多线程的内置支持。 Java中的多线程包含两个或多个可以同时运行的部分。 Java线程实际上是一个轻量级进程。本文将向你介绍许多人发现棘手或难以理解的所有Java Thread概念。我将介绍以下主题:1.什么是Java线程?2.Java线程模型3.J...

2019-12-19 10:12:17 219

原创 小白必须要懂的MongoDB:基础知识总结

在优锐课的学习分享沙龙中,研究什么是MongoDB,什么是NoSQL数据库,以及对现有数据库管理系统的介绍。码了很多知识点,分享给大家。1. 目的此外,我们将讨论MongoDB功能-为什么使用MongoDB以及MongoDB历史记录。 此外,我们还将通过一些示例查看MongoDB应用程序和MongoDB安装。2.什么是NoSQL数据库?在开始之前,我们必须了解NoSQL。 NoSQL或“ ...

2019-12-18 10:33:46 276

原创 干货Spring Boot系列:使用MyBatis

通过优锐课核心java学习笔记中,我们可以看到,MyBatis是用于高级映射和存储过程的SQL框架。码了很多专业的相关知识, 分享给大家参考学习。MyBatis是一个SQL映射框架,支持自定义SQL,存储过程和高级映射。SpringBoot不为MyBatis集成提供官方支持,但是MyBatis社区为MyBatis构建了SpringBoot入门程序。创建一个SpringBoot Maven项目...

2019-12-17 10:31:33 235

原创 总结分享-使用ELK堆栈部署Kafka(part:2)

通过优锐课核心java学习笔记中,我们可以看到使用ELK堆栈部署Kafka,码了很多专业的相关知识, 分享给大家参考学习。我又来更啦,关于前部分的详细在这,朋友们不要迷糊,地址在这总结分享-使用ELK堆栈部署Kafka(part:1)步骤3:安装Kibana让我们继续进行到ELK Stack中的下一个组件-Kibana。 和以前一样,我们将使用一个简单的apt命令来安装Kibana:s...

2019-12-16 14:44:08 227

原创 总结分享-使用ELK堆栈部署Kafka(part:1)

在本文中,通过优锐课核心java学习笔记中,我们可以看到,将展示如何使用ELK Stack和Kafka部署建立弹性数据管道所需的所有组件。码了很多专业的相关知识, 分享给大家参考学习。如有不足之处,欢迎补充建议!在发生生产事件后,恰恰在你最需要它们时,日志可能突然激增并淹没你的日志记录基础结构。 为了防止Logstash和Elasticsearch遭受此类数据突发攻击,用户部署了缓冲机制以充当...

2019-12-16 14:16:34 232

原创 关于Linux运行级别,正确理解在这

通过优锐课核心java学习笔记中,我们可以看到关于Linux运行级别,码了很多专业的相关知识, 分享给大家参考学习。了解有关Linux运行级别的更多信息-正确的方法!你可以将Linux运行级别视为操作系统运行的不同“模式”。这些模式或运行级别中的每一个都有其自己的已打开或关闭的进程和服务的列表。 从Linux启动时开始,它始终处于某个运行级别。随着你继续使用计算机,此运行级别可能会更改,具体...

2019-12-14 21:50:22 706

原创 Spring Cloud Config Server —程序员门

通过优锐课核心java学习笔记中,我们可以看到,更改微服务的属性可能会导致一个复杂的问题。 在本文中,我们将看到Spring Cloud Config Server和微服务如何相处。码了很多专业的相关知识, 分享给大家参考学习。在分布式系统中管理微服务的配置是一项繁琐且耗时的任务,尤其是当我们谈论的是由大量微服务组成的大型系统时。每次需要更改微服务的配置时,都将转到相应的项目,更改其配置,然后...

2019-12-14 17:34:56 279

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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