自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 所谓“现代Web开发”,都是些什么妖魔鬼怪?

2022 年已经到来,我们是时候反思 Web 开发中的种种过时软件、炒作歪曲和荒谬趋势了。把握这一年,我们也该重新专注于性能与技术运用,把手段和目的重新统一起来。当然,我不是劝大家用汇编或者 C 语言搞 Web 开发,但关于 JavaScript、Ruby on Rails、Python、Django 以及 PHP 框架的疯狂观点也该消停一下了。”这是一篇充满愤怒的博客。作者是一位出生于 70 年代的“技术愤青”unixsheikh,他用“激进”的方式抛出了一个观点:“Web 开发人员应该花费更多时间来

2022-01-07 20:11:17 815

原创 『无为则无心』Python函数 — 32、递归

目录1、什么叫递归函数Python中,在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。2、递归的应用场景递归是一种编程思想,应用场景:在我们日常开发中,如果要遍历一个文件夹下面所有的文件,通常会使用递归来实现; 在后续的算法课程中,很多算法都离不开递归,例如:快速排序。3、递归的特点1、递归函数必须有一个明确的结束条件。 2、每进入更深一层的递归时,问题规模现对于上一层递归都会减少。 3、相邻两次重复之间有紧密的联系,前一次要为后一次做准备

2022-01-07 20:10:12 2751

原创 Java如何打好牢固的基础?

如果纯粹是为了学Java,那么不建议阅读本文,因为本文不是从理论和教科书的角度讲述如何打好java基础,而是会从“快速用java挣钱”这个角度,讲边学、边做项目和边提升的方法。在讲具体的方法前,有必要和大家讲明如下的道理。1 工作中用到的java技术。绝不单纯是java核心语法,而包括java核心语法、数据库技能、web框架(目前比较流行的是spring boot框架)和整合大数据组件和分布式组件的技能。其中资深架构需要掌握java核心语法、数据库技能、web框架技能,而架构师还需要精通整合大数据和

2022-01-07 20:02:17 409

原创 重学Java. JVM内存模型 & 类加载机制

Java内存模型 & JVM内存分区线程之间的通信 在命令式编程中,线程之间的通信机制有两种共享内存和消息传递。 共享内存:线程之间通过写-读内存中的公共状态来隐式进行通信,典型的共享内存通信方式就是通过共享对象进行通信。 消息传递:线程之间没有公共状态,线程之间必须通过明确的发送消息来显式进行通信,在java中典型的消息传递方式就是wait()和notify(),notifyAll()。 Java内存模型 Java的并发采用的是共享内存模型,JMM决定一个线程

2022-01-07 20:00:33 271

原创 超硬货,大型 Rust 项目经验分享

本篇文章中,我将分享我组织大型 Rust 项目的经验。但这绝不是权威的,只是我通过尝试和错误中发现的一些小技巧。Cargo,作为 Rust 的构建系统,遵循约定大于配置的原则。它不仅为小型项目提供了一套良好的默认配置集,尤其为公共 crates.io 库量身定做。虽然这些默认值并不完美,但它们已经足够用了。这对整个生态系统的一致性也是值得欢迎的。然而当涉及到大型的、多 crate 的项目时,Cargo 就不那么统一了,它被组织成一个 Cargo 工作空间。而工作空间是灵活的 —— Cargo 对工作

2022-01-07 19:57:23 5074

原创 人人都是 Serverless 架构师 | 弹幕应用开发实战

如何使用 Serverless 架构实现全双工通信的应用,Serverless 架构中数据库是如何使用的,本篇文章将为您揭开答案。”Serverless 的理念是即时弹性,用完即走。服务并非长时间运行,这也就意味着像 websocket 这种长链接的请求模式看起来并不适合Serverless。是否有其它的办法即可以满足长连接模式请求,又能够利用Serverless本身特性呢?答案是肯定的,上一篇文章我们谈及了网关的关键作用,所以这次也是通过网关来解决全双工通信的问题。...

