自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 谷歌工程师的一番话

每周,谷歌员工都会在厕所的墙壁上粘贴一页来分享本周的测试小建议。有时这页纸会讨论依赖注入,并提供一个简单的示例展示如何用不同语言使用它;有时它可能会分享如何安装一个用于测量团队代码库测试覆盖率的软件。“Testing on the Toilet”起初是个奇怪又有趣的方式,来教给工程师在工作中会用到的一些新的东西,这也被突出为Google文化中的核心力量:向工程师组织有效的传播一系列最佳实践。这有从谷歌工程文化中获得的六个核心原则,你可能能够从中获益。把工程资源用于共享工具和抽象概念。在早期谷..

2020-09-30 20:41:16 181

原创 RabbitMQ经典面试题及几个核心知识点

什么是RabbitMQRabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。RabbitMQ使用的是AMQP协议,它是一种二进制协议1.用户的请求,服务器收到之后,首先写入消息队列,加入消息队列长度超过最大值,则直接抛弃用户请求或跳转到错误页面.2.秒杀业务根据消息队列中的请求信息,再做后续处理.为什么要使用RabbitMQ?1.在分布式系统下具备异步,削峰,负载均衡等一系列高级功能;2.拥有持久化的机制,进程消息...

2020-09-30 16:39:03 307

原创 Nginx各大知识点及最新面试题

Nginx的作用这个问题是入门级知识点,讨论Nginx的用处。我觉得只要几个重要的点都回答到位就可以了,可以考虑这样的一个回答:Nginx是一个高性能web服务器和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。不仅可以实现负载均衡,还可以做接口限流,缓存等功能。使用Nginx的优势点 Nginx由于使用了epoll和kqueue网路I/O模型,在实际生产环境能够支撑3万左右并发连接。 Nginx内存消耗低。 Nginx跨平台,而且配置相对来说难...

2020-09-30 15:49:47 133

原创 spring最全!从基础到高级我都有!

SpringMVC执行流程及原理?用户发起请求到前端控制器(DispatcherServlet),该控制器会过滤出哪些请求可以访问Servlet、哪些不能访问。就是url-pattern的作用,并且会加载SpringMVC.xml配置文件。前端控制器会找到处理器映射器(HandlerMapping),通过HandlerMapping完成url到controller映射的组件,简单来说,就是将在SpringMVC.xml中配置的或者注解的url与对应的处理类找到并进行存储,用Map这样的方式来存储。..

2020-09-30 15:02:12 125

原创 Kafka给你整明白,还怕面不上大厂?

1、请说明什么是Apache Kafka?Apache Kafka是由Apache开发的一种发布订阅消息系统,它是一个分布式的、分区的和可复制的提交日志服务。2、说说Kafka的使用场景?①异步处理②应用解耦③流量削峰④日志处理⑤消息通讯等。3、使用Kafka有什么优点和缺点?优点:①支持跨数据中心的消息复制;②单机吞吐量:十万级,最大的优点,就是吞吐量高;③topic数量都吞吐量的影响:topic从几十个到几百个的时候,吞吐量会大幅度下降。所以在同等机器..

2020-09-30 10:59:26 247

原创 你还在找《微服务》的资料吗,有这一篇就够了

过去几年,“微服务架构”这个术语出现了,它描述了一种将软件应用程序设计为可独立部署的服务套件的特定方式。49页PPT干货:微服务架构起源、简介及设计尽管这种架构风格没有确切的定义,但围绕业务能力,自动化部署,端点智能以及语言和数据的分散控制等方面存在着某些共同特征。“微服务” 是在拥挤的软件架构街道上又一个新名词。尽管我们的自然倾向是以轻蔑的眼光来传递这样的东西,但这些术语描述了一种我们发现越来越吸引人的软件系统风格。我们已经看到许多项目在过去几年中都采用了这种风格,迄今为止的结果...

2020-09-29 15:48:45 84

原创 springmvc必看面试题!文章底部福利菌在等你

