自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 收藏
  • 关注

原创 8个示例详解 Spring 事务传播机制(附测试源码)

什么是事务传播机制事务的传播机制,顾名思义就是多个事务方法之间调用,事务如何在这些方法之间传播。举个例子,方法 A 是一个事务的方法,方法 A 执行的时候调用了方法 B,此时方法 B 有无事务以及是否需要事务都会对方法 A 和方法 B 产生不同的影响,而这个影响是由两个方法的事务传播机制决定的。传播属性 Propagation 枚举Spring 对事务的传播机制在Propagation枚举中定义了7个分类:REQUIRED 默认 SUPPORTS 支持 MANDATORY 强制..

2022-01-18 21:03:21 404

原创 理解HTTP协议中的multipart/form-data

前提之前在写一个通用HTTP组件的时候遇到过媒体(Media)类型multipart/form-data的封装问题,这篇文章主要简单介绍一下HTTP协议中媒体类型multipart/form-data的定义、应用和简单实现。multipart/form-data的定义媒体类型multipart/form-data遵循multipart MIME数据流定义(该定义可以参考Section 5.1 - RFC2046),大概含义就是:媒体类型multipart/form-data的数据体由多个部分组成

2022-01-18 20:42:27 2374

原创 8年开发程序猿告诉你啥是java开发?如何学?学习什么内容?

什么是Java?我从Java的官网上抄下来下面这段话:97% 的企业桌面运行 Java美国有 89% 的桌面(或计算机)运行 Java全球有 900 万 Java 开发人员开发人员的头号选择排名第一的部署平台有 30 亿部移动电话运行 Java100% 的蓝光盘播放器附带了 Java有 50 亿张 Java 卡在使用1.25 亿台 TV 设备运行 Java前 5 个原始设备制造商均提供了 Java MEJava 是几乎所有类型的网络应用程序的基础,也是开发

2022-01-15 20:41:33 381

原创 入门必备java教程300集+项目训练100集,拿去练手

写在前面:私信小编“Java”即可免费获取资料在正式开始Java学习之前,先来了解几个关键性问题。那就是什么是Java,为什么要学习Java,Java 有哪些特点,Java 有哪些机制,如何来学习 Java 等几个问题。通过这几个问题让大家了解 Java 的一些内容,从而展开 Java 的学习。1、java是什么?Java是一种开发语言,核心特点:跨平台,面向对象。对于开发者来讲,Java基本等于Jdk。Java由四方面组成:1)Java编程语言,即语法。2)Java文件格式,.

2022-01-14 19:47:36 222

原创 这个面试题有点意思哦

