-
分析:Spring IOC容器中只存放单例Bean吗?
所属栏目:[系统] 日期:2021-06-01 热度:80
最近,很多小伙伴出去面试,感觉自己面的不是很理想,回来后,不少小伙伴把面试题做了记录发给我,让我给大家解析下,然后发出来。当我看到这些面试题时,快速在脑海中构建起了整个知识体系,从基础到框架、从分布式到微服务,从数据结构到算法,从虚拟化[详细]
-
Promise.prototype.finally 的影响
所属栏目:[系统] 日期:2021-06-01 热度:182
Promise.prototype.finally() 的作用 Promise.prototype.finally() 是 ES2018 新增的特性,它回一个 Promise ,在 promise 结束时,无论 Promise 运行成功还是失败,都会运行 finally ,类似于我们常用的 try {...} catch {...} finally {...} Promise.prot[详细]
-
你以为Spring Boot统一异常处理能拦截所有的问题?
所属栏目:[系统] 日期:2021-06-01 热度:64
副标题#e# @RequestMapping(${server.error.path:${error.path:/error}}) publicclassBasicErrorControllerextendsAbstractErrorController{ //返回错误页面 @RequestMapping(produces=MediaType.TEXT_HTML_VALUE) publicModelAndViewerrorHtml(HttpServlet[详细]
-
Kafka 2.8.0推出,与ZooKeeper正式分手!
所属栏目:[系统] 日期:2021-06-01 热度:74
这次升级包括了很多重要的改动,其中最引人瞩目的就是kafka通过自我管理的仲裁来替代ZooKeeper,通俗的说,Kafka将不再需要ZooKeeper,正式分手! 其实早在19年,就有人在社区中提出要移除Kafka对Zookeeper依赖的想法,当时被视为几乎不可能,但随着众人齐[详细]
-
软件架构的一生:包和命名空间
所属栏目:[系统] 日期:2021-06-01 热度:152
一个系统的架构是它的高层级的视图,是系统的大局观,是粗线条的系统设计。架构的决策就是系统结构上的决策,这些决策影响着全部代码,决定了系统中其它部分的基[详细]
-
如何封装不被讨厌的组件SDK
所属栏目:[系统] 日期:2021-06-01 热度:121
你在一家小互联网公司做前端。最近公司发展势头不错,已经有了稳定的商业模式。老板决定尝试付费推广。 马上五一了,老板想策划一个活动玩法。可是公司前端人力有限,不能每个业务都单独开发活动。 于是老板找到了你,希望你封装一个活动SDK组件供公司几个[详细]
-
Spring Bean IOC、AOP 循环依赖分析
所属栏目:[系统] 日期:2021-06-01 热度:81
延迟满足能给你带来什么? 大学有四年时间,但几乎所有人都是临近毕业才发现找一份好工作费劲,尤其是我能非常熟悉的软件开发行业,即使是毕业了还需要额外花钱到培训机构,在学一遍编程技术才能出去找工作。好像在校这几年压根就没学到什么! 就我个人而言[详细]
-
Spring系列之AOP的理解和实践
所属栏目:[系统] 日期:2021-06-01 热度:75
1 什么是AOP?1.1 概念介绍 Spring的使命是简化Java代码开发,aop作为Spring的一个子模块,也不例外。 AOP 是 Aspect Oriented Programming(面向切面编程) 的简称,和OOP(面向对象编程)一样是一种编程思想,是对OOP的一种补充。 如何理解什么是AOP呢?以日志[详细]
-
Spring Boot的 Docker打包插件哪个实在
所属栏目:[系统] 日期:2021-06-01 热度:50
最近公司的应用准备容器化,因为几十个应用从测试到发布太麻烦了,而且还会因为环境的因素导致部署中出现各种问题。为了在开发、测试、生产都能保持一致的环境,就引进了容器技术,先拿边缘的项目试试水,积累下经验,今天对几种常见的Spring Boot Docker[详细]
-
为你介绍Tomcat内部实现架构解析
所属栏目:[系统] 日期:2021-05-30 热度:193
下面来解析一下这个配置文件: 可以看到Server标签port设置为8005,shutdown=SHUTDOWN,表示8005端口监听到SHUTDOWN命令就关闭Tomcat服务。 Resource内配置 pathname=conf/tomcat-users.xml 指定manageUI登录的用户以及其他的全局配置。 这个Server里只有[详细]
-
Prometheus 如何做到“活学活用”,大神汇总的避坑攻略
所属栏目:[系统] 日期:2021-05-30 热度:112
监控系统的历史悠久,是一个很成熟的方向,而 Prometheus 作为新生代的开源监控系统,慢慢成为了云原生体系的事实标准,也证明了其设计很受欢迎。 本文主要分享在 Prometheus 实践中遇到的一些问题和思考,如果你对 K8S 监控体系或 Prometheus 的设计还不[详细]
-
Spring核心组件原理教程
所属栏目:[系统] 日期:2021-05-30 热度:143
Spring Framework 总共有十几个组件,但真正核心的组件只有三个:Spring Core,Spring Context 和 Spring Bean,它们奠定了 Spring 的基础并撑起了 Spring 的框架结构。Spring 的其它功能特性例如 Web、AOP、JDBC 等都是在其基础上发展实现的。 Spring之中[详细]
-
我写这文章就是为了让你了解 AQS
所属栏目:[系统] 日期:2021-05-30 热度:133
文章准备模拟多线程竞争锁、释放锁的场景来进行分析AQS源码: 三个线程(线程一、线程二、线程三)同时来加锁/释放锁 目录如下: 线程一加锁成功时AQS内部实现 线程二/三加锁失败时AQS中等待队列的数据模型 线程一释放锁及线程二获取锁实现原理 通过线程场景[详细]
-
为你介绍微前端qiankun项目实践
所属栏目:[系统] 日期:2021-05-30 热度:144
最近在做微前端的项目 , 过程中真是踩了不少坑 , 在有限的资料中不断试错 , 默默无语两行泪 哈哈. 在此次将踩坑部分都记录下来, 让更多的人少走点弯路 , 此项目使用 蚂蚁金服qiankun 为基础作为开发 . 话不多说 开讲 !!! 那什么是 qiankun 呢 qiankun 是一[详细]
-
Elasticsearch对垒8大竞品技术,谁强谁弱?
所属栏目:[系统] 日期:2021-05-30 热度:54
青出于蓝,而胜于蓝。 入行Elastic-Stack技术栈很久很久,为了免于知识匮乏眼光局限,有必要到外面的世界看看,丰富自己的世界观。本篇内容从Elastic的竞争产品角度分析探讨。 哪些应用场景下使用Elasticsearch最佳? 哪些应用场景下不使用Elasticsearch最[详细]
-
是时候规划Spring非阻塞编程模式
所属栏目:[系统] 日期:2021-05-30 热度:123
2017年9月发布的Spring Framework 5中,引入了Spring WebFlux。WebFlux是完全响应式的技术栈。2019年12月发布了Spring Data R2DBC,这是一个使用响应式的数据库驱动。在本文中,我将证明在高并发下,WebFlux和R2DBC表现更好。该组合的响应时间和吞吐量都更[详细]
-
路在何方?聊聊中台建设中的那些纠结事
所属栏目:[系统] 日期:2021-05-30 热度:71
在探讨中台哪些让人纠结不定烦心事之前,我们依然要谈谈我们为什么要做中台(注:本文中台局限于企业 IT 架构的中台,非广义上的中台),做中台到底给我带来哪些好处,想不清楚这些就去深入到中台的细节里也无意义。 中台概念这几年特别火,就像 90 年代不做[详细]
-
一股脑例举 6种 延时队列的实现方法,面试官也得服
所属栏目:[系统] 日期:2021-05-30 热度:196
延时队列在项目中的应用还是比较多的,尤其像电商类平台: 1、订单成功后,在30分钟内没有支付,自动取消订单 2、外卖平台发送订餐通知,下单成功后60s给用户推送短信。 3、如果订单一直处于某一个未完结状态时,及时处理关单,并退还库存 4、淘宝新建商户[详细]
-
Eureka 都歇菜了,微服务还能坚挺吗?
所属栏目:[系统] 日期:2021-05-30 热度:150
老实说,这个问题并不难。 如果你做过微服务开发,这个面试题应该能够立马答出来,如果你没做过微服务开发,但是学过一些 Spring Cloud 组件的用法,这个问题可能要稍微想一下,但是也应该能够答出来。 今天就来和大家说说这个问题。 1.实践一下 这种问题[详细]
-
浅谈分布式系统一致性问题,你懂几分?
所属栏目:[系统] 日期:2021-05-30 热度:142
关于什么是分布式系统,有很多文章介绍,其实这个并不难理解,大白话讲就是:工厂活多了一个人撑不住,那就多找些工人一起干,要让这么多人为了一个目标干得快干得好,就需要一些规矩和套路,否则就乱了。 从实践来看分布式系统属于重要的架构模式,对于互[详细]
-
我劝你醒醒,请不要把 “业务逻辑层” 理解为 “业务中台”
所属栏目:[系统] 日期:2021-05-30 热度:90
在听完他的叙述之后,我忍不住笑出声来,并对他说:小伙子,你这哪是中台啊?!这分明是三层架构(3-Tier Architecture) 啊从表情上看,我感觉他有点懵圈,小声问了一句:三层架构?MVC吗?我摇了摇头,给他从头到底普及了下3-Tier Architecture,并且强调了界面[详细]
-
微服务项目搭建频繁需要使用搭建聚合工程
所属栏目:[系统] 日期:2021-05-30 热度:168
微服务项目中,我们是否还需要继续这种开发方式呢?今天松哥结合自己在项目中的经验和大家简单聊一下,微服务项目中代码的组织形式。 1.开发模式要搞清楚代码如何组织,首先大家要明白微服务架构到底是什么样子! 在微服务架构中,一个完整的项目被拆分成很[详细]
-
桥接模式提升代码的复用性
所属栏目:[系统] 日期:2021-05-30 热度:96
桥接模式人如其名,其实就相当于一个桥梁,把不同维度的变量桥接在一起来实现功能。假设我们需要实现三种形状(长方形,圆形,三角形),每种形状有三种颜色(红色,绿色,蓝色),这个需求有两个方案,一个方案写九个方法,每个方法实现一个图形: functionre[详细]
-
Netty中的数据容器分类使用方式及其空间分配
所属栏目:[系统] 日期:2021-05-30 热度:53
谈到数据保存肯定要说到内存分配,按照存储空间来划分,可以分为堆内存和堆外内存;按照内存区域连贯性来划分可以分为池化内存和非池化内存。这些划分在 Netty 中的实现接口分别如下。 按照底层存储空间划分: 堆缓冲区:HeapBuffer 直接缓冲区:DirectBuff[详细]
-
有多种服务于不同目的的架构图带你来了解
所属栏目:[系统] 日期:2021-05-30 热度:161
有多种服务于不同目的的架构图。 通常,数字解决方案架构师会草拟高层架构图,以促进技术解决方案设计。 架构图有两个主要优点: 它们有助于理解-提供可用系统和交互的概述,这有助于轻松地从更改中评估影响。 它们改善了沟通与协作-跨项目和利益相关者调[详细]