什么是springMVC?作用?springMVC是一种web层mvc框架,用于替代servlet(处理|响应请求,获取表单参数,表单校验等)。为什么要用springMVC?基本上,框架的作用就是用来简化编程的,相对于servlet来说,获取表单参数,响应请求等变得更简单了。说出spring mvc底层执行流程(工作原理)说说spring mvc中常用注解有哪些,分别什么作用?@Controller标识这个类是一个控制器@RequestMapping..

2020-09-29 14:55:22 98

原创 最新大厂MySQL面试题

Mysql中有哪几种锁?1.表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。2.行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。3. 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。Mysql中有哪些不同的表格?共有5种类型的表格:MyISAM Heap Merge INNODB ISAM简述在MySQL数据库中MyISAM和InnoDB的区别...

2020-09-29 11:27:56 154

原创 华为流出!!!2020最新SpringMVC面试题(附答案)

1、什么是Spring MVC ?简单介绍下你对springMVC的理解?Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。2、SpringMVC的流程?用户发送请求至前端控制器DispatcherServlet;DispatcherServlet收到请求后,调用HandlerMa..

2020-09-29 10:22:42 343

原创 编程学得慢?阿里大牛来教你秘诀

Step 1 : 建造时光机我在学习新技术时,会用到两个东西。第一个是 Git,第二个是 Redmine。Gitgit 是新手的时光机。我认为如果一般人学习任何编程语言,甚至写任何笔记,都应该上个 git 版本控制。起码看你上一次写了什么东西。其实 git 一开始也不用学太多指令,练习以下几个就够: git init (初始一个 Repo); git add [档案名称] (将某某档案加入版本控制); git commit -m “储存讯息” (将这次要加入版本控制..

2020-09-28 19:30:47 101

原创 阿里大牛说:Nginx这八道面试题必须看

1.nginx常用命令启动nginx ./sbin/nginx停止nginx ./sbin/nginx -s stop ./sbin/nginx -s quit重载配置 ./sbin/nginx -s reload(平滑重启) service nginx reload重载指定配置文件 ./sbin/nginx -c /usr/local/nginx/conf/nginx.conf查看nginx版本 ./sbin/nginx -v检查配置文件是否正确 ./sbin/nginx -t..

2020-09-28 16:45:56 384

原创 最新KAFKA面试资料,亲身经历!!!

在这里就简单记录一下期间我问到的一些关于 Kafka 的面试题目,这些都是我平时在学习 Kafka 的一些总结要点。谈谈你对 kafka 的整体认识?问这个问题主要是想知道面试者对 Kafka 的整体认识如何,能够大致了解面试者对 Kafka 的相关概念的熟悉程度,比如消息、topic、partition、replica、offset、重平衡、leader/follower、ISR 等等。谈谈 Kafka 吞吐量为何如此高?多分区、batch send、kafka Reator 网络模型、p..

2020-09-28 14:56:46 113 1

原创 jvm!他来了!JVM调优操作及OOM解决方法

近几年深入学习JVM调优的人越来越多,因为互联网一线大厂的Java高级开发工程师JD**中都明确要求了“JVM调优”的能力。**所以掌握JVM调优是深入学习Java必不可少的一环,也是Java开发人员迈向更高水平的一个阶梯。那么到底什么是JVM调优呢?JVM调优主要是针对垃圾收集器的收集性能优化,令运行在虚拟机上的应用能够使用更少的内存以及延迟获取更大的吞吐量。...

2020-09-28 14:29:12 179

原创 字节跳动的2020面试题,看完就是赚到

见过真正头铁的程序员吗?如题所示,真人真事,这位二本的兄弟在这短短几个月内海投了638份简历,全挑的大厂岗位投的,仅字节跳动就前前后后面试了九次,他说:没有撤退可言。九次面试经历也是奇了——网友们的评论真相了:“字节这么缺人?大家可以去投了”“看来字节跳动就是要定你了!”“哥们你这得累积多少大厂面试经验啊!快点传授一波!”“我的天哪,638份简历,9次字节面试,吾辈楷模。”真正的海量面经!问及面试考题,这位兄弟言辞中有些许惭愧:面试官已经给了一些提示,但无奈自己准备得...

2020-09-28 11:09:23 287 1

原创 阿里金服最全的Redis面试题

Redis 本质上是一个 Key-Value 类型的内存数据库,很像 memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。因为是纯内存操作,Redis 的性能非常出色,每秒可以处理超过 10 万次读写操作,是已知性能最快的 Key-Value DB。Redis 的出色之处不仅仅是性能,Redis 最大的魅力是支持保存多种数据结构,此外单个value 的最大限制是 1GB,不像 memcached 只能保存 1MB 的数据,因此 Redis..

2020-09-27 20:18:45 123 1

原创 支付宝4面最全最稳面试题大全

一面介绍项目 java 线程池的实现原理,threadpoolexecutor关键参数解释 hashmap的原理,容量为什么是2的幂次 为什么要同时重写hashcode和equals ConcurrentHashMap如何实现线程安全? 介绍Java多线程的5大状态,以及状态图流转过程 介绍下Synchronized、Volatile、CAS、AQS,以及各自的使用场景 B+树和红黑树时间复杂度 如果频繁老年代回收怎么分析解决 JVM内存模型,新生代和老年的回收机制 mysql ..

2020-09-27 16:46:38 1313

原创 阿里大牛整理的高性能MySQL笔记

一、MySQL架构与历史A.并发控制1.共享锁(shared lock,读锁):共享的,相互不阻塞的2.排他锁(exclusive lock,写锁):排他的,一个写锁会阻塞其他的写锁和读锁B.事务1.事务ACID* 原子性(atomicity)一个事务必须被视为一个不可分割的最小工作单元,整个事务中所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作* 一致性(consistency)数据库总是从一个一致性的状态转换到另外一个一致性的状态*..

2020-09-27 15:42:08 269 1

原创 Java必学(2)之Redis设计规范

一、键值设计1. key名设计(1)【建议】: 可读性和可管理性以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id(2)【建议】:简洁性保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如:(3)【强制】:不要包含特殊字符反例:包含空格、换行、单双引号以及其他转义字符2. value设计(1)【强制】:拒绝bigkey(防止网卡流量、慢查询)string类型控制在10KB以内,hash、list、se..

2020-09-27 15:15:56 97

原创 JAVA必学:Redis BigKey

一、什么是bigkey在Redis中,一个字符串最大512MB,一个二级数据结构(例如hash、list、set、zset)可以存储大约40亿个(2^32-1)个元素,但实际上中如果下面两种情况,我就会认为它是bigkey。字符串类型:它的big体现在单个value值很大,一般认为超过10KB就是bigkey。 非字符串类型:哈希、列表、集合、有序集合,它们的big体现在元素个数太多。二、危害bigkey可以说就是Redis的老鼠屎,具体表现在:1.内存空间不均匀这样会不利于集群对内

2020-09-27 10:44:55 236

原创 JVM优化之循环展开

在JVM内部实现系列的前几篇文章中,我们已经看到了Java的HotSpot虚拟机的just-in-time (JIT)编译技术,包括逃逸分析和锁消除。本文我们将要讨论另一种自动优化,叫作循环展开。JIT编译器使用这项技术来让循环(比如Java的for或者while循环)执行得更加高效。由于我们要对JVM的内部机制进行深入分析,所以你会时不时看到用于讲解介绍的各种C的代码甚至是汇编语言,扶稳了!我们先从下面这段C代码开始,它会去分配100万个long类型的空间,然后用100万个随机的long值来填充。

2020-09-26 20:00:36 426

原创 阿里首发内部微服务架构笔记,您第一份超全的微服务笔记

近几年,微服务架构一跃成为 IT 领域炙手可热的话题。大量一线互联网公司因为庞大的业务体量和业务需求,纷纷投入了微服务架构的建设中,像阿里巴巴、百度、美团等大厂,很早就已经开始了微服务的实践和应用。其中微服务架构的概念,现在对于大家应该都不陌生,无论使用 Apache Dubbo、还是 Spring Cloud,都可以去尝试微服务,把复杂而庞大的业务系统拆分成一些更小粒度且独立部署的 Rest 服务。文章内容目录微服务架构介绍Spring Cloud总览Spring Clou的基础: S

2020-09-26 18:08:06 218 1

原创 阿里大牛帮你看鸿蒙源码:从进程/线程视角看内存

本章开始说内存,内存的管理是极其复杂的模块,涉及到非常多概念,光地址就有逻辑,线性,物理地址三个,网上文章很多,参差不齐,没有很好基础或实战经验的同学基本得懵掉,本篇最后也有这些概念介绍。系列篇打算用三篇来讲述鸿蒙内核的内存管理机制。由浅入深,层层递进。我们换个视角切入,将从进程和线程创建的视角看内存的运作机制。为何从进程和线程角度?两个原因:1.内存就是给他们使用的,只是分了内核空间和用户空间。用户空间的进程分配用到了虚拟内存,线程(task)需要分配栈空间 2.系列文章对进程和线程的管理和调度已经说

2020-09-26 15:33:26 3189 1

原创 最强究极java面试手册,点赞数超5000的干货

Java 面试随着时间的改变而改变。在过去的日子里,当你知道 String 和 StringBuilder 的区别(String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象。因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,JVM 的 GC 就会开始工作,

2020-09-26 14:59:59 104

原创 面试笔记之必掌握的java核心技能点

据说有小伙伴靠这份笔记顺利进入 BAT 哦,所以一定要好好学习这份资料!资料介绍,面试题超350题+这套面试题丰富全面,从 java常用命令到 java常用操作,再到jvm编程、主流服务、性能优化、自动化运维、面试技巧等几乎覆盖了所有 java 面试题,被同事称为 java界 面试活字典,跟java相关的面试题,都会能够得到找得到,部分有挑战的题会附带答案,所有文字可直接复制,非常便于我们学习,一共有350+题!资料也按目录进行编排,每一章下面都有更具体的内容,我截了几张图 ,大家有需要的话转发

2020-09-26 10:07:51 151

原创 阿里金服最全java面试题及答案

1、自我介绍、自己做的项目和技术领域2、项目中的监控:那个监控指标常见的有哪些?3、微服务涉及到的技术以及需要注意的问题有哪些?4、注册中心你了解了哪些?5、consul 的可靠性你了解吗?6、consul 的机制你有没有具体深入过?有没有和其他的注册中心对比过?7、项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理8、Spring Boot除了自动配置,相比传统的 Spring 有什么其他的区别?9、Spring Cloud 有了解多

2020-09-25 15:21:27 1532

原创 面试题精选:请叙述一下HTTP和HTTPS的区别

1.HTTP 和 HTTPS 有什么区别?HTTPS 和 HTTP 的关系协议 明文/安全HTTPS 它把 HTTP 下层的传输协议由 TCP/IP 换成了 SSL/TLS,由「“HTTP over TCP/IP”」变成了「“HTTP over SSL/TLS”」,让 HTTP 运行在了安全的 SSL/TLS 协议上,收发报文不再使用「Socket API」,而是调用专门的「安全接口」。HTTPS 是 为 HTTP 增加了「四大安全特性」;本身一个“非常简单”的协议,RFC 文档很小...

2020-09-25 14:39:03 537

原创 阿里程序员整理的这些JVM资料(文末惊喜)

首先你应该知道,运行一个 Java 应用程序,我们必须要先安装 JDK 或者 JRE 包。这是因为 Java 应用在编译后会变成字节码,然后通过字节码运行在 JVM 中,而 JVM 是 JRE 的核心组成部分。JVM 不仅承担了 Java 字节码的分析(JIT compiler)和执行(Runtime),同时也内置了自动内存分配管理机制。这个机制可以大大降低手动分配回收机制可能带来的内存泄露和内存溢出风险,使 Java 开发人员不需要关注每个对象的内存分配以及回收,从而更专注于业务本身。JVM 在对代码

2020-09-25 11:51:53 84

原创 强悍的RabbitMQ总结,看完就会(文末惊喜)

rabbitMQ是基于AMQP协议的,通过使用通用协议就可以做到在不同语言之间传递。核心概念非常强悍的 RabbitMQ 总结,看完别再说你不会RabbitMQ交换机的类型,direct、topic、fanout、headers,durability(是否需要持久化true需要)auto delete当最后一个绑定Exchange上的队列被删除Exchange也删除。The default exchange is implicitly bound to every queue, with

2020-09-25 10:46:58 69

原创 13.5k点赞的SpringBoot快速开发脚手架附详细教程

今天推荐的一个 Spring Boot 快速开发脚手架是 pig,一个在码云上斩获了 13.5k+ star 的新星项目。这个项目因为其方便易用、功能齐全,社区活跃,受到了很多 Java 开发者的喜爱,很多企业都采用 pig 搭建了自己的网站。pig 提供了开源版和付费的商业版,商业版功能更加齐全一点。另外,还提供了详细的技术文档。项目地址和技术文档获取方式见文末。pig推荐指数:⭐⭐⭐⭐⭐简介根据项目官网,简单介绍一下这个项目:基于 Spring Cloud Hoxton.

2020-09-24 15:50:46 860

原创 面试前突击Spring,我只需要十分钟,那么你呢?

前言作为一个写Java的程序员,应该不太可能没听过Spring。对开发者来说,Spring就像是哆啦A梦的口袋。无论需要什么道具,都可以从口袋里直接拿出来,而不用关心这些道具来自哪里。本篇主要记录一些关于Spring的基础知识,「用于快速查找和回顾」,「不适合作为Spring的入门学习」(头铁的旁友随意)。核心Spring的两大核心当属「IOC」和「AOP」。IOCIOC是控制反转(「I」nversion「O」f「C」ontrol),IOC是一种「编程思想」。Spring的IOC..

2020-09-23 21:29:29 269

原创 历时一个月 终于把架构核心知识点整理出来了《架构核心总结》

JavalO是一个庞大的知识体系,很多人学着学着就会学懵了,包括我在内也是如此,所以本文将会从Java的BIO开始,一步一步深入学习,引出JDK1.4之后出现的NIO技术,对比NIO与BIO的区别,然后对NIO中重要的三个组成部分进行讲解(缓冲区、通道、选择器),最后实现一个简易的客户端与服务器通信功能。传统的BIOJava l0流是个庞大的生 态环境,其内部提供了很多不同的输入流和输出流, 细分下去还有字节流和字符流,甚至还有缓冲流提高10性能,转换流将字节流转换为字符流...看到..

2020-09-23 15:05:47 90

原创 他来了!《阿里巴巴Java开发手册》

不知不觉间,2020 年已经过了一大半了,作为技术圈中你,准备好迎接最新的变化了吗?在本文中,我们将以编程界最常用的编程语言 Java 为例,分享最为主流的技术与工具。2020 年最流行的 Java 开发技术Java几乎无处不在,无论在智能手机、台式机、游戏设备还是科学超级计算机上,处处都有Java的影子。全世界有数百万的Java程序员在开发基于Java的产品。然而,如此激烈的竞争,意味着Java开发人员必须时刻保持领先地位。为此,他们必须随时了解和洞悉Java生态系统中的最新动态。Java

2020-09-23 14:33:34 61

原创 阿里面试如何?进来试试看你会多少

进入阿里是每个Javaer的梦想,当然阿里的面试也是很刁钻的,看看一个网友去阿里面试的情况。可以试试自己会多少,如果感觉自己答的差不多,可以去阿里面试试试哦。阿里面试题目总结:1第一轮电话面试1.自我介绍,包括做过项目。2.有看过哪些JDK源码,了解哪些常用库。3.集合框架HashMap的扩容机制,ConcurrnetHashMap的原理4.jvm内存模型与gc内存回收机制5.classloader结构,是否可以自己定义一个java.lang.String类,为什么?双亲

2020-09-23 10:27:04 131

原创 Nginx + Spring Boot 实现负载均衡

前言本篇文章主要介绍的是Nginx如何实现负载均衡。负载均衡介绍在介绍Nginx的负载均衡实现之前,先简单的说下负载均衡的分类,主要分为硬件负载均衡和软件负载均衡,硬件负载均衡是使用专门的软件和硬件相结合的设备,设备商会提供完整成熟的解决方案,比如F5,在数据的稳定性以及安全性来说非常可靠,但是相比软件而言造价会更加昂贵;软件的负载均衡以Nginx这类软件为主,实现的一种消息队列分发机制。简单来说所谓的负载均衡就是把很多请求进行分流,将他们分配到不同的服务器去处理。比如我有3个服务器,分别为

2020-09-22 23:18:12 115

原创 微服务治理实践:服务查询

本文是《微服务治理实践》系列篇的第二篇文章,为大家介绍如何实现服务查询。该系列文章基于阿里云商业化产品 EDAS 的微服务实践,如果你的团队具备较强的微服务治理能力,那么希望我们在微服务治理方面的实践和背后的思考,可以为你提供一些参考。前言自从微服务架构变得火热以后,越来越多服务治理相关的名词被大家所熟知,例如:服务注册发现、负载均衡、容错等等,其中有一项能力,可以说是服务治理平台的刚需,却又很少被大家提及,也是这篇文章即将介绍的内容 -- 服务查询。什么是服务?其实并没有严格的定义,但按照使用

2020-09-22 23:15:11 342

原创 轻量级的数据库中间件解决了SpringBoot中分库分表问题

一、 Sharding-jdbc简介Sharding-jdbc是开源的数据库操作中间件;定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。官方文档地址:https://shardingsphere.apache.org/document/current/cn/overview/本文demo实现了分库分表功能。作者能力有限,如有错误,欢迎各位

2020-09-22 20:47:43 141

原创 腾讯技术部分享响应式微服务架构文档:Boot+5+Cloud

专家力荐Akka作者、《响应式宣言》联合作者 Jonas Boner“使用微服务架构最关键的一个原则就是将系统划分成一个个相互隔离、无依赖的子系统,这些子系统通过定义良好的协议进行通信。其中,隔离是实现弹性、可伸缩系统的前提,并且需要在服务间建立异步通信边界。”Spring Boot和Spring Data框架主要贡献者 Greg L. Turnquist有几种响应式应用可以追溯到20世纪70年代,但目前获得业界共识的是响应式流,因为它引入了背压机制。背压机制是流量控制的高效方式。R..

2020-09-22 14:21:34 164

原创 Spring 如何实现 AOP,请不要再说 cglib 了!

1. 从注解入手找到对应核心类2. 画核心类类图,猜测核心方法3. 读重点方法,理核心流程4. 总结1. 从注解入手找到对应核心类最近工作中我都是基于注解实现 AOP 功能,常用的开启 AOP 的注解是 @EnableAspectJAutoProxy,我们就从它入手。![](https://upload-images.jianshu.io/upload_images/24533109-0c9c5d8ec32aa09c?imageMogr2/auto-orient/strip|imag

2020-09-22 11:23:28 78 1

原创 深入挖掘HashMap特性与原理

HashMap是编程中经常用到的数据结构,都知道是以K/V结构存储数据的。笔者这里简单整理了一下概念那么底层是怎么存储的?哈希冲突了又是怎么解决的?为什么长度一定是2的整数次幂呢?负载因子又是怎么回事?Java8里面又做了哪些优化?笔者围绕这些疑问深入挖掘了一下HashMap到底是怎么玩的。哈希表HashMap实现原理源码分析(对比Java7和Java8的实现区别和优化)源码分析总结Java8中HashMap的优化HashMap的一些问题总结哈希表1.什么是哈希表.

2020-09-21 16:42:47 72 1

原创 京东T7架构师推出的电子版SpringBoot,从构建小系统到架构大系统

前言:Java 的各种开发框架发展了很多年,影响了一代又一代的程序员,现在无论是程序员,还是架构师,使用这些开发框架都面临着两方面的挑战。一方面是要快速开发出系统,这就要求使用的开发框架尽量简单,无论是新手还是老手都能快速上手,快速掌握页面渲染、数据库访问等常用技术。也要求开发框架能尽量多地集成第 方工具,以便信手拈来。最后,还希望在开发调试过程中,方便代码更改后能快速重启。另外一方面,当系统模块增加,用户使用量增加时,面对这样的挑战,系统拆分成为新的架构,程序员和架构师当然不希望换掉己有的开发

2020-09-21 14:43:35 203 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除