hashmap
文章平均质量分 77
图灵学院
Java工程化、高性能及分布式、高性能、高架构。性能调 优、Spring,MyBatis,Netty源码分析和大数据等多个知识点高级进阶干货分享
展开
-
HashMap深度分析
HashMap深度分析HashMap 是 Map 的一个实现类,它代表的是一种键值对的数据存储形式。大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。HashMap最多只允许一条记录的键为null,允许多条记录的值为null。不保证有序(比如插入的顺序)、也不保证序不随时间变化。jdk 8 之前,其内部是由数组+链表来实现的,而 jdk 8 对于链表...转载 2018-10-17 15:53:35 · 119 阅读 · 0 评论 -
微服务之API网关接口设计
微服务之API网关接口设计API网关,顾名思义,就是外部到内部的一道门,其主要功能:服务路由:将前段应用的调用请求路由定位并负载均衡到具体的后端微服务实例,对于前端应用看起来就是1个应用提供的服务,微服务对于前段应用来说就是黑盒,前段应用也不需要关心内部如何分布,由哪个微服务提供。主要有静态路由和动态路由。 静态路由:有时候需要通过域名或者其他固定方式提供和配置路由表 动态路...原创 2018-10-28 14:30:22 · 4752 阅读 · 0 评论 -
高并发场景下的缓存有哪些常见的问题?
分布式缓存重建并发冲突解决方案对于缓存生产服务,可能部署在多台机器,当redis和ehcache对应的缓存数据都过期不存在时,此时可能nginx过来的请求和kafka监听的请求同时到达,导致两者最终都去拉取数据并且存入redis中,因此可能产生并发冲突的问题,可以采用redis或者zookeeper类似的分布式锁来解决,让请求的被动缓存重建与监听主动的缓存重建操作避免并发的冲突,当存入缓存...原创 2018-10-29 16:10:58 · 557 阅读 · 0 评论 -
互联网分布式系统Session一致性问题解析
1. 什么是Session?用户使用网站的服务,需要使用浏览器与Web服务器进行多次交互。HTTP协议本身是无状态的,需要基于HTTP协议支持会话状态(Session State)的机制。具体的实现方式是:在会话开始时,分配一个唯一的会话标识(SessionID),并通过Cookie将这个标识告诉浏览器,以后每次请求的时候,浏览器都会带上这个会话标识SessionID来告诉Web服务器这...转载 2018-10-24 15:26:22 · 282 阅读 · 0 评论 -
解决Spring MVC @ResponseBody返回中文字符串乱码问题
解决Spring MVC @ResponseBody返回中文字符串乱码问题引起乱码原因为spring mvc使用的默认处理字符串编码为ISO-8859-1,具体参考org.springframework.http.converter.StringHttpMessageConverter类中public static final Charset DEFAULT_CHARSET = Charset...原创 2018-10-30 19:42:37 · 3279 阅读 · 1 评论 -
Spring Boot 如何解决项目启动时初始化资源
在我们实际工作中,总会遇到这样需求,在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等。今天就给大家介绍一个 Spring Boot 神器,专门帮助大家解决项目启动初始化资源操作。这个神器就是 CommandLineRunner, CommandLineRunner 接口的 Component 会在所有 SpringBeans都初始化之后, Spri...转载 2018-11-04 15:45:10 · 575 阅读 · 0 评论