数据结构算法
文章平均质量分 76
图灵学院
Java工程化、高性能及分布式、高性能、高架构。性能调 优、Spring,MyBatis,Netty源码分析和大数据等多个知识点高级进阶干货分享
展开
-
排序算法时间复杂度、空间复杂度分享
排序算法时间复杂度、空间复杂度分享 今天分享的是时间复杂度、空间复杂度相关内容,可以简单了解下复杂度相关的知识。 复杂度:复杂度描述的是算法执行时间或占用空间与数据规模的增长关系 我们用大O表示法来表达复杂度关系 T(n) = O(f(n)) 其中 T(n) 是代码的执行时间,n 表示数据的规模,f(n)表示代码执行的总次数。O 表示代码的执行时间 T(n) 与 f(n) 成正比关系。要注...原创 2018-10-15 20:14:03 · 207 阅读 · 0 评论 -
JVM整体结构与垃圾回收算法介绍问题
1.类加载器(ClassLoader):在JVM启动时或者在类运行时将需要的class加载到JVM中。 2.执行引擎:负责执行class文件中包含的字节码指令(执行引擎的工作机制,这里也不细说了,这里主要介绍JVM结构); 3.内存区(也叫运行时数据区):是在JVM运行的时候操作所分配的内存区。运行时内存区主要可以划分为5个区域,如图: 方法区(Method Area):用于存储类结构信...转载 2018-10-22 14:10:39 · 241 阅读 · 0 评论 -
微服务之API网关接口设计
微服务之API网关接口设计 API网关,顾名思义,就是外部到内部的一道门,其主要功能: 服务路由:将前段应用的调用请求路由定位并负载均衡到具体的后端微服务实例,对于前端应用看起来就是1个应用提供的服务,微服务对于前段应用来说就是黑盒,前段应用也不需要关心内部如何分布,由哪个微服务提供。主要有静态路由和动态路由。 静态路由:有时候需要通过域名或者其他固定方式提供和配置路由表 动态路...原创 2018-10-28 14:30:22 · 4793 阅读 · 0 评论 -
高并发场景下的缓存有哪些常见的问题?
分布式缓存重建并发冲突解决方案 对于缓存生产服务,可能部署在多台机器,当redis和ehcache对应的缓存数据都过期不存在时,此时可能nginx过来的请求和kafka监听的请求同时到达,导致两者最终都去拉取数据并且存入redis中,因此可能产生并发冲突的问题,可以采用redis或者zookeeper类似的分布式锁来解决,让请求的被动缓存重建与监听主动的缓存重建操作避免并发的冲突,当存入缓存...原创 2018-10-29 16:10:58 · 575 阅读 · 0 评论 -
互联网分布式系统Session一致性问题解析
1. 什么是Session? 用户使用网站的服务,需要使用浏览器与Web服务器进行多次交互。HTTP协议本身是无状态的,需要基于HTTP协议支持会话状态(Session State)的机制。具体的实现方式是:在会话开始时,分配一个 唯一的会话标识(SessionID),并通过Cookie将这个标识告诉浏览器,以后每次请求的时候,浏览器都会带上这个会话标识SessionID来告诉Web服务器这...转载 2018-10-24 15:26:22 · 317 阅读 · 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 · 3309 阅读 · 1 评论 -
人民广场怎么走?地铁换乘算法的实现
数据获取 图的二维数组展现 Dijkstra 代码的实现 优化 尾巴 现在的公共交通越来越方便,很多城市都有地铁,日常使用的地图App都提供了地铁线路换乘方案的功能,只要输入起点和重点,App就能给出你换乘的方案,可是这个功能背后的算法又是怎么样的呢。这篇文章将会告诉你。 说到最短路径算法不外乎就是那么几种,广度优先深度优先Dijkstra之类的,这篇博客将会讲述Dijkstra算法,其他的...转载 2019-08-02 22:05:45 · 514 阅读 · 0 评论 -
周围的餐馆有哪些?GeoHash算法
当今年代,每个人都有智能手机,出门在外,自然离不开使用手机地图了,查找附近的餐馆,附近的地铁站,非常方便,可是在这项技术背后又隐藏着什么算法呢?这篇博客将会讲述这个技术背后的GeoHash算法以及基本的实现。 首先既然算法名字叫做GeoHash了那么对单词比较敏感的人可能已经猜出来了,差不多就是对当前的位置生成一个Hash值,然后再比较相似吧,是的,大概就是这个样子。 GeoHash的原理就是讲...转载 2019-08-05 14:39:07 · 356 阅读 · 0 评论