2022-01-07 19:52:02 3005

原创 三分钟教你用 Scarlet 写一个 WebSocket App

在移动应用程序中,数据层是屏幕上显示内容的真实来源。然而,在今年早些时候在 Tinder 中集成了 WebSocket API 时,维护它成为了一个令人头疼的问题。为了在 Android 上更轻松地集成 WebSocket,Scarlet应运而生。WebSocket 是在 Android 应用程序中实现数据层的选项之一,尤其是在应用需要实时更新数据的情况下,例如聊天、在线多人游戏和实时提要。它在客户端和服务器之间建立双向连接。当连接打开时,它们可以以低开销来回发送文本和二进制消息。本文将教大家如何在..

2022-01-07 19:50:31 158

原创 自动化测试框架Python+selenium+unittest系列 之 WebDriver

在介绍WebDriver浏览器封装方法之前,先简单介绍自动化测试框架Python+unittest+selenium。selenium 是一个用于Web应用程序测试的开源自自动化工具。selenium测试直接运行在浏览器中,模拟真正的用户在操作。selenium具有兼容性好的特性,不管是操作系统、还是浏览器、还是脚本编程语言,它都能覆盖主流,堪称“万能”工具,因此很受用户欢迎。unittest是一款Python自带的测试框架,使用简单,与常见的测试框架一样,使用套件、组件实现自动化测试封装。这里也简单给大家

2022-01-06 16:20:41 382

原创 非常实用的 Python 库,推一次火一次

Python 是一个很棒的语言。它是世界上发展最快的编程语言之一。它一次又一次地证明了在开发人员职位中和跨行业的数据科学职位中的实用性。整个 Python 及其库的生态系统使它成为全世界用户(初学者和高级用户)的合适选择。它的成功和流行的原因之一是它强大的第三方库的集合,这些库使它可以保持活力和高效。在本文中,我们会研究一些用于数据科学任务的 Python 库,而不是常见的比如 panda、scikit-learn 和 matplotlib 等的库。尽管像 panda 和 scikit-learn 这样

2022-01-06 16:19:28 88

原创 这18 个 Python 高效编程小技巧,真香。

初识Python语言,觉得python满足了你上学时候对编程语言的所有要求。python语言的高效编程技巧让那些曾经苦逼学了四年c或者c++的人,兴奋的不行不行的,终于解脱了。高级语言,如果做不到这样,还扯啥高级呢?01 交换变量>>>a=3>>>b=6这个情况如果要交换变量在c++中,肯定需要一个空变量。但是python不需要,只需一行,大家看清楚了>>>a,b=b,a>>>print(a)...

2022-01-06 16:17:25 102

原创 警惕,PHP、Node、Ruby 和 Python 应用,漏洞还没结束

12 月 10 日凌晨,Apache 开源项目 Log4j2 的远程代码执行漏洞细节被公开,作为当前全球使用最广泛的 java 日志框架之一。该漏洞影响着很多全球使用量前列的开源组件,如 Apache Struts2、Apache Solr、Apache Druid、Apache Flink 等。而且因为该漏洞利用方式简单,一旦有攻击者利用该漏洞,就可以在目标服务器上执行任意代码,给被攻击者造成极大危害。漏洞被公布后,厂商马上发布了新版本 log4j-2.15.0-rc1 对漏洞进行修复,并在之后更新了 l

2022-01-06 16:15:47 96

