高并发
文章平均质量分 78
图灵学院
Java工程化、高性能及分布式、高性能、高架构。性能调 优、Spring,MyBatis,Netty源码分析和大数据等多个知识点高级进阶干货分享
展开
-
【金九银十跳槽季】Java工程师如何在1个月内做好面试准备?
一面(问了数据结构、jvm、锁等):自我介绍和项目 HashMap底层如何实现? Hash一致算法? 说说HashMap和ConcurrentHashMap的区别?treemap和HashMap的区别? java的内存分区? java对象的回收方式,回收算法? CMS和G1了解吗? CMS解决什么问题,说一下回收的过程? CMS回收停顿了几次? java栈什么时候会内存溢出,java堆呢,说一种场景? 集合类如何解决这个问题(软引用和弱引用),讲下这个两个引用的区别? jav...原创 2020-09-22 20:36:33 · 244 阅读 · 0 评论 -
Spring Boot 如何解决项目启动时初始化资源
在我们实际工作中,总会遇到这样需求,在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等。今天就给大家介绍一个 Spring Boot 神器,专门帮助大家解决项目启动初始化资源操作。这个神器就是 CommandLineRunner, CommandLineRunner 接口的 Component 会在所有 SpringBeans都初始化之后, Spri...转载 2018-11-04 15:45:10 · 572 阅读 · 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 · 3268 阅读 · 1 评论 -
互联网分布式系统Session一致性问题解析
1. 什么是Session?用户使用网站的服务,需要使用浏览器与Web服务器进行多次交互。HTTP协议本身是无状态的,需要基于HTTP协议支持会话状态(Session State)的机制。具体的实现方式是:在会话开始时,分配一个唯一的会话标识(SessionID),并通过Cookie将这个标识告诉浏览器,以后每次请求的时候,浏览器都会带上这个会话标识SessionID来告诉Web服务器这...转载 2018-10-24 15:26:22 · 260 阅读 · 0 评论 -
高并发场景下的缓存有哪些常见的问题?
分布式缓存重建并发冲突解决方案对于缓存生产服务,可能部署在多台机器,当redis和ehcache对应的缓存数据都过期不存在时,此时可能nginx过来的请求和kafka监听的请求同时到达,导致两者最终都去拉取数据并且存入redis中,因此可能产生并发冲突的问题,可以采用redis或者zookeeper类似的分布式锁来解决,让请求的被动缓存重建与监听主动的缓存重建操作避免并发的冲突,当存入缓存...原创 2018-10-29 16:10:58 · 554 阅读 · 0 评论 -
JAVA并发编程之多线程并发同步业务场景与解决方案
Java并发编程是一个很热点的话题,无论在面试时候还是在高并发的场景中。都会涉及到Java的并发编程相关的知识。Java的并发编程有两个主要的基础知识,一个是线程安全另一个是线程间通信。本Java并发编程系列博客作为博主系统学习Java并发编程的知识记录。也希望可以帮助其他人。摘要 1,线程概念 2,Java线程的实现方式 3,Java线程状态流转介绍 4,Thread类中的...原创 2018-10-23 14:34:30 · 862 阅读 · 0 评论 -
并发编程的艺术-线程池源码解析
线程池的作用:1,降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。2,提搞响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。3,提高系统的客观理性。线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配,调优和监控。但是,要做到合理利用线程池,必须对其实现原理了如指掌。一,线程池的实现原理当想一个...原创 2018-10-21 13:46:55 · 128 阅读 · 0 评论 -
微服务之API网关接口设计
微服务之API网关接口设计API网关,顾名思义,就是外部到内部的一道门,其主要功能:服务路由:将前段应用的调用请求路由定位并负载均衡到具体的后端微服务实例,对于前端应用看起来就是1个应用提供的服务,微服务对于前段应用来说就是黑盒,前段应用也不需要关心内部如何分布,由哪个微服务提供。主要有静态路由和动态路由。 静态路由:有时候需要通过域名或者其他固定方式提供和配置路由表 动态路...原创 2018-10-28 14:30:22 · 4732 阅读 · 0 评论 -
Java分布式框架netty之NIO框架区别分析
Netty概述:1、netty是基于Java NIO的网络应用框架,client-server框架2、Netty是一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得IO操作结果。3、作为当前最流行的NI...转载 2018-10-25 14:52:20 · 401 阅读 · 0 评论 -
JVM整体结构与垃圾回收算法介绍问题
1.类加载器(ClassLoader):在JVM启动时或者在类运行时将需要的class加载到JVM中。2.执行引擎:负责执行class文件中包含的字节码指令(执行引擎的工作机制,这里也不细说了,这里主要介绍JVM结构);3.内存区(也叫运行时数据区):是在JVM运行的时候操作所分配的内存区。运行时内存区主要可以划分为5个区域,如图:方法区(Method Area):用于存储类结构信...转载 2018-10-22 14:10:39 · 215 阅读 · 0 评论 -
HashMap深度分析
HashMap深度分析HashMap 是 Map 的一个实现类,它代表的是一种键值对的数据存储形式。大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。HashMap最多只允许一条记录的键为null,允许多条记录的值为null。不保证有序(比如插入的顺序)、也不保证序不随时间变化。jdk 8 之前,其内部是由数组+链表来实现的,而 jdk 8 对于链表...转载 2018-10-17 15:53:35 · 114 阅读 · 0 评论 -
高性能集合流式操作,MapReduce初体验
高性能集合流式操作,MapReduce初体验 1、MapReduce简介源自于google的MapReduce论文,发表于2004年12月,HadoopMapReduce是google MapReduce 克隆版。MapReduce是一种计算模型,用以进行大数据量的计算。其中Map对数据集上的独立元素进行指定的操作,生成键-值对形式中间结果。Reduce则对中间结果中相同“键”的所有“值”...转载 2018-10-19 14:58:20 · 328 阅读 · 0 评论 -
消息中间件与Spring集成和场景实例
消息中间件与Spring集成和场景实例spring的xml配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan...原创 2018-10-18 14:42:50 · 237 阅读 · 0 评论