获得徽章 0
- #挑战每日一条沸点#
1.数组(Array):一组连续存储的相同类型元素的集合,通过索引访问元素。数组具有快速的随机访问能力,但插入和删除操作可能较慢。
2.链表(Linked List):元素以节点的形式存储,每个节点包含数据和指向下一个节点的引用。链表分为单向链表和双向链表,插入和删除操作较快,但随机访问较慢。
3.栈(Stack):一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除操作,常用于管理函数调用、表达式求值等。
4.队列(Queue):一种先进先出(FIFO)的数据结构,具有队头和队尾,常用于任务调度、广度优先搜索等。
5.树(Tree):具有分层结构的数据结构,包含根节点和若干子节点。常见的树包括二叉树、二叉搜索树、平衡树等,用于快速搜索、排序等。
6.图(Graph):由节点和边构成的数据结构,节点之间可以有多种关系。图可以用来表示网络、关系等复杂结构,图算法用于路径搜索、社交网络分析等。
7.哈希表(Hash Table):通过哈希函数将键映射到值的数据结构,具有快速的查找和插入操作,适用于快速查找和去重。
8.堆(Heap):一种特殊的树状数据结构,常用于优先队列的实现,支持快速查找和删除最大(最小)值。展开评论点赞 - #挑战每日一条沸点#
淘宝技术分享:手淘亿级移动端接入层网关的技术演进之路. 演进到自研高性能、全双工、安全的ACCS(阿里云通道服务),以满足移动电商业务高速发展的需求。文章涉及了接入层的架构设计、稳定性与容灾、端到端网络优化等方面的内容,分享了他们在移动网络环境下提升用户体验和安全性的经验和方法。
移动网络环境的挑战性一直都存在. 文章分析了国内的移动网络环境的复杂性和差异性,指出了移动网络下存在的各种问题,如数据传输耗时长、丢包率高、DNS劫持和数据篡改等,以及这些问题对用户体验和业务的影响。
整体技术架构. 文章介绍了统一接入层的技术架构,包括接入网关、应用网关、调度服务、客户端SDK等组件,以及它们之间的职责和协作方式。文章还介绍了接入层支持的各种应用层协议,如API、SYNC、RPC、PUSH等,以及如何基于接入层设计自己的协议。
稳定性与容灾. 文章介绍了接入层在稳定性与容灾方面的优化措施,包括网关架构的优化、异地多活方案、单元化协商机制、旁路调度机制等,以及在不同场景下的故障恢复策略。展开评论点赞 - #挑战每日一条沸点#
Spring是一个一站式轻量级重量级的开发框架,目的是为了解决企业级应用开发的复杂性,它为开发Java应用程序提供全面的基础架构支持,让Java开发者不再需要关心类与类之间的依赖关系,可以专注的开发应用程序(crud)。1
Spring的核心概念:IoC容器、Bean、BeanDefinition、AOP等。IoC容器是一个管理Bean的工厂,它通过依赖注入的方式处理Bean之间的依赖关系。2Bean是应用程序中的对象,由容器进行实例化、配置和组装。3BeanDefinition是Bean的定义,封装了类信息、属性值等。AOP是面向切面编程,允许将一些通用任务如安全、事务、日志等进行集中式处理,从而提高了代码的复用性和可维护性。
Spring的优点:Spring通过DI、AOP来简化企业级Java开发,它的低侵入式设计,让代码的污染极低,它的IoC容器降低了业务对象之间的复杂性,让组件之间互相解耦,它的高度开放性,并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部,它的高度扩展性,让开发者可以轻易的让自己的框架在Spring上进行集成,它的生态极其完整,集成了各种优秀的框架,让开发者可以轻易的使用它们。 展开评论点赞 - #挑战每日一条沸点#
Android架构的意义和方法。介绍了模块化、分层、数据映射、用例、数据驱动UI和函数式编程等原则和技术,以提高代码的复用性、降低耦合性、简化开发流程和提升性能。
Jetpack架构的特点和优势。Jetpack架构如何利用组件化、生命周期感知、数据绑定、LiveData等特性,来简化Android开发,减少错误,改善用户体验。作者还比较了Jetpack与其他UI框架如Flutter, Compose, Vue的异同。
Retrofit原理和使用。Retrofit的设计和实现,以及它如何通过注解、拦截器、转换器等机制,来实现网络请求的封装、拓展和转换。作者还给出了一些使用Retrofit的示例和建议。 展开评论点赞 - #挑战每日一条沸点#
消息队列:kafka、RocketMQ、VerneMQ等消息队列组件,分别适用于吞吐量优先、稳定性优先和物联网场景。文章还介绍了分布式消息系统的设计要点和一些常用的开源工具。
缓存:caffeine、redis、memcached、JetCache等缓存组件,分别适用于堆内缓存、分布式缓存和数据量较大的缓存场景。文章还介绍了一些redis的规范和使用技巧。
分库分表:sharding-jdbc、mycat、spring的动态数据源等分库分表组件,分别适用于驱动层、代理层和少量项目的场景。文章还介绍了分库分表的流程和数据同步的问题。
数据同步:canal、databus、gobblin、datax等数据同步组件,分别适用于实时增量同步、大数据同步和ETL场景。文章还介绍了一些数据同步的方案和工具链。
通讯:netty、httpclient、okhttp、json、avro、 kryo等通讯组件,分别适用于网络开发框架、http协议、序列化方式等场景。文章还介绍了一些rpc框架和协议的特点和选择。
微服务: consul, nginx+Gateway, Apollo, Skywalking, resilience4j, 等微服务组件, 分别适用于注册中心, 网关, 配置中心, 调用链, 熔断等场景1. 文章还介绍了一些微服务的核心组件和概念.
分布式工具: zookeeper, etcd, consul, fescar, 等分布式工具, 分别适用于配置中心, 分布式锁, 命名服务, 分布式协调, master选举, 分布式事务等场景2. 文章还介绍了一些分布式系统的原理和最佳实践.
监控系统: 文章提到了 prometheus, grafana, telegraf, ELKB, 等监控系统组件, 分别适用于指标收集, 数据展示, 数据采集, 日志收集等场景. 文章还介绍了一些监控系统的架构和功能.
调度: xxl-job, 一个轻量级的调度方案, 支持cron表达式, 分布式调度, 管理界面等功能. 文章还介绍了一些其他的调度方案和特点. 展开评论点赞 - #挑战每日一条沸点#
HTTP协议的基本概念和功能:介绍了HTTP协议是一种无状态的应用层协议,用于客户端和服务器之间的通信,以及HTTP协议的请求方法、状态码、报文结构和首部字段等。
HTTPS协议的安全性和原理:说明了HTTP协议的缺点,如明文传输、身份验证不足、完整性不保证等,以及HTTPS协议是如何通过SSL/TLS协议实现加密、认证和完整性保护的,包括公开密钥加密、数字证书、混合加密机制和握手过程等。
Cookie的状态管理机制:描述了HTTP协议是无法保存客户端和服务器之间的状态信息的,所以引入了Cookie技术来实现状态管理,包括Cookie的生成、发送、接收和使用等过程。
HTTPS协议的握手过程:详细描述了客户端和服务器之间如何通过交换报文,建立安全的SSL/TLS连接,以及涉及到的公开密钥加密、数字证书、混合加密机制等概念。
SSL加速器的作用和原理:解释了由于HTTPS协议需要进行加密和解密的运算处理,会导致服务器和客户端的资源消耗和通信延迟,以及SSL加速器是如何通过专用硬件来提高SSL的计算速度和分担负载的。
HTTP协议的认证方式:介绍了HTTP协议支持的四种认证方式,分别是BASIC认证、DIGEST认证、SSL客户端认证和基于表单认证,以及各自的优缺点和原理。
基于HTTP的功能追加协议:介绍了为了解决HTTP协议的性能瓶颈和功能限制,而提出的一些新的协议和技术,如SPDY、WebSocket和HTTP/2.0,以及它们的设计目标和主要特点。
Web的攻击技术:介绍了针对Web应用的一些常见的攻击技术,如会话劫持、会话固定攻击、密码破解、DoS攻击等,以及它们的攻击原理和防御方法。 展开评论点赞 - #挑战每日一条沸点#
键值设计:要求key名具有可读性、可管理性和简洁性,不包含特殊字符;value要拒绝bigkey,选择适合的数据类型,控制key的生命周期。
命令使用:要注意O(N)命令的N的数量,禁止线上使用keys、flushall等命令,合理使用select和批量操作,不建议过多使用Redis事务功能,注意Redis集群版本在使用Lua上有特殊要求,必要情况下使用monitor命令。
客户端使用:要避免多个应用使用一个Redis实例,使用连接池和熔断功能,设置合理的密码和加密方式,选好maxmemory-policy淘汰策略。
相关工具:介绍了数据同步、big key搜索和热点key寻找的工具。
删除bigkey:给出了Hash、List、Set和SortedSet四种数据类型删除bigkey的代码示例。 展开评论点赞
Spring的核心概念:IoC容器、Bean、BeanDefinition、AOP等。IoC容器是一个管理Bean的工厂,它通过依赖注入的方式处理Bean之间的依赖关系。2Bean是应用程序中的对象,由容器进行实例化、配置和组装。3BeanDefinition是Bean的定义,封装了类信息、属性值等。AOP是面向切面编程,允许将一些通用任务如安全、事务、日志等进行集中式处理,从而提高了代码的复用性和可维护性。