- 前言1.互联网项目的指标1、衡量网站的性能指标• 响应时间:指执行一个请求从开始到最后收到响应数据所花费的总体时间• 并发数:指系统同时能处理的请求数量• 并发连接数:指的是客户端向服务器发起请求,并建立了TCP连接。每秒钟服务器连接的总TCP数量• 请求数:也称为QPS(Query Per Second)指每秒多少请求• 并发用户数:单位时间内有多少用户• 吞吐量:指单位时间内系统能处理的... 前言1.互联网项目的指标1、衡量网站的性能指标• 响应时间:指执行一个请求从开始到最后收到响应数据所花费的总体时间• 并发数:指系统同时能处理的请求数量• 并发连接数:指的是客户端向服务器发起请求,并建立了TCP连接。每秒钟服务器连接的总TCP数量• 请求数:也称为QPS(Query Per Second)指每秒多少请求• 并发用户数:单位时间内有多少用户• 吞吐量:指单位时间内系统能处理的...
- 如何在Java线程池中提交线程? 引言在并发编程中,线程池是一种常用的技术,它可以有效地管理和调度线程。Java提供了java.util.concurrent包,其中包含了Executor框架,用于简化线程的创建和管理。本文将介绍如何在Java线程池中提交线程,同时讨论一些线程池的最佳实践。 线程池的基本概念在深入讨论线程池中如何提交线程之前,我们先了解一些线程池的基本概念。 1. Exe... 如何在Java线程池中提交线程? 引言在并发编程中,线程池是一种常用的技术,它可以有效地管理和调度线程。Java提供了java.util.concurrent包,其中包含了Executor框架,用于简化线程的创建和管理。本文将介绍如何在Java线程池中提交线程,同时讨论一些线程池的最佳实践。 线程池的基本概念在深入讨论线程池中如何提交线程之前,我们先了解一些线程池的基本概念。 1. Exe...
- Synchronized与ReentrantLock的异同比较在Java中,Synchronized和ReentrantLock都是用于实现线程同步的机制。它们的目标都是为了解决多线程并发访问共享资源时可能出现的竞态条件和数据不一致的问题。然而,它们在实现方式、使用场景和功能特性上存在一些不同之处。接下来将详细比较Synchronized和ReentrantLock的异同。 相同点线程同步... Synchronized与ReentrantLock的异同比较在Java中,Synchronized和ReentrantLock都是用于实现线程同步的机制。它们的目标都是为了解决多线程并发访问共享资源时可能出现的竞态条件和数据不一致的问题。然而,它们在实现方式、使用场景和功能特性上存在一些不同之处。接下来将详细比较Synchronized和ReentrantLock的异同。 相同点线程同步...
- 获取对象的锁:Lock是什么?如何确定对象的锁? 引言在多线程编程中,保证共享资源的安全性是至关重要的。为了实现线程安全,我们经常会使用锁来控制对共享资源的访问。本文将重点介绍锁的概念以及如何确定对象的锁。 Lock(锁)的概念锁是一种并发控制机制,用于保护共享资源在多线程环境下的正确访问。通过获取锁,线程可以独占地访问临界区资源,其他线程则需要等待释放锁的信号才能进入。锁是多线程编程中最... 获取对象的锁:Lock是什么?如何确定对象的锁? 引言在多线程编程中,保证共享资源的安全性是至关重要的。为了实现线程安全,我们经常会使用锁来控制对共享资源的访问。本文将重点介绍锁的概念以及如何确定对象的锁。 Lock(锁)的概念锁是一种并发控制机制,用于保护共享资源在多线程环境下的正确访问。通过获取锁,线程可以独占地访问临界区资源,其他线程则需要等待释放锁的信号才能进入。锁是多线程编程中最...
- 一、哨兵模式1.哨兵简介1.1 哨兵概念首先我们来看一个业务场景:如果redis的master宕机了,此时应该怎么办?那此时我们可能需要从一堆的slave中重新选举出一个新的master,那这个操作过程是什么样的呢?这里面会有什么问题出现呢?要实现这些功能,我们就需要redis的哨兵,那哨兵是什么呢?哨兵哨兵(sentinel) 是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现... 一、哨兵模式1.哨兵简介1.1 哨兵概念首先我们来看一个业务场景:如果redis的master宕机了,此时应该怎么办?那此时我们可能需要从一堆的slave中重新选举出一个新的master,那这个操作过程是什么样的呢?这里面会有什么问题出现呢?要实现这些功能,我们就需要redis的哨兵,那哨兵是什么呢?哨兵哨兵(sentinel) 是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现...
- 一、数据删除与淘汰策略1.过期数据1.1 Redis中的数据特征Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态TTL返回的值有三种情况:正数,-1,-2• 正数:代表该数据在内存中还能存活的时间• -1:永久有效的数据• -2 :已经过期的数据 或被删除的数据 或 未定义的数据删除策略就是针对已过期数据的处理策略,已过期的数据是真的就立即删除了... 一、数据删除与淘汰策略1.过期数据1.1 Redis中的数据特征Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态TTL返回的值有三种情况:正数,-1,-2• 正数:代表该数据在内存中还能存活的时间• -1:永久有效的数据• -2 :已经过期的数据 或被删除的数据 或 未定义的数据删除策略就是针对已过期数据的处理策略,已过期的数据是真的就立即删除了...
- 一、Redis基础1. Redis 简介1.1 NoSQL概念1.1.1 问题现象NoSQL诞生的业务现象是由于传统的关系型数据库在处理大规模数据时存在性能瓶颈和扩展性不足的问题,而NoSQL数据库则能够更好地应对这些挑战,因此在大数据、互联网、移动应用等领域得到了广泛应用。NoSQL数据库具有高可扩展性、高性能、灵活的数据模型等特点,能够满足不同业务场景的需求。因此,许多企业和组织都开始采... 一、Redis基础1. Redis 简介1.1 NoSQL概念1.1.1 问题现象NoSQL诞生的业务现象是由于传统的关系型数据库在处理大规模数据时存在性能瓶颈和扩展性不足的问题,而NoSQL数据库则能够更好地应对这些挑战,因此在大数据、互联网、移动应用等领域得到了广泛应用。NoSQL数据库具有高可扩展性、高性能、灵活的数据模型等特点,能够满足不同业务场景的需求。因此,许多企业和组织都开始采...
- Java中的序列化(Serialization)序列化是Java中一种将对象转换为字节流的过程,这样可以方便地在网络上传输或存储到磁盘上。反序列化则是将字节流重新转换回对象的过程。本篇文章将详细介绍Java中的序列化以及如何实现序列化和反序列化。 1. 什么是序列化?序列化是将对象的状态信息转换为一系列可存储或传输的字节的过程。通过序列化,我们可以将一个对象保存到文件或者通过网络发送给其他... Java中的序列化(Serialization)序列化是Java中一种将对象转换为字节流的过程,这样可以方便地在网络上传输或存储到磁盘上。反序列化则是将字节流重新转换回对象的过程。本篇文章将详细介绍Java中的序列化以及如何实现序列化和反序列化。 1. 什么是序列化?序列化是将对象的状态信息转换为一系列可存储或传输的字节的过程。通过序列化,我们可以将一个对象保存到文件或者通过网络发送给其他...
- ConcurrentHashMap 如何实现线程安全 引言在多线程环境下,线程安全是一项重要的考虑因素。在并发编程中,使用 java.util.HashMap 是常见的选择,但它并不是线程安全的。为了解决这个问题,Java 提供了 ConcurrentHashMap 类,在保证高并发性能的同时,提供了线程安全的功能。本文将介绍 ConcurrentHashMap 的实现原理,以及如何以线程... ConcurrentHashMap 如何实现线程安全 引言在多线程环境下,线程安全是一项重要的考虑因素。在并发编程中,使用 java.util.HashMap 是常见的选择,但它并不是线程安全的。为了解决这个问题,Java 提供了 ConcurrentHashMap 类,在保证高并发性能的同时,提供了线程安全的功能。本文将介绍 ConcurrentHashMap 的实现原理,以及如何以线程...
- Spring事务实现方式在Java开发中,事务管理是一个非常重要的话题。为了保证数据的一致性和完整性,我们需要对数据库操作进行事务管理。Spring框架提供了多种事务管理的方式,本文将介绍其中两种常用的事务实现方式:编程式事务和声明式事务。编程式事务编程式事务是指通过编写代码来实现事务管理。在Spring中,我们可以通过以下步骤来实现编程式事务:(1)配置数据源和事务管理器:<!-- 配置数... Spring事务实现方式在Java开发中,事务管理是一个非常重要的话题。为了保证数据的一致性和完整性,我们需要对数据库操作进行事务管理。Spring框架提供了多种事务管理的方式,本文将介绍其中两种常用的事务实现方式:编程式事务和声明式事务。编程式事务编程式事务是指通过编写代码来实现事务管理。在Spring中,我们可以通过以下步骤来实现编程式事务:(1)配置数据源和事务管理器:<!-- 配置数...
- Java多态及其特性多态是面向对象编程的重要特性之一,它使得一个对象可以以多种类型进行操作,从而实现代码的灵活性和扩展性。在Java语言中,多态性是通过继承、重写和向上转型来实现的。本文将介绍Java中多态的概念、特性和应用。 1. 多态的概念多态是指同一个方法在不同的对象上可能会有不同的实现。换句话说,多态是通过父类引用指向子类对象,以实现一组类似的对象对同一个消息做出不同的响应。多态性... Java多态及其特性多态是面向对象编程的重要特性之一,它使得一个对象可以以多种类型进行操作,从而实现代码的灵活性和扩展性。在Java语言中,多态性是通过继承、重写和向上转型来实现的。本文将介绍Java中多态的概念、特性和应用。 1. 多态的概念多态是指同一个方法在不同的对象上可能会有不同的实现。换句话说,多态是通过父类引用指向子类对象,以实现一组类似的对象对同一个消息做出不同的响应。多态性...
- 简介:在Java编程中,我们经常需要进行精确的数值计算,特别是涉及到货币、税务、科学计算等领域时。而double类型由于其浮点数的特性,在进行精确计算时可能会出现舍入误差,因此不适合进行精度要求较高的计算。相比之下,BigDecimal类提供了更精确的数值计算能力,可以避免舍入误差问题。本文将介绍为什么推荐使用BigDecimal而不是double,以及使用BigDecimal时的注意事项、... 简介:在Java编程中,我们经常需要进行精确的数值计算,特别是涉及到货币、税务、科学计算等领域时。而double类型由于其浮点数的特性,在进行精确计算时可能会出现舍入误差,因此不适合进行精度要求较高的计算。相比之下,BigDecimal类提供了更精确的数值计算能力,可以避免舍入误差问题。本文将介绍为什么推荐使用BigDecimal而不是double,以及使用BigDecimal时的注意事项、...
- Java创建线程的方法在Java中,我们可以使用java.lang.Thread类来创建线程。Thread类提供了一个继承层次结构,允许我们创建自定义线程。本文将详细介绍Java创建线程的方法及其原理。一、继承Thread类要创建一个线程,首先需要继承Thread类。然后重写run()方法,该方法将在新线程中执行。以下是一个简单的示例:public class MyThread extend... Java创建线程的方法在Java中,我们可以使用java.lang.Thread类来创建线程。Thread类提供了一个继承层次结构,允许我们创建自定义线程。本文将详细介绍Java创建线程的方法及其原理。一、继承Thread类要创建一个线程,首先需要继承Thread类。然后重写run()方法,该方法将在新线程中执行。以下是一个简单的示例:public class MyThread extend...
- 类加载机制JVM类加载机制分为五个部分: 加载,验证,准备,解析,初始化加载加载是类加载过程中的一个阶段,会在内存中生成一个代表这个类的java.lang.Class 对象,作为方法区这个类的各种数据的入口加载可以是从Class文件中获取,也可以从jar,war包读取获取,也可以在运行时生成(动态代理),以及JSP文件转换为Class类验证这个阶段主要是为了 确保Class文件的字节流中包含... 类加载机制JVM类加载机制分为五个部分: 加载,验证,准备,解析,初始化加载加载是类加载过程中的一个阶段,会在内存中生成一个代表这个类的java.lang.Class 对象,作为方法区这个类的各种数据的入口加载可以是从Class文件中获取,也可以从jar,war包读取获取,也可以在运行时生成(动态代理),以及JSP文件转换为Class类验证这个阶段主要是为了 确保Class文件的字节流中包含...
- 前几天的上线功能bug,由于评论数量过多,未异步加载,导致数据丢失,原因是新老功能迁移时未做异步加载,就此功能找一下微博类评论等功能的架构设计思考,还有其他产品,社区,论坛,博客等。 微博曾流传可支撑8位明星同时出轨,但大事件屡屡挂掉,周杰伦出新歌,充值点播渠道挂掉,2019年财报微博日平均活跃用户2.16亿,面对亿级平台该如何设计架构?关于微博评论功能的设计与思考:微博作为一种社交... 前几天的上线功能bug,由于评论数量过多,未异步加载,导致数据丢失,原因是新老功能迁移时未做异步加载,就此功能找一下微博类评论等功能的架构设计思考,还有其他产品,社区,论坛,博客等。 微博曾流传可支撑8位明星同时出轨,但大事件屡屡挂掉,周杰伦出新歌,充值点播渠道挂掉,2019年财报微博日平均活跃用户2.16亿,面对亿级平台该如何设计架构?关于微博评论功能的设计与思考:微博作为一种社交...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中 -
一个AI团队帮你写代码:华为云码道Agent Space实战2026/06/25 周四 19:00-21:00
张翰文-华为云码道工程师/郭英旭-青软创新科技集团股份有限公司 软件架构师
本场直播聚焦华为云码道Agent Space两大模式:研发办公、代码开发,亲身体验从需求到代码的AI自动化能力。实操演示基于华为 CodeArts CLI,依托 OpenSpec 规格体系从零搭建业务项目。
回顾中
热门标签