2022 08-15

HttpClient 在vivo内销浏览器的高并发实践优化

作者:vivo互联网服务器团队-ZhiGuangquan HttpClient作为Java程序员最常用的Http工具,其对Http连接的管理能简化开发,并且提升连接重用效率;在正常情况下,HttpClient能帮助我们高效管理连接,但在一些并发高,报文体较大的情况下,如果再遇到网络波动,如何保证连接被高效利用,有哪些优化空间。 一、问题现象 北京时间X月X日,浏览器信息流服务监控出现异常,主要表现在以下三个方面: 从某个时间点开始,云监控显示部分Http接口的熔断器被打开,而且从明细列表可

2022 08-15

.NET 7 发布的最后一个预览版Preview 7, 下个月发布RC

微软在2022年8月9日发布了.NET7Preview7[1],这是它在11月10日RTM之前进入发布候选阶段之前的最后预览版。预览版7已在VisualStudio17.4预览版1中进行了测试,该预览版也于也与VS2022v17.3版本一起发布。对于预览版7,开发团队专注于改进System.LINQ,Unix文件权限,低级Struct,p/Invoke源代码生成,代码生成和websockets。所有这些特定项目都属于.NET网站主题[2]中提供的一般指导。 .NET7最终将统一所有不同的.N

2022 08-15

上周热点回顾(8.8-8.14)

热点随笔: · 如何在BI中增加“路线地图”并进行数据分析? (葡萄城技术团队)· 程序员的悲哀 (林子er)· 学长告诉我,大厂MySQL都是通过SSH连接的 (咔咔-)· 【Maui正式版】创建可跨平台的Maui程序,以及有关依赖注入、MVVM双向绑定的实现和演示 (WeskyNet)· FreeSql将Saas租户方案精简到极致[.NETORMSAAS] (FreeSql)· 解决

2022 08-15

世界上最伟大的女程序员

给你十秒钟你能说出多少个世界上最伟大的程序员? 你可能会说出下面这些答案: Java之父:詹姆斯·高斯林JamesGosling Python之父:吉多·范德罗姆GuidovanRossum Linux之父:林纳斯·托瓦兹LinusTorvalds C语言之父:丹尼斯·里奇DennisRitche Unix创始人:肯·汤普逊KenThompson 微软:比尔·盖茨BillGates 并发包之父:Douglea ...... 但是这些名字的背后都有一个特征:男人。所以我们无外乎都有一种遐想,即

2022 08-15

解读Gartner2022年组装式应用报告:从组装式企业到组装式应用

摘要:“到2023年,采用组装式方法的组织在新特性交付速度比竞争对手快80%。”Gartner 为什么未来的企业是组装式的? 物竞天择,适者生存,企业也是一样,在发展过程中,会为了适应市场环境而做出改变。良性的竞争会促进企业自身业务创新,提升运营效率。 业务更快速的变化。可以看到这几年一些新的需求如远程办公、远程教育、信息安全等迅速涌现。 用户体验的多样性。区别于之前线上或者线下的体验方式,企业及用户更需要线上线下如何互动的体验。除了在PC端,还有手机端、pad端、车机端、元宇宙、AR/V

2022 08-15

手把手教你分析MySQL查询性能瓶颈,包教包会

当一条SQL执行较慢,需要分析性能瓶颈,到底慢在哪? 我们一般会使用Explain查看其执行计划,从执行计划中得知这条SQL有没有使用索引?使用了哪个索引? 但是执行计划显示内容不够详细,如果显示用到了某个索引,查询依然很慢,我们就无法得知具体是哪一步比较耗时? 好在MySQL提供一个SQL性能分析工具—Profile。 Profile可以帮助我们分析SQL性能瓶颈和资源消耗情况。 1.查看Profile配置 showvariableslike'%profil%'; have_profi

2022 08-15

PerfView专题 (第四篇):如何寻找 C# 中程序集泄漏

一:背景 前两篇我们都聊到了非托管内存泄漏,一个是HeapAlloc,一个是VirtualAlloc,除了这两种泄漏之外还存在其他渠道的内存泄漏,比如程序集泄漏,这一篇我们就来聊一聊。 二:程序集也会泄漏? 在我分析的一百多dump中,程序集方面的泄漏主要有XmlSerializer和Castle.Proxy这两个入口,这里就来探讨XmlSerializer所造成的泄漏。 1.问题代码 为了方便讲述,先上一段测试代码,百分百内存泄漏,如假包换。 internalclassProgram { s

2022 08-15

Java NIO全面详解(看这篇就够了)

很多技术框架都使用NIO技术,学习和掌握JavaNIO技术对于高性能、高并发网络的应用是非常关键的@mikechen NIO简介 NIO中的N可以理解为Non-blocking,不单纯是New,是解决高并发、I/O高性能的有效方式。 JavaNIO是Java1.4之后推出来的一套IO接口,NIO提供了一种完全不同的操作方式,NIO支持面向缓冲区的、基于通道的IO操作。 新增了许多用于处理输入输出的类,这些类都被放在java.nio包及子包下,并且对原java.io包中的很多类进行改写,新增了满

2022 08-15

【RocketMQ】事务的实现原理

事务的使用 RocketMQ事务的使用场景 单体架构下的事务 在单体系统的开发过程中,假如某个场景下需要对数据库的多张表进行操作,为了保证数据的一致性,一般会使用事务,将所有的操作全部提交或者在出错的时候全部回滚。以创建订单为例,假设下单后需要做两个操作: 在订单表生成订单 在积分表增加本次订单增加的积分记录 在单体架构下只需使用@Transactional开启事务,就可以保证数据的一致性: @Transactional publicvoidorder(){ StringorderId=UU

2022 08-15

Java SE 9 多版本兼容 JAR 包示例

JavaSE9多版本兼容JAR包示例 作者:Grey 原文地址:JavaSE9多版本兼容JAR包示例 说明 Java9版本中增强了Jar包多版本字节码文件格式支持,也就是说在同一个Jar包中我们可以包含多个Java版本的class文件,这样就能做到Jar包升级到新的Java版本时不用强迫使用方为了使用新Jar包而升级自己的业务模块Java版本,也不用针对不同最低支持Java版本提供不同的Jar,真正的做到了一个Jar包兼容所有的目的。 本文通过以下示例来说明多版本Jar包的使用。 环境准备