原创 python处理数据的一些代码

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、如何读取txt文件,将其转化为DataFrame格式 二、给DataFrame添加列名 四、读取csv文件,不让第一行成为列名 五、读取DataFrame的第几行第几列 六、读取数据时,删除含有空值的行或列 七、将dict数据存储到txt中一、如何读取txt文件,将其转化为DataFrame格式f = open("G:\\prediction\\BIOGRID-ORGANISM-Homo_sapiens-4

2022-01-06 16:14:44 384

原创 使用 Python 第三方库发送电子邮件

1. 安装 yagmail 第三方库 2. 开启 POP3、IMAP 和 SMTP 服务 2.1 POP3、IMAP 和 SMTP 简介 2.2 开启 POP3、IMAP、和 SMTP 协议 Python 作为当前最热门的编程语言之一,不仅仅是因为它的学习成本低、入门容易,还因为它具有丰富的生态环境,包括内置的模块以及第三方的库,使用它能够做很多事情。例如,办公自动化也是 Python 涉及的领域之一,如果能够用好 Python, 能够显著提高我们的工作效率。今天我们就来学习,如何使用

2022-01-06 16:13:48 1115

原创 年终超全整理:机器学习视频教程和 Python 技术路线来了

大家好,2022马上要来了,这几天对学习机器学习时收藏的资料进行了整理,当初看过《吴恩达老师》的几个视频,但是没看几个视频就直接去磕《机器学习》(又名“西瓜书”)和《机器学习实战》了。现在主要是跟着李宏毅老师的机器学习视频。先说一句“资料在精,不再多”。选好一个资料,把这个资料给磕完就是很不错的。以上提到的资料都会有,给大家准备这么多,是给大家多点选择的机会.1.资料展示1.1 全部资料展示1.2 机器学习技法(台大-林轩田)1.3 斯坦福吴恩达1.4 唐宇迪 pytho

2022-01-06 16:12:46 1127

原创 舒服,又偷学到一个高并发场景面试题的解决方案。

高并发 PV 问题他的文章标题是这样的:首先他给出了一个业务场景:在一些需要统计 PV(Page View), 即页面浏览量或点击量高并发系统中,如:知乎文章浏览量,淘宝商品页浏览量等,需要统计相应数据做分析。比如我的公众号阅读量大概在 3000 左右,如果要统计我这种小号主的 PV 其实就很简单,就用 Redis 的 incr 命令轻轻松松就实现了。但是,假设微信公众号每天要统计 10 万篇文章,每篇文章的访问量 10 万,如果采用 Redis 的 incr命令来实现计数器的话,每天

2022-01-06 15:11:42 6320 4

原创 Arm64架构下编译便携Python

这段时间,我一直忙于将Rainbond源码构建模块移植到 Arm64/aarch64 架构中。对于 Python 项目而言,可以直接通过源代码编译成为可运行在各种容器平台之上的容器镜像。这个过程不需要使用者掌握任何容器化知识。在 Rainbond 源码构建适配 Arm64 架构之后,用户可以直接利用编译完成的容器镜像交付到 Arm64 环境下,比如华为的鲲鹏系列服务器中。Python源码编译简介在当前场景下,我要探索如何在 Arm64 架构下,通过builder这一 Rainbond 源码编...

2022-01-05 21:26:56 1038

原创 从零开始用 Python 构建一个简单的神经网络

正如我们在机器学习教程的前一章中所展示的,仅由一个感知器组成的神经网络足以分离我们的示例类。当然,我们精心设计了这些类以使其工作。有许多类集群,对于它们不起作用。我们将查看其他一些示例,并将讨论无法分离类的情况。我们的类是线性可分的。线性可分性在欧几里得几何中有意义。两组点(或类)称为线性可分的,如果平面中至少存在一条直线,使得一类的所有点都在直线的一侧,而另一类的所有点都在另一侧边。更正式的:如果两个数据簇(类)可以通过线性方程形式的决策边界分开∑一世=1nX一世⋅瓦一世=0它...

2022-01-05 21:21:08 132

原创 如何将Python算法模型注册成Spark UDF函数实现全景模型部署

本文作者来自MLSQL社区 & Kyligence 机器学习平台工程师 Andie Huang背景 Background对于算法业务团队来说,将训练好的模型部署成服务的业务场景是非常常见的。通常会应用于三个场景:部署到流式程序里,比如风控需要通过流式处理来实时监控。 部署到批任务中 部署成API服务然而在现实世界中,很多算法工程师都会遇到需要花费很多精力在模型部署工程上的问题,平台割裂。训练和部署是在不同平台完成的。 配合问题。部署一个模型,需要研发工程师,运维配合,才能完成

2022-01-05 21:16:41 230

转载 软件测试面试:请说一下你工作中发现的最有价值的bug?

这个问题,基本95%的面试都会遇到。究竟面试官想要知道什么呢?让我们回到这个面试场景来看看。“说一下你印象最深的bug"你的脑子里拼命的回想过去遇到的印象深刻或有价值的bug。乍一眼看,这是一个简答到不起眼的问题。可是同学们,你一定要知道,往往越简短的新闻,越是爆炸性的。而且很多同学会把目光集中在:印象最深的上面,其实这道题目的迷惑性就在这里,所以一定要谨慎回答。“我就是做测试的,每天那么多bug,累计下来,没有上万也有成千,猛的一问我,我还真的一下想不起来哪些是有价值的,我只记得当

2022-01-05 21:15:24 610

原创 Python中不可错过的五个超有用的神仙级函数

在本文中,我们用代码详细说明了Python中超实用的5个函数的重要作用。这些函数虽然简单,但却是Python中功能最强大的函数。Python有许多库和内置函数,理解并正确使用这些函数有助于帮助我们进行高效地编程。2. Lambda 函数Lambda函数是Python中功能最强大的函数之一,它有时也被称之为匿名函数.它之所以被称为匿名函数,是因为我们可以实例化和声明一个没有名字的函数。如果要执行单个操作,使用lambda函数替代传统函数非常有用。Lambda与普通函数类似,只是它只能返回一

2022-01-05 21:14:56 83

原创 python高级代码块

# pandas dataFrame[col].value_counts() 类似# Get number of unique entries in each column with categorical dataobject_nunique = list(map(lambda col: X_train[col].nunique(), object_cols))d = dict(zip(object_cols, object_nunique))# Print number of unique .

2022-01-05 21:13:08 115

原创 面试题:从10亿个随机整数中,找出前1000个最大数

题目描述从10亿个随机整数中,找出前1000个最大数,要求以最小的时间复杂度及空间复杂度实现该需求。解题思路这道题的解决思路是将无序整数排列为有序序列,升序或降序,从中取出前1000个最大数。适用的排序算法包括:插入排序、选择排序、冒泡排序、快速排序等,时间复杂度: 堆排序、归并排序,时间复杂度: 本题需要实现的是找出前1000个最大数,空间上可以只做1000条最大目标数组,其他数据与目标数组进行比较,如果比较值小于目标数组最小值,则抛弃。否则将最小值替换为比较值,并使用排序算法完

2021-12-31 19:41:42 355

原创 牛津大学入学面试就这?组队选个颜色?背后的逻辑水深得很

牛津果然不一样:入学测试色色的雯 发自 凹非寺量子位 报道 | 公众号 QbitAI如何顺利入学牛津大学?别慌,选个颜色先。最近,一位牛津大学的逻辑学教授发布了一个入学面试问题,在各大平台都引来了大批网友的围观和讨论。问题描述非常简单:这是一项双人合作节目,两位完全没有见过面的参赛选手将各自待在一个完全封闭的房间中。在一轮比赛中,参赛者有两种可执行操作:1、选择结束比赛,并向比赛主持人说出一种颜色;2、向另一位参赛者发送一条信息(内容随意),接收者将在下一轮比..

2021-12-31 19:40:43 70

原创 Web 应用高并发的思考与实践

一、前言2020 年初,突如其来的疫情使各行各业都进入紧张状态,互联网产品也各尽其能投入到战“疫”中。健康信息收集是抗疫过程中最基础的工作之一,腾讯问卷平台结合其信息采集、统计分析的特性,快速迭代出“健康打卡”“复学码”等功能。然而,健康码关系着用户能否正常进出社区、公司或校园,计算的时效性和准确性必须有保证。加之用户量大、打卡时间点集中,在开发时间和资源都紧张的情况下,我们是如何应对访问高并发、数据量陡增,从而保障系统的稳定?图 1本文结合腾讯问卷后台的优化和改造工作,记录过程中的思考

2021-12-31 19:39:47 1342

原创 打车业务下单高并发解决方案

前言在技术领域有一条准则,即不存在银弹技术。在实际工作中,通常无法通过几项简单的技术组合就解决实际业务中各种场景下的复杂问题。虽然追求架构的简单简洁也是架构师的目标之一。但必须认识到架构的简单简洁和没有银弹技术是一对矛盾体。正是整个矛盾体在推进着技术的不断进步。本方案的目的在于抛砖引玉,介绍了 GTS TAM 团队通过对实际技术服务工作中遇到的问题的思考,形成的一种解决方案。希望这个解决方案能够对大家工作中的实际问题的解决起到启发作用。如有兴趣了解详细细节,欢迎联系阿里云 GTS TAM 团队。

2021-12-31 19:39:04 235

原创 Java高并发编程基础三大利器之CyclicBarrier

前面一篇文章我们《Java高并发编程基础三大利器之CountDownLatch》它有一个缺点,就是它的计数器只能够使用一次,也就是说当计数器(state)减到为 0的时候,如果 再有线程调用去 await() 方法,该线程会直接通过,不会再起到等待其他线程执行结果起到同步的作用。为了解决这个问题CyclicBarrier就应运而生了。什么是CyclicBarrierCyclicBarrier是什么?把它拆开来翻译就是循环(Cycle)和屏障(Barrier)图片它的主要作用其实和CountDownL

2021-12-31 19:38:10 123

原创 京东云携手达达构建行业首个跨云双活平台 应对高并发需求

达达快送平台的孙壮不经意间刷新了自己配送时效的记录。2020年6月18日,他只用了十几分钟就将达达集团旗下即时零售平台京东到家的订单送到了用户手中。并且还是在层层山峦,蜿蜒崎岖的山城重庆。跟孙壮一样,达达的张师傅同样拥有一项惊人的成绩,京东到家618直播间开播仅12分钟,张师傅就把用户刚刚在直播间下单购买的草莓送到了她家中。与他们一起创记录的还有京东云,支持达达快送精准调度每一单配送。1小时达的服务对达达快送意味着什么达达集团作为中国领先的本地即时零售和配送平台,旗下有达达快送和京东到家两大

2021-12-31 19:37:26 4611

原创 解秘 Node.js 单线程实现高并发请求原理,以及串联同步执行并发请求的方案

最近在做一个支持多进程请求的 Node 服务,要支持多并发请求,而且请求要按先后顺序串联同步执行返回结果。对,这需求就是这么奇琶,业务场景也是那么奇琶。需求是完成了,为了对 Node.js 高并发请求原理有更深一些的理解,特意写一篇文章来巩固一下相关的知识点。问题Node.js 由这些关键字组成:事件驱动、非阻塞I/O、高效、轻量。于是在我们刚接触 Node.js 时,会有所疑问:为什么在浏览器中运行的 JavaScript 能与操作系统进行如此底层的交互? Node 真的是单..

2021-12-31 19:36:39 1866

原创 java后端知识点梳理——多线程与高并发

进程与线程进程是一个“执行中的程序”,是系统进行资源分配和调度的一个独立单位线程是进程的一个实体,一个进程中一般拥有多个线程。线程和进程的区别进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元。 进程有独立的地址空间,相互不影响,线程只是进程的不同执行路径 线程没有独立的地址空间,多进程的程序比多线程的程序健壮 进程的切换比线程的切换开销大,所以线程上下文的切换比进程上下文切换要快很多。为什么线程上下文切换比进程上下文切换快?进程切换时,涉及到当前进程的CPU环境的保

2021-12-31 19:35:02 824

原创 大话 Python:python 进阶提升 -- 多线程、高并发,离我们真的那么远吗?

记得刚毕业那会儿,老是喜欢研究各种其他的新的技术性的东西,可能今天还在 hadoop 的分布式明天又去准备了解 python 的机器学习。慢慢的了解过很多东西,除了 java 之外,对 scala、C#、python、shell 等都有粗浅的了解,但是真正让我写一个东西拿到生产环境或是作为一个正式的项目说实话有点难。其实,到了编程3年以后我觉得对技术的深度要比宽度更重要一些,所以,我现在主要写一些 java、python 相关的东西,其他的语言不准备碰了。2、每天都在接触多线程现在,很多项目中的多线

2021-12-31 19:33:15 100

原创 超详细的秒杀高并发设计,运维快收藏起来

秒杀系统相信很多人见过,比如京东或者淘宝的秒杀,小米手机的秒杀,那么秒杀系统的后台是如何实现的呢?我们如何设计一个秒杀系统呢?对于秒杀系统应该考虑哪些问题?如何设计出健壮的秒杀系统?本文我们就来探讨一下这个问题。秒杀应该考虑哪些问题超卖问题分析秒杀的业务场景,最重要的有一点就是超卖问题,假如备货只有100个,但是最终超卖了200,一般来讲秒杀系统的价格都比较低,如果超卖将严重影响公司的财产利益,因此首当其冲的就是解决商品的超卖问题。高并发秒杀具有时间短、并发量大的特点,秒杀持续时间只

2021-12-30 14:08:17 296

原创 UDP实现高并发其实非常简单

UDP越来越被重视了,人们期望它和TCP一样,但是呢?…UDP能不能像TCP那样做高并发?内核早在3.9版本就支持REUSEPORT了,但直到2015年底,我也只能做个表面上(看起来像那么回事,但实际上就是垃圾的东西)的东西:https://blog.csdn.net/dog250/article/details/17061277但也只是看起来像,除此之外,我当时的想法相当于垃圾。UDP做高并发非常简单,和TCP的accept模型似乎没有什么区别,下面是一个随手撸的代码,主要是跟着小小学py

2021-12-30 14:06:53 1588

原创 高并发下如何保证接口的幂等性?

接口幂等性问题,对于开发人员来说,是一个跟语言无关的公共问题。本文分享了一些解决这类问题非常实用的办法,绝大部分内容我在项目中实践过的,给有需要的小伙伴一个参考。不知道你有没有遇到过这些场景: 有时我们在填写某些form表单时,保存按钮不小心快速点了两次,表中竟然产生了两条重复的数据,只是id不一样。 我们在项目中为了解决接口超时问题,通常会引入了重试机制。第一次请求接口超时了,请求方没能及时获取返回结果(此时有可能已经成功了),为了避免返回错误的结果(这种情况不可能直接返...

2021-12-30 14:05:40 102

原创 码云 Gitee:高并发大存储下的架构演进之路

作为国内发展最快的代码托管平台,Gitee 每天数据都在飞速的增长中,而且随着 DevOps 概念的普及,持续构建也给平台带来更多的请求和更大的并发量,每天需要处理上千万的 Git 操作,Gitee 架构也是在这个过程中逐步迭代发展起来的,回望 Gitee 架构的发展,主要分为5个阶段:单机架构 分布式存储架构 NFS 架构 自研分片架构 Rime 读写分离架构接下来就分享下 Gitee 整个架构的演进史。单机架构Gitee 上线于2013年5月份,上线之初就是一个单纯的单体 Rail

2021-12-30 14:04:33 355

原创 Java高并发测试框架JCStress

如果要研究高并发,一般会借助高并发工具来进行测试。JCStress(Java Concurrency Stress)它是OpenJDK中的一个高并发测试工具,它可以帮助我们研究在高并发场景下JVM,类库以及硬件等状况。JCStress学起来很简单,而且官方也提供了许多高并发场景下的测试用例,只要引入一个jar包,即可运行研究。如何使用JCStress此演示用maven工程,首先需要引入jar包,核心包是必须要的,样例包非必须要,此是为了演示其中的例子。<dependencies&gt

2021-12-30 14:03:35 317

原创 Java——多线程高并发系列之ArrayList、HashSet、HashMap集合线程不安全的解决方案

1.ArrayList的线程不安全解决方案将main方法的第一行注释打开,多执行几次,会看到如下图这样的异常信息:????????????这是一个 并发修改 异常,首先ArrayList肯定是线程不安全的,产生这个异常的原因就是可能第一个线程刚进入 ArrayList 集合中要进行 add 操作时,另外一个线程此时也进来进行 add 操作,而第三个线程又进来进行 get 操作,导致读写没办法进行同步了,最终打印结果的时候就炸了。解决方案看代码中的剩下几行注释。package test.nots

2021-12-29 15:27:27 216

原创 高并发场景下JVM调优实践之路

一、背景2021年2月,收到反馈,视频APP某核心接口高峰期响应慢,影响用户体验。通过监控发现,接口响应慢主要是P99耗时高引起的,怀疑与该服务的GC有关,该服务典型的一个实例GC表现如下图:可以看出,在观察周期里: 平均每10分钟YoungGC次数66次,峰值为470次; 平均每10分钟Full GC次数0.25次,峰值5次; 可见FullGC非常频繁,YoungGC在特定的时段也比较频繁,存在较大的优化空间。由于对GC停顿的优化是降低接口的P99时延...

2021-12-29 15:25:43 101

原创 高并发 HTTP 请求实践

当今,正处于互联网高速发展的时代,每个人的生活都离不开互联网,互联网已经影响了每个人生活的方方面面。我们使用淘宝、京东进行购物,使用微信进行沟通,使用美图秀秀进行拍照美化等等。而这些每一步的操作下面,都离不开一个技术概念HTTP(Hypertext Transfer Protocol,超文本传输协议)。举个:chestnut:,当我们打开京东APP的时候,首先进入的是开屏页面,然后进入首页。在开屏一般是广告,而首页是内容相关,包括秒杀,商品推荐以及各个tag页面,而各个tag也有其对应的内容。当我们在进

2021-12-29 15:24:24 1150

原创 阿里P8面试官:聊聊双11百亿流量「高并发秒杀系统」的设计思路

近年来无论是电商还是直播带货等业务,都能看到各种秒杀活动,可以说,秒杀系统几乎是所有互联网公司的标配了。但是需要明确的是,区别于电商系统这个笼统的架构,秒杀系统具有三个主要特点:大量用户在同一时间进行抢购,造成瞬时访问量激增 用户请求数量往往远大于库存数量 业务流程简单,涉及到的操作基本就是下单、减库存所以对应场景特点,秒杀系统就面临着以下问题:问题1:如何应对瞬时大流量高并发?拿双十一的电商秒杀来说,系统能否承载瞬时大流量高并发就是一大难点。高并发问题的解决思路是...

2021-12-29 15:23:13 208

原创 JVM和JAVA体系结构关系概要总结

本博文中所讨论的JVM只是自己看书和教程的个人理解,不太严谨,严谨需要另找详细的资料,对细节把控很到位。本博文环境:System OS: Windows10 1909 JDK-Version: 1.8.0_202 JVM: Java HotSpot™ 64-Bit Server VM (build 25.202-b08, mixed mode) IDE: IDEA2021.3文章目录jvm可以满足你,面试的需要,项目管理、调优的需求。加上如果你有一定的极客精神,大把的时间。想了解垃

2021-12-29 13:07:52 1233

空空如也

空空如也

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

TA关注的人

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