大家好,在工程中我们基本无时无刻都在和对象打交道,那么大家有想过这些这些对象是怎么来的吗,当 new 一个对象的时候到底发生了什么?相信你已经猜到了我们今天的主题,没错,就是类加载机制,了解这个机制很重要,这不仅能让我们理解 JVM 的运行机制,更重要的是它还能解释一些我们看起来觉得很奇怪的现象,比如如下懒汉式单例模式public class Singleton { private Singleton() {} private static class LazyHolder { ..

2022-01-14 16:46:09 4152

原创 2022Java面试题大全,附答案,最新整理

1. 遍历ArrayList时如何正确移除一个元素错误写法示例一:public static void remove(ArrayList<String> list) { for (int i = 0; i < list.size(); i++) { String s = list.get(i); if (s.equals("bb")) { list.remove(s); } } } 错误写法示例二:public static void remove

2022-01-13 20:31:49 21886 1

原创 两万字详解Java异常,面试再也不怕被问到了

Java异常简介Java异常是Java提供的一种识别及响应错误的一致性机制。Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。在有效使用异常的情况下,异常能清晰的回答what, where, why这3个问题:异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在哪”抛出,异常信息回答了“为什么”会抛出。Java异常架构1. ThrowableThrowable 是 Java 语言中所有错误与异常的超类。Throwable 包含两个

2022-01-13 19:55:04 115

原创 17K star 仓库,解决 90% 的大厂面试题

前言本文非百科全书,只专为面试复习准备、查漏补缺、深入某知识点的引子、了解相关面试题等准备。笔者一直都是崇尚学会面试题底下涉及到的知识点,而不是刷一大堆面试题,结果变了个题型就不会的那种。所以本文和别的面经不一样,旨在提炼面试题底下的常用知识点,而不是甩一大堆面试题给各位看官。数据类型JS 数据类型分为两大类,九个数据类型:原始类型 对象类型其中原始类型又分为七种类型,分别为:boolean number string undefined null symbol bi

2022-01-12 21:30:26 119

原创 聊聊sql优化的15个小技巧

前言sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到。如果某天你负责的某个线上接口,出现了性能问题,需要做优化。那么你首先想到的很有可能是优化sql语句,因为它的改造成本相对于代码来说也要小得多。那么,如何优化sql语句呢?这篇文章从15个方面,分享了sql优化的一些小技巧,希望对你有所帮助。最近无意间获得一份BAT大厂大佬写的刷题笔记,一下子打通了我的任督二脉,越来越觉得算法没有想象中那么难了。1 避免使用select *很多时候,我们写

2022-01-12 21:11:00 182

原创 100行代码透彻解析RPC原理

本文主要论述的是“RPC 实现原理”,那么首先明确一个问题什么是 RPC 呢?RPC 是 Remote Procedure Call 的缩写,即,远程过程调用。RPC 是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而开发人员无需额外地为这个交互编程。值得注意是,两个或多个应用程序都分布在不同的服务器上,它们之间的调用都像是本地方法调用一样。接下来我们便来分析一下一次 RPC 调用发生了些什么?—1—RPC 调用的基本流程现在业界内比较流行的一些 ...

2022-01-11 21:22:13 1641 1

原创 Spring循环依赖原理

Spring循环依赖的原理解析1、什么是循环依赖?​ 我们使用Spring的时候,在一个对象中注入另一个对象,但是另外的一个对象中也包含该对象。如图:在Student中包含了teacher的一个属性;在Teacher中包含有student的属性。这样就形成了一个循环依赖。2、代码描述xml配置文件testCycle.javaprivate static void testCycle(){ ClassPathXmlApplicationContext

2022-01-11 20:55:09 2590 1

原创 面试官:说说vue的diff算法

背景在vue中,视图更新的diff算法在面试过程中算是常被问及的一个问题,那么它到底是什么?我们应该怎么回答啊。源码分析这里我先贴一下diff算法的核心代码... // isUndef 判断是否为undefined // oldCh 旧节点列表// newCh 新节点列表// sameVnode 判断是否是相同的节点,判断key值,标签,data等等东西 while (oldStartIdx <= oldEndIdx && newStartIdx <=

2022-01-10 21:21:11 910

原创 带你彻底搞懂Vue3的Proxy响应式原理,TypeScript从零实现基于Proxy的响应式库。

前言最近在浏览React状态管理库的时候,发现了一些响应式的状态管理库如 hodux,react-easy-state,内部有一个基于proxy实现响应式的基础仓库observer-util,它的代码实现和Vue3中的响应式原理非常相似,这篇文章就从这个仓库入手,一步一步带你剖析响应式的实现。本篇是系列第一篇,主要讲解了普通对象的响应式源码本文的代码是我参考observer-util用ts的重写的,并且会加上非常详细的注释。阅读本文可能需要的一些前置知识:ProxyWeakMapRefl

2022-01-10 20:51:56 2580

原创 JNI 解析以及在 Android 中的实际应用

1、简述JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(在Android里面主要是C&C++)。从Java1.1开始,JNI标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行动态交互,JNI标准保证本地代码能工作在任何Java 虚拟机环境,目前的很多热修复补的开源项目。比如——Depoxed(阿里)、AnFix(阿里)、DynamicAPK(携程)等,它们都用到了JNI编程,并且JNI编程也贯穿了Andr.

2022-01-08 19:40:09 522

原创 网易公共技术Java面经

本人弱鸡,整体面试过程给人感觉还是挺nice的,除了等待时间有时候有点久,Java一共有32个组,所以不同的面试官的面试风格会有不少差距,这时候就看人品啦~通知的是上午10点的面试,答的一般,不过都给了下一面,到下午4点多三面结束,实验室5人都是昨天面试,都成功面完了三面,所以觉得offer肯定还是有个选择和排序过程,下面上面经,可能不全,只能记得这么多了。。一面:大概10点20分一面,大约40分钟,一上来就手撕代码,本人算法弱鸡,表示有点懵逼,最后也是以手撕代码结束,去之前看了牛客好多网易Ja

2022-01-05 22:18:47 1578

原创 Java 虚拟机原理 ——垃圾收集

Java 虚拟机技术是每个 Java 开发工程师都应该深入掌握的。本系列文章将深入介绍 JVM 相关技术,主要包括内存划分、对象创建回收与分配以及垃圾收集三大部分。本系列文章将力求全面概要地汇总核心知识点,并使知识点串联成面,以方便学习、工作以及备忘复习。本文将介绍第三部分——垃圾收集。垃圾收集算法标记清除算法 需要标记的对象非常多,效率一般不高 内存容易导致空间碎片化问题 标记整理算法 在标记清除算法基础上,增加内存整理功能,避免碎片化的问题 同样存在标记量大而效率不高的问题

2022-01-05 22:17:35 1325

原创 面试题系列:用了这么多年的 Java 泛型,我只知道它的皮毛

面试题:说说你对泛型的理解?面试考察点考察目的:了解求职者对于Java基础知识的掌握程度。考察范围:工作1-3年的Java程序员。背景知识Java中的泛型,是JDK5引入的一个新特性。它主要提供的是编译时期类型的安全检测机制。这个机制允许程序在编译时检测到非法的类型,从而进行错误提示。这样做的好处,一方面是告诉开发者当前方法接收或返回的参数类型,另一方面是避免程序运行时的类型转换错误。泛型的设计推演举一个比较简单的例子,首先我们来看一下ArrayList这个集合,部分..

2022-01-05 22:07:32 137

原创 面试官:Java 线程如何启动的?

面试题:说说你对泛型的理解?面试考察点考察目的:了解求职者对于Java基础知识的掌握程度。考察范围:工作1-3年的Java程序员。背景知识Java中的泛型,是JDK5引入的一个新特性。它主要提供的是编译时期类型的安全检测机制。这个机制允许程序在编译时检测到非法的类型,从而进行错误提示。这样做的好处,一方面是告诉开发者当前方法接收或返回的参数类型,另一方面是避免程序运行时的类型转换错误。泛型的设计推演举一个比较简单的例子,首先我们来看一下ArrayList这个集合,部分..

2022-01-05 22:05:28 72

原创 Java和Golang到底哪个语言更简单?

一旦您开始使用多种语言,您可能会开始质疑现状。您可能会以不同的方式看待事物,并为您钟爱的编程语言带回一些良好的习惯。我认为“代码简单”是软件开发的一个被低估的特性,我们需要更加关注代码的可读性和简单性。Java 是并且一直是我在整个职业生涯中使用的主要编程语言。如果我想为原型快速构建一些东西,或者如果我需要在紧迫的期限内选择技术堆栈,那么 Java 是我的第一选择。特别是在 Java 8 之后,它的功能变得越来越丰富和强大。当来自非 Java 社区的人抱怨 Java 冗长而复杂时,我实际上不明白这是

2021-12-31 20:40:40 1729

原创 从 Java 12 到 Java 17 那些激动人心的新特性,跟我一起去了解吧

2021 年 9 月,Oracle 发布了 Java 17,Java 的下一个长期支持版本。如果你在使用 Java 8 或 Java 11,可能不会注意到 Java 12 之后新增的一些很酷的新特性。因为这是一个很重要的版本,我会突出介绍一些我个人很感兴趣的新特性!需要注意的是,Java 中的大多数变更首先需要经过“预览”阶段,也就是说它们被添加到一个版本中,但还没有完成。人们可以尝试使用它们,但不建议将其用在生产环境中。这里所列举的所有特性都已正式添加到 Java 中,并且已经过了预览阶段。

2021-12-31 17:24:38 984

原创 Java微基准性能测试:数字转字符串方式哪家强?JMH来帮忙

目前各大互联网公司都开始注重代码质量,在我司,单元测试已经在进行全面推广和覆盖中,这次,我们通过一起实际的例子,聊一聊另一种非常重要的测试,也就是微基准性能测试。Java中数字转字符串相信大家都有做过,四种常用的转换方式,究竟用哪种最优呢?本次通过对 Integer.toString(a) String.valueOf(a) a + "" "" + a 四种数字转字符串的方式进行性能探究和分析,使大家对性能测试有正确的认识,逐步了解和掌握JMH微基准测试。常规

2021-12-30 22:09:35 753

原创 java反序列之Jdk7u21回显 ~ 解决网络问题

之前利用绑定服务的方式实现了回显,但是在部分场景下存在网络问题导致无法实现回显。分析在服务绑定到注册中心时,服务的地址是通过解析Hostname得到。这里就存在了问题,很多时候目标的Hostname解析结果并不是外网IP而是本机的内网IP,lookup时在客户端从注册中心拿到代理对象stub后,通过stub得到服务地址后,会在客户端与服务地址建立连接。如果是攻击外网的RMI服务,由于内网IP导致无法建立链接。从nmap的扫描结果也能看出这个问题。虽然是内网IP,但是由于高版本JD..

2021-12-30 22:06:50 583

原创 快看过来 看过来 Java后台面试总结-内含春招实习与秋招面经

从去年8月份左右开始准备春招,在牛客上找项目练手,还跟小伙伴一起凑钱报了那个电商项目实战,然后就是看书,前期其实不是很认真的准备。到了大概1月份的时候,就全身心投入到准备春招了,整理各种资料,刷面经,牛客刷题,春节假期就回家几天然后就回学校继续备战了,开学之后基本没怎么去上课(这点不一定所有人适用)。那段时间经常紧张到睡不着,呕吐这些都经历过,一开始面试的时候精心准备的自我介绍都说不好,面试多了,到后来跟面试官谈笑风生。终于在3月份左右就拿个几个offer,然后结束春招,去公司实习了。实习的

2021-12-29 22:26:11 946

原创 京东后端Java高级架构师面经+面试题:Spring+多线程+NIO+MySQL,看完肯定能对自己有所帮助

之前面了腾讯的提前批,不过没走流程。同期还面了阿里的两轮面试,被告知不走流程就不能面了,所以也没面完。后来走了京东这边的流程。前几天刚刚面完HR。正好今天分享一下面经,大家可以多交流交流哈。京东面经第一轮:电话初面 第二轮:技术面谈 第三轮:高管复试 第四轮:HR最后确认第一轮电话初面:首先确认对京东的意向度(如果异地更会考虑对工作地点(北京)的意向度!京东很看重这个);其次面试官一般会针对您所做过的项目来做具体技术的交流,会比较关注个人对项目细节是不是掌握到位,主要考察Java

2021-12-29 22:22:28 357

原创 妥妥的精华之Java工程师秋招回忆录+面经汇总,为了拿BAT的研发offer我都做了那些准备

秋招总结写在最前我写过很多篇秋招总结,这篇文章应该是最后一篇总结,当然也是最完整,最详细的一篇总结。秋招是我人生中一段宝贵的经历,不仅是我研究生生涯交出的一份答卷,也是未来职业生涯的开端。仅以此文,献给自己,以及各位在求职路上的,或者是已经经历过校招的朋友们。不忘初心,方得始终。前言在下本是跨专业渣考研的985渣硕一枚,经历研究生两年的学习积累,有幸于2019秋季招聘中拿到几个公司的研发岗offer,包括百度,阿里,腾讯,今日头条,网易,华为等。(在秋招末期,有幸又拿到了滴滴和亚马逊的o

2021-12-29 22:17:30 517

原创 我的后台Java面经(阿里、腾讯、头条、京东、IBM等)

# 简介经过招聘季每个人都会有相当多的面试经历,对我来说把这些写出来一方面是为了学习,另外一方面也希望能够为之后求职的同学提供一定的借鉴意义我的笔试经历会把主要记得的题目列出来我的面试经历详细介绍了以下几点面试岗位面试体验:这个有主观成分,但也能从我个人的侧面去反映公司是如何对待招聘的,请记住“面试者也是面试官,反之亦然”面试问题:在面试过程中被面试官提问的问题拉勾offer工厂2017资料,是当时拉勾做的一系列沙龙活动,其中ppt提到的面试问题很有参考价值,故而放到其中我面

2021-12-24 22:13:57 165

原创 java多线程4:volatile关键字

上文说到了synchronized,那么就不得不说下 volatile关键字了,它们两者经常协同处理多线程的安全问题。volatile保证可见性那么volatile的作用是什么呢?在jvm运行时刻内存的分配中有一个内存区域是jvm虚拟机栈,每一个线程运行时都有一个线程栈,线程栈保存了线程运行时候变量值信息。当线程访问某一个对象时候值的时候,首先通过对象的引用找到对应在堆内存的变量的值,然后把堆内存变量的具体值load到线程本地内存中,建立一个变量副本,之后线程就不再和对象在堆内存变量值.

2021-12-22 22:12:28 67

原创 记录年前Java岗整个历程(附字节,阿里,百度,网易,美团等面经)

实习的时候真的是屡战屡败(阿里三次已回绝),真的要好好调整自己,面试过程中要充分思考,祝大家都收获自己满意的Offer:blush:一. 字节跳动(北京)字节跳动是提前批面的第一家公司,部门也是核心部门,但是但是当时脑抽投的北京岗位,很后悔没投南京的:sob:,日常眼馋实验室同学的南京字节Offer面试体验很好,给了自己信心和很多面试的查漏补缺以及思考方式,感恩。还记得视频面紧张的不行,因为代码能力比较弱,很怕手撕代码,一面面试官看我没写出来,还换了一道特别简单的判断有无环,真的是感恩。

2021-12-22 22:10:52 128

原创 java多线程3:synchronized

线程安全多个线程共同访问一个对象的实例变量,那么就可能出现线程不安全的问题。先看一段代码示例,定义一个对象MyDomain1public class MyDomain1 { private int num = 0; public void addI(String username) { try { if (username.equals("a")) { num = 100; .

2021-12-21 22:13:13 168

原创 java多线程2:Thread中的方法

静态方法:Thread类中的静态方法表示操作的线程是" 正在执行静态方法所在的代码块的线程"。为什么Thread类中要有静态方法,这样就能对CPU 当前正在运行的线程进行操作。下面来看一下Thread类中的静态方法:1:currentThread/** * Returns a reference to the currently executing thread object. * * @return the currently executing th..

2021-12-21 21:24:29 320

原创 RocketMQ架构原理解析:消息存储

一、概述由前文可知,RocketMQ有几个非常重要的概念:broker 服务端,负责存储、收发消息 producer 客户端1,负责产生消息 consumer 客服端2,负责消费消息既然是消息队列,那消息的存储的重要程度不言而喻,本节我们聚焦broker服务端,看下消息在broker端是如何存储的,它的落盘策略是怎样的,又是如何保证高效另:后文的RocketMQ都是基于版本4.9.3二、写入流程RocketMQ的普通单消息写入流程如下简单可以分为三大块:写入前准备

2021-12-16 20:47:59 199

原创 Facebook MySQL 8.0 迁移之路

MySQL,一款由 Oracle 公司开发的开源数据库,Facebook 一些最关键的工作负载均有赖于它来提供动力。为了支持不断发展的业务需求,我们积极地开发了一些 MySQL 的新特性。这些功能改变了 MySQL 许多不同的领域,包括客户端连接器、存储引擎、优化器以及同步复制(replication) 。每次升级到 MySQL 新的大版本,我们都需要花费大量的时间和精力来迁移我们的工作负载。这些挑战包括:将我们定制的一些功能移植到新版本; 确保同步复制功能在大版本之间的兼容性; 尽量让现有应用

2021-12-16 20:38:43 116

原创 细节长文:选 Redis 还是 MQ,终于说明白了

经常听到很多人讨论:把 Redis 当作消息队列来用,是否合适?有人表示赞成,他们认为 Redis 很轻量,用作队列很方便。也有人反对,认为 Redis 会「丢」数据,最好还是用「专业」的消息中间件更稳妥。究竟哪种方案更好呢?这篇文章,我就和你聊一聊把 Redis 当作队列,究竟是否合适这个问题。我会从简单到复杂,一步步带你梳理其中的细节,把这个问题真正讲清楚。在文章的最后,我还会告诉你关于「技术选型」的思路,文章有点长,希望你可以耐心读完。01 从最简单的开始:Li.

2021-12-16 20:36:51 2424 2

原创 吃透这JAVA并发十二核心,面试官都得对你刮目相看

1、HashMap面试第一题必问的 HashMap,挺考验Javaer的基础功底的,别问为啥放在这,因为重要!HashMap具有如下特性:HashMap 的存取是没有顺序的。 KV 均允许为 NULL。 多线程情况下该类不安全,可以考虑用 HashTable。 JDk8底层是数组 + 链表 + 红黑树,JDK7底层是数组 + 链表。 初始容量和装载因子是决定整个类性能的关键点,轻易不要动。 HashMap是懒汉式创建的,只有在你put数据时候才会 build。 单向链表转换为红黑

2021-12-16 20:34:35 216

原创 为什么MySQL要升级组复制?1分钟系列

“这不就是Oracle Rac吗?”“这不就是MGR吗?”思路比结论重要,为什么比是什么重要,今天就花1分钟,说下这里面架构演进的思路。画外音:大家不想听底层细节,就不深入细节了。最早的数据库都是单机的,其最大的痛点是啥?无法线性扩展。磁盘能力无法线性扩展,内存能力无法线性扩展,计算能力无法线性扩展。如今,喜欢创造概念的架构师们,把这种架构称为“Shared Everything”架构。如上图所示,DISK/MEM/CPU 都耦合在一个DBMS进程内,必须部署在一台服

2021-12-16 20:12:55 1394

原创 终于有懂哥能把云计算、大数据和人工智能讲得明明白白了

今天跟大家讲讲云计算、大数据和人工智能。为什么讲这三个东西呢?因为这三个东西现在非常火,并且它们之间好像互相有关系:一般谈云计算的时候会提到大数据、谈人工智能的时候会提大数据、谈人工智能的时候会提云计算……感觉三者之间相辅相成又不可分割。但如果是非技术的人员,就可能比较难理解这三者之间的相互关系,所以有必要解释一下。一、云计算最初的目标我们首先来说云计算。云计算最初的目标是对资源的管理,管理的主要是计算资源、网络资源、存储资源三个方面。1管数据中心就像配电脑什么叫计算、网络、存储资源

2021-12-16 20:03:07 376

原创 Java17,有史以来最快 JDK

Java 17 已正式发布,该版本是自Java 11以来的首个长期支持版本。Oracle 还提议将 JDK LTS发布的节奏从每三年一次改为每两年一次,并且每个LTS 版本的服务时间至少8年以上。Java 版本通常是6个月一更新,时间分别在3月和9月,而这些版本的支持时间基本在半年左右。Java各个版本的生命周期据Oralce官博透露,虽然6个月版本的使用人数在增长,但大部分组织及企业更倾向于把LTS版本用在生产环境中,从而得到更加稳定可靠的服务。这一点从Snyk发布的2021 Java社区报告

2021-12-16 19:38:30 433

原创 JVM调优的11个底层细节,能说出这条的都是高手

一年一度的双十一购物狂欢节已经过去,前不久的双十二也刚结束,各位的钱包还好吗?不过我们今天不聊购物,来聊聊我们最关心的事情。历年双11,除销售额屡创新高以外,作为一名合格的互联网民工,我当然更关心,它背后,无数程序员同胞不知道要死多少脑细胞才抗住的并发量。双11当天,交易峰值曾达到32.5W笔/秒,去年更是几乎实现翻倍,说是全球最大的流量洪峰也不为过。从刚开始服务器动不动就陷入瘫痪,到现在几乎全程流畅下单连个缓冲都少有,可以说,双十一背后的系统架构已经优化到了极致。拆出来看,我们便得到了一个绝佳

2021-12-16 19:33:00 1467 1

原创 画好架构图,是进阶的必经之路

先厘清一些基础概 1、什么是架构 2、什么是架构图 3、架构图的作用 4、架构图分类 怎样的架构图是好的架构图 1、方框代表什么? 2、虚线、实线什么意思?箭头什么意思?颜色什么意思? 3、运行时与编译时冲突?层级冲突? 本文推荐的画图方法 1、语境图(System Context Diagram) 2、容器图(Container Diagram) 3、组件图(Component Diagram) 4、类图(Code/Class Diagram) 案例

2021-12-16 19:29:54 104

原创 大规模业务技术架构设计与战术(架构师必看)

技术架构,是将产品需求转变为技术实现的过程。技术架构解决的问题包括了如何进行纯技术层面的分层、开发框架选择、语言选择(这里以 JAVA 语言为主)、涉及到各自非功能性需求的技术点(安全、性能、大数据)。技术架构是确定组成应用系统实际运行的技术组件、技术组件之间的关系,以及部署到硬件的策略。技术架构面临最大的挑战是“不确定性”。在技术架构上,很多时候就会面临这种选择。是要选择业界最新的技术?还是选择团队最熟悉的技术?如果选择最新的技术,遇到新技术出了问题怎么解决?如果选择目前熟悉的技术,后续技术演进怎么办

2021-12-16 19:18:36 191

空空如也

空空如也

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

TA关注的人

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