![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构
JAVA技术全栈
这个作者很懒,什么都没留下…
展开
-
GitHub已标星72K阿里内部878页性能优化笔记限时免费
前言从我们迈入软件行业开始,性能的重要性就一再被强调。在读书时,我们学习了大量的计算机专业课程,花了大量的时间去讨论怎么让我们计算机系统获得比较好的性能。而当我们去找工作时,大部分的公司在笔试和面试时都会考一考算法,问一问算法复杂度。能写出比别的竞争者时间复杂度更低、性能更好的程序是应征者获得一份工作的关键。目前存在性能问题的系统,十之八九是由某一系统瓶颈导致的。只要找到该性能瓶颈,分析瓶颈的形成原因,对症下药,使用合理的方法解决系统瓶颈,就能从根本上提升性能。那么我们该如何才能做好性能调优?性原创 2020-12-12 11:12:24 · 360 阅读 · 0 评论 -
(附思维导图+笔记)-六面美团后,我发现大厂面试真的有“题库”!
从去年到今年先后面试了 6 次美团,外卖、订单、商旅面试了好几个部门、总结下来面试的大体思路真的基本一致诶。比如:JVM 参数配置、常用调试工具、分区、类加载,还会问你有需要线上的调试问题吗?遇到死循环 CPU 飙升怎么解决? Java 并发包常用工具用法和原理、会配合集合类一起考,对了还会有 volatile、CAS 原理等。 MySQL 也算是必备了,索引存储结构、索引搜索原理、事务的隔离级别和原理,这些真的是逢考必问。当然除了 MySQL,Redis 和 ES 也是面试长文的,大多都是集中..原创 2020-12-10 11:05:29 · 213 阅读 · 0 评论 -
【附1000道大厂面试题】面试经验复盘+现场Java1000+题合集-手把手教你2021面试通关BAT
春招他指日可待,很多同学肯定都想趁着这段时间拿高薪,去更牛逼的公司工作,认识更多大牛,提升自己的职场竞争力。那怎样才能通过BAT面试官的考核?怎样成为一名Offer收割机?之前讲过收割Offer有一个最直接的公示:Offer=硬实力*软实力*好的心态,三者缺一不可。01 硬实力这里说的硬实力,也就是技术上的真实积累。怎么来体现你的技术实力?我总的分为:技术深度和技术广度这两方面。技术广度通俗的讲,就是你熟悉该技术点的使用以及基本原理。一般面试官在面试首轮会问很多技术点,来考核你是否能原创 2020-12-10 09:58:06 · 205 阅读 · 0 评论 -
阿里技术四面+交叉面+HR面,成功拿到offer
前言前两天,我收到了阿里巴巴的实习offer,从学长内推开始面试到拿到最后offer经历了4面技术、一面交叉面和一面HR面。经过了漫长的等待和几次几乎折磨的面试之后,终于拿到了实习offer。自我介绍本人来自西南某双非本科学校,该校学的专业是物联网工程。我的专业与Java开发关系不大,学校也只教过一些简单的编程课,其余的编程相关知识都是自己在课余时间在实验室学习和自学的。技术不是大牛,项目做得多但是大部分都是自己练手的小项目或者一些有意思的小项目,没有接触过真正意义上的大项目。平时没事的时候喜欢原创 2020-10-27 17:46:24 · 4054 阅读 · 0 评论 -
Java开发不懂JVM?带你从入门到入魔。
大家都是有经验的Java开发人员,想想为何要学习JVM? [面试?调优?装逼? ]不管出于何种原因,总之你得先学好。那怎么学好呢?每个人对于JVM的了解可能不一样,这就要考虑到怎么切入既然大家都学习过Java,那不妨就从Java开始聊起,同时也是扫盲,毕竟不是每个小伙伴都是计算机专业优秀的Java开发者什么是Java? 编程语言 计算机[硬件]能够懂的语言 So JM是什么? JDK JRE JyMJVM到底该学习什么Java源码文件 ——> javac编译.原创 2020-10-27 15:34:49 · 125 阅读 · 1 评论 -
阿里余额宝高级岗:JVM+算法+MYSQL+hashmap+分布式+Redis+Spring原理
余额宝一面(技术面)JVM 内存分哪几个区,每个区的作用是什么?JVM有哪些回收算法,对应的收集器有哪些?GC 的两种判定方法 ?CMS 收集器与 G1 收集器的特点。hashmap源码问题HashMap、HashMap如何保证线程安全、ConcurrentHashMapHashMap底层结构 put操作讲一下GC 的两种判定方法 ?CMS 收集器与 G1 收集器的特点。java线程同步都有哪几种方式,在 Java 中 CycliBarriar 和 CountdownLatch原创 2020-10-27 15:22:26 · 247 阅读 · 0 评论 -
Java虚拟机第三版它来了,通俗易懂,轻松搞懂jvm底层
前言Java是目前用户最多、使用范围最广的软件开发技术,Java的技术体系主要由支撑Java程序运行的虚拟机、提供各开发领域接口支持的Java类库、Java编程语言及许许多多的第三E方Java框架(如Spring、 MyBatis等) 构成。在国内,有关Java类库API、Java语言语法及第三方框架的技术资料和书籍非常丰富,相比而言,有关Java虚拟机的资料却显得异常贫乏。随着Java技术的不断发展,它已被应用于越来越多的领域之中。其中一些领域,如互联网、能源、金融、通信等,对程序的性能、稳定性和原创 2020-10-27 15:03:25 · 160 阅读 · 0 评论 -
京东T8大牛每天熬夜到凌晨三四点,竟然是在写Docker教程
写在前面Docker如日中天,这不是单纯的炒概念,Docker确确实实解决了开发与运维的痛点,因此在企业开发中得到了非常广泛的使用。Docker是一个开放源代码软件项目,让应用程序部署在软件容器下的工作可以自动化进行,借此在Linux操作系统上,提供一-个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。京东T8大牛每天熬夜到凌晨三四点,熬了半个多月写了一份Docker的详细教程整理成文档,相信看完这份教程之后你对Docker会有更深入的了解。Docker教程领取方式:转发+关注,然原创 2020-10-27 14:40:47 · 101 阅读 · 0 评论 -
面试清单(Java岗):算法+中间件+Spring+java+设计模式+JVM+数据库
01 JAVA基础1.1 java知识点Hashmap 源码能掌握,扩容,红黑树,最小树化容量,hash冲突解决,有些面试官会提出发自灵魂的审问,比如为什么是红黑树,别的树不可以吗;为什么8的时候树化,4不可以吗,等等concureentHashMap,段锁,如何分段,和hashmap在hash上的区别,性能,等等HashTable ,同步锁,这块可能会问你synchronized关键字 1.6之后提升了什么,怎么提升的这些ArrayList 优势,扩容,什么时候用LinkedLis原创 2020-10-26 15:41:11 · 136 阅读 · 0 评论 -
Java程序员非要进大厂才能拿到年薪50W+?
不想当将军的兵不是好兵,就程序猿不想当架构师就不是好的程序员!Java架构师主要需要做哪些工作呢?1、负责设计和搭建软件系统架构(平台、数据库、接口和应用架构等),解决开发中各种系统架构问题。2、优化现有系统的性能,解决软件系统平台关键技术问题攻关、核心功能模块设计、核心代码开发。3、在项目需求不断细化的工程中校正整体的架构设计,以及详细模块拆分设计。4、营造技术学习氛围,带领团队不断完善开发开发方法及流程,提升开发效率与质量,加强技术标准及规范。5、带领团队攻克例如大数据量、高并发原创 2020-10-26 15:21:43 · 158 阅读 · 0 评论 -
3年Java开发的中年程序员怎样在公司保持核心竞争力?
每个程序员的简历都有一些共同的特性,比如,爱好是打篮球,目标是成为架构师。但是刚毕业的时候,什么都不懂,盲目的投简历,发现都要工作经验。愿意校招的公司,又往往看重学历,普普通通的学历,加上没有工作经验,感受到了社会竟是如此残酷!虽然我们都知道,不给工作机会哪来的工作经验,但是社会的生存法则,并不是我们所能改变。不好意思问家里要钱,没办法,先找份工作谋生。但是不要工作经验,不看学历的公司,技术氛围往往就三个字,“你懂的”。因为什么段位匹配什么样的队友,这个是社会亘古不变的法则。摸爬滚打两三原创 2020-10-26 15:02:59 · 180 阅读 · 0 评论 -
腾讯程序员拿月薪7W2,怎能让面试成了拦路虎?
Java面经该面试宝典包含和很多互联网企业的面试题以及答案解析:Java基础、集合类、锁、Java多线程、Java进阶SSM/SSH框架、内存模型和垃圾回收、juc包、23种设计模式、数据结构与算法、数据库、网络、操作系统、Liunx命令、安全加密、项目实战。下面目录介绍由于细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!整理了一份Java面经。覆盖了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等原创 2020-10-26 14:37:29 · 260 阅读 · 0 评论 -
2020年跳槽高峰期啦,你还想因为面试失败而进不去理想的公司吗?
金九银十,现在有不少人都在准备面试。可以说,面试是每个职场人都必须跨过的一道“槛”。但是,一个滑稽却不可避免的事实是:很多人简历或面试被Pass,并不是因为专业技能不够。被录用的,也往往并不是专业技能最强的人。许多人都以为,只要学习了很多面经,就可以在面试中做到滴水不漏、见招拆招。其实,在身经百战的面试官眼里,往往都是班门弄斧。相信你在职场和面试里肯定遇到过类似问题:为什么面试很多次,失败后才知道? 以现在自己能力和水平,到底适不适合这个时间换工作? 简历到底应该怎么浓缩和组织才能更受到..原创 2020-10-26 14:21:33 · 75 阅读 · 0 评论 -
阿里最新六面(已拿offer)技术四面+HR面+交叉面
前言前两天,我收到了阿里巴巴的实习offer,从学长内推开始面试到拿到最后offer经历了4面技术、一面交叉面和一面HR面。经过了漫长的等待和几次几乎折磨的面试之后,终于拿到了实习offer。自我介绍本人来自西南某双非本科学校,该校学的专业是物联网工程。我的专业与Java开发关系不大,学校也只教过一些简单的编程课,其余的编程相关知识都是自己在课余时间在实验室学习和自学的。技术不是大牛,项目做得多但是大部分都是自己练手的小项目或者一些有意思的小项目,没有接触过真正意义上的大项目。平时没事的时候喜欢原创 2020-10-24 14:58:31 · 420 阅读 · 0 评论 -
阿里一面就被虐了,幸获内推华为技术四面,成功拿到offer
上个月,哥们从某小厂离职,转投阿里云,简历优秀,很顺利地拿到了面试通知,但之后的进展却让哥们怀疑人生了,或者说让哥们懵逼的是,面试阿里云居然第一面就被吊打?让哥们开始怀疑自己,是不是这些年工作下来,自己没有一丁点的进步呢?幸运的是,经过他朋友推荐,去面试了华为,面试华为的过程极为顺利,很快就拿到了offer。这让哥们更弄不懂了,4面拿华为offer的水平,面试阿里居然一面就被吊打?索性,哥们想分享一下这次的面试经历,让各位老铁好好帮他参考参考,出一出主意!另外,我下文还整理了一些哥们的复习资料原创 2020-10-24 14:35:44 · 255 阅读 · 0 评论 -
并发编程28题+JVM21题+Redis 16题+Java集合22题
大厂面试主要及经常问到技术点:并发编程、多线程、JVM、优化、Spring、消息框架、分布式、缓存等以及你使用过的框架且第一轮的基础很重要,通过会后录取可能性就相对高了!今天小编已经将这些大厂都常问的技术点的问题都整理出来了,希望能帮助到深夜还在为面试做准的朋友、后续准备面试的朋友。面试题如下:并发编程28题 Synchronized 用过吗,其原理是什么? 你刚才提到获取对象的锁,这个“锁”到底是什么?如何确定对象的锁? 什么是可重入性,为什么说 Synchron原创 2020-10-24 14:21:01 · 77 阅读 · 0 评论 -
Java初级~中级~高级进阶之路24
初级程序员仅能完成简单模块和项目的开发工作,难以胜任复杂模块的开发。通常是入行不久, 1 年及以下工作经验的同学。能力要求 熟悉前端基础知识如 HTML、JS、CSS 。 能够使用一门 MVVM 框架进行简单的业务开发。 遇到复杂的组件和模块,会找现有的轮子使用。 会使用百度、google 等检索工具搜索问题。 中级程序员(阿里 p5)在必要的辅导或标准流程支持下,能独立负责一个子模块或者一个项目的具体任务,对及时性和准确性负责。通常是 2-3 年工作经验原创 2020-10-24 13:56:55 · 731 阅读 · 0 评论 -
面试一个6年 Java程序员,竟然问啥都不会!
最近看了很多简历,很多候选人年限不小,但是做的都是一些非常传统的项目,想着也不能通过简历就直接否定一个人,何况现在大环境越来 越难,大家找工作也不容易,于是就打算见一见。在沟通中发现,由于年限不小,他们的定位基本都是高级及以上,毕竟,年限摆在那里,面个中级也不体面。面试时我打算聊点基础的,先打开一下话题,结果发现对于一些开发中很基本的问题,比如: Git的分支你们是怎么管理的? 接口保证幂等性是基本的要求,那么幂等性你们是怎么做的? 你们有用@Transactional来控原创 2020-10-23 15:31:48 · 747 阅读 · 0 评论 -
开发一到三年的程序员怎么在小公司拿到30K?
前言金九银十的跳槽面试季马上结束了,最近跟朋友在一起聚会的时候,提了一个问题,说1-3年的Java程序员,薪资区间大致是在15-25K左右,那有没有可能提前达到30K的薪资呢?有人说这只能是大企业或者互联网企业工程师才能拿到。也许是的,小公司或者非互联网企业拿30K的不太可能是初级开发或者码农了,应该已经转管理。还有区域问题,这个是不在我的考虑范围内 因为除了北上广深杭,其他地方也很难达到。首先:30K对应的层级分别是什么?30K的月薪在BAT等一线大厂实在太普遍了,一般是高级工程师和资深工程师原创 2020-10-23 15:08:09 · 155 阅读 · 0 评论 -
阿里架构师:达不到百万以上并发都不叫高并发!
前言成为一名年薪百万的顶尖架构师,实现财富自由,是大多数JAVA高级程序员的职业追求。这不仅是技术发展的趋势,同时也是个人职业价值的体现。但最终能否成为IT架构中的「灵魂人物」,做出亿级用户量的产品、搭建承载百万级并发的架构,还要取决于你能不能翻过并发量这道坎。并发编程是Java语言的重要特性之一,在Java平台上提供了许多基本的并发功能来辅助开发多线程应用程序。然而,这些相对底层的并发功能与上层应用程序的并发语义之间并不存在一种简单而直观的映射关系。因此,如何在Java并发应用程序中正确且原创 2020-10-23 14:45:40 · 123 阅读 · 0 评论 -
三年开发拿阿里P6+offer:基础+数据结构+JVM+设计模式+算法+多线程+分布式+网络
前言工作三年有余,第一份工作是在一家外包公司,第二份工作是在一家做SAAS平台的公司,第一家公司让我入门,进入了软件开发的行业,了解了一些基础的东西;第二家公司由于规模不大,很多活儿都是一个人来做,从产品到开发、测试、运维我都了解了,对于整体的软件开发流程有了很大的了解。但是,为了自己的更好发展,决定去一家大公司,于5月初提出了离职,虽然领导挽留,但是我还是离职了,然后我自己面试了很多家公司,大公司小公司都有,积累了足够的经验,开始向大公司投递简历,面了几家之后,终于拿到了自己满意的offer(已入职阿原创 2020-10-23 14:22:38 · 107 阅读 · 0 评论 -
一名北漂三年的Java程序员题库总结和面试经历
最近打算换城市了,受不了北京的雾霾了,所以准备逃离啦。所以一直在面试中,整理了下最近遇到的一些面试题,供大家参考。其中会包含一些面试的小经验,如果您是面霸,希望能给予指导。自己不是大牛,如果您是大牛,也可以忽略之。我面试的岗位是Java后端开发工程师。一、简历简历里面需要包含的内容应该是学历,自己的技术栈,然后自己做过的一些项目。简历不需要太长,两页纸即可。里面应该重点写你使用过的一些框架,自己做的一些项目,以及自己的收获,简练第一。一般面试官不会有很多的耐心,看你的项目详细描述,所以尽量简洁明了即原创 2020-10-23 14:10:05 · 151 阅读 · 0 评论 -
史上最全1000道Java高频面试题:、IO流,集合、算法、网络、多线程、Git、设计模式、springboot
话不多说上干货这份资料包括:IDEA、Java语法、面向对象、异常、常用类、集合、IO流、多线程、网络编程、JUnit、枚举、注解、反射机制、CSS、HTML、JavaScript、JQuery、ajax、Javaweb、MySQL、JavaEE、SSM框架、springboot、算法、Git、maven、Linux、设计模式、多线程与高并发、视频教程、视频源码、实战项目、电子书、简历模板、高频面试题等等资源。资料目录——————————————————————————————开发手.原创 2020-10-22 16:17:32 · 141 阅读 · 0 评论 -
一份面试阿里、网易的面经(高开岗)
前言15年毕业到现在有三年多了,最近去面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中...最终有幸去了网易。但是要特别感谢点我达的领导及HR,真的非常非常好,很感谢他们一直的关照和指导。面试整体事项1.简历要准备好,联系方式一定要正确清晰醒目,项目经历按照时间倒序阐述,注意描述自己在项目中承担的职责,简历的模板尽量选择简洁的,毕竟程序员大部分还是喜欢简单明了的。2.推荐boss直聘,我觉得很好用(原创 2020-10-22 15:48:16 · 128 阅读 · 0 评论 -
不满现状,三年逆袭拿下BAJTM高薪offer,自律的Java程序员到底有多可怕
15年毕业,计算机专业出身,对软件开发很感兴趣,所以毕业找工作的时候就一直投IT行业的职位。刚踏入这个行业时,以为突击一下东拼西凑的面试材料,就能有个很好的收获。结果却是,别说大公司了,就是很多看不上的小公司的笔试题都过不去。焦躁阶段后来我去了本地的一个小公司去做服务端的开发。虽然叫服务端开发,但其实就是做系统指标监控功能,从DB中读取一些指标数据,通过图表的形式展现在浏览器中,所用的技术无非就是Spring MVC那一套。这种CRUD的工作内容做时间长了,就纯粹是体力劳动了,技术视野没办法打开。原创 2020-10-22 14:58:12 · 449 阅读 · 0 评论 -
进大公司拿30K+到底有多难?一名开发三年的Java程序员陈述
目前一线城市的薪资水平在13到40k之间,但是找工作的时候并不仅仅有工作经验就行了,还需要一定的专业知识。如果你野心更大,想要进阿里美团头条等等这些大厂的话,那就需要更多的专业知识。那么,一个三年工作经验的Java程序员应该要具备哪些知识呢?我整理了之后发现,程序员需要懂好多的知识。一、项目经验项目经验是程序员们最重要的财富,也是面试中必问的问题。一般面试官都会借着项目经验来考查应聘者的沟通能力和思考能力。三年工作经验的程序员一般都会有两个以上的项目经验,但实际我们大部分的情况都是做产品的一个功原创 2020-10-22 14:38:50 · 657 阅读 · 0 评论 -
微服务+分布式+多线程+MyBatis +Spring:BATJ高频面试249道题
前言:本文收集整理了各大厂常见面试题N道,你想要的这里都有内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈,希望大家都能找到适合自己的公司,开开心心的撸代码。目录:由于题量较多,篇幅的限制,文章中的面试题分享没有全部附上详细的解析,但是整理成了一份详细的PDF文档可分享给大家,文末获取免费领取原创 2020-10-22 13:51:01 · 125 阅读 · 1 评论 -
《数据结构与算法》核心文档,让我“跳”进了字节
数据机构与算法应该学什么,怎么学?话不多说,一张脑图就够了字节跳动面试算法那是行业出了名的厉害。人狠话不多,上来就是一套算法“组合拳”,如果你不“抗揍”的话,连面试的机会都没有了。面试字节跳动,拼多多这种大厂肯定躲避不了算法题的,相信面试过的小伙伴都知道,不管在现场面还是视频面肯定都会被问到算法,难度是要比笔试的时候容易些的。不多扯,如果你是应届毕业生或者学了一年多Java的知识,我想你应该具备这些知识。这篇文档内容我花了一个多星期的时间来详解描述,经过不断的修改最终整理出这份精美.原创 2020-10-21 21:12:31 · 79 阅读 · 0 评论 -
首发136道阿里巴巴2020Java高级岗面试题(含答案)
整理的136道阿里的Java面试题,都来挑战一下,看看自己有多厉害。下面题目都带超详细的解答,详情见底部。java基础Arrays.sort实现原理和Collection实现原理 foreach和while的区别(编译之后) 线程池的种类,区别和使用场景 分析线程池的实现原理和线程的调度过程 线程池如何调优 线程池的最大线程数目根据什么确定 动态代理的几种方式 HashMap的并发问题 了解LinkedHashMap的应用吗 反射的原理,反射创建类实例的三种方式是什么? clon原创 2020-10-21 20:53:11 · 328 阅读 · 0 评论 -
面试的时候级别被压了,但是薪资给的比较高,这种情况下,如果你去面试,你会怎么选择?
面试的时候级别被压了,但是薪资给的比较高,这种情况下,如果你去面试,你会怎么选择?是接下这个offer,还是拒绝它?今天,我们说到的这个网友就是有了这样的遭遇。发帖人表示:自己在之前公司是tl,平薪过来,但因为纠结这个级别,不知道该如何选择,这才问问广大网友们。该职友说:“级别被压了,阿里p6+,base46k,去吗?”网友们纷纷发表自己对此事的看法。有网友觉得要去,不用纠结级别,高薪最重要。@美菜网员工:低级高薪多好,以后升级涨的多@阿里巴巴员工:你能爽..原创 2020-10-21 20:21:26 · 1212 阅读 · 2 评论 -
基于eclipse开发源码分享-SSM+Activiti的公文管理系统
基于SSM+Activiti的公文管理系统的设计与实现。项目只是实现了最基本的公文流程的处理,做的不好的地方请大家谅解。项目基于eclipse开发,使用的技术:Spring、SpringMVC、Mybatis、Activiti、Maven、JackRabbit(保存上传文件)源码获取方式:关注之后扫一扫,即可免费领取【源码】资料项目实现了以下功能:1) 网站平面设计: 设计精美但是简洁,清爽的网站页面。 公文管理系统主要是方便机关单位工作人员方便的发送公文,该系...原创 2020-10-21 20:04:19 · 258 阅读 · 0 评论 -
面试,Spring Cloud 的问题 我遇到难题了!
一年没有面试了,想着试着面试一下,看看外边行情,检验自己的技术深度,不料被面试官的提问难倒了,面试官提问: 你们项目架构中使用到了哪些技术栈?SpringBoot、SpringCloud自我介绍 谈谈自己负责的项目(背景、自己负责的模块流程) SpringCloud基于什么协议? 用过Dubbo吗?说说SpringCloud和Dubbo的区别? 因此带着问题重新学习SpringCloud和Dubbo等知识。1.什么是SpringCloud? Spring Cloud为开发人.原创 2020-10-21 19:47:07 · 322 阅读 · 0 评论 -
HashMap 面试会问的 难住我的!
前言HashMap 是无论在工作还是面试中都非常常见常考的数据结构。比如 Leetcode 第一题 Two Sum 的某种变种的最优解就是需要用到 HashMap 的,高频考题 LRU Cache 是需要用到 LinkedHashMap 的。HashMap 用起来很简单,底层实现也不复杂,先来看几道常见的面试题吧。相信大家多多少少都能回答上来一点,不清楚的地方就仔细阅读本文啦~这篇文章带你深挖到 HashMap 的老祖宗,保证吊打面试官== 和 equals() 的区别? 为什么重写 eq原创 2020-10-21 17:47:59 · 261 阅读 · 0 评论 -
硬核干货!7600字带你学会 Redis 性能优化点, 建议收藏!
在一些网络服务的系统中,Redis 的性能,可能是比 MySQL 等硬盘数据库的性能更重要的课题。比如微博,把热点微博[1],最新的用户关系,都存储在 Redis 中,大量的查询击中 Redis,而不走 MySQL。那么,针对 Redis 服务,我们能做哪些性能优化呢?或者说,应该避免哪些性能浪费呢?Redis 性能的基本面在讨论优化之前,我们需要知道,Redis 服务本身就有一些特性,比如单线程运行。除非修改 Redis 的源代码,不然这些特性,就是我们思考性能优化的基本面。那么,有哪..原创 2020-10-13 15:21:27 · 303 阅读 · 1 评论 -
TCP协议,HTTP协议,以及TCP工作方式和HTTP请求完整过程
我所整理的东西都是曾经看视频,帖子,或者某个大佬说的话最后写成的笔记。现在相当于把笔记重新整理成一篇文章。所以哪怕有一些引用也找不到出处了,就不标明了!什么是HTTP协议?HTTP协议是超文本传输协议(默认端口80)。服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传送数据的。HTTP就是客服端→服务端的数据传输。大致工作流程:(1)客户与服务器建立连接;(2)客户向服务器提出请求;(3)服务器接受请求,并根据请求返回相应的文件作为应答;(4)客户..原创 2020-10-12 20:19:50 · 409 阅读 · 0 评论 -
RabbitMQ 使用指南
消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。对于消息中间件,常见角色大致也就有 Producer(生产者)、Consumer(消费者)。常见的消息中间件产品:1). ActiveMQActiveMQ 是 Apache 出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持 JMS1.1 和 J2EE 1.4 规范的 JMS Provider 实现。我们..原创 2020-10-12 16:34:33 · 142 阅读 · 1 评论 -
微服务架构丨一份文档让你由浅入深彻底掌握SpringCloud
微服务架构Spring Cloud作为当下主流的微服务框架,可以让我们更简单快捷地实现微服务架构。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包对于目前的Java程序员来讲,熟悉并且理解微服务,成为了不可或缺的一项技能!微服务设计其实是很早就有的设计思想,因为随着虚拟化技术的崛起,微服务可..原创 2020-10-12 14:00:42 · 171 阅读 · 0 评论 -
推荐 10 个实用但偏执的 Java 编程技巧
任何事情有可能出错,没错,的确如此。这就是为什么我们要采用“防御性编程”,即一些偏执习惯的原因。下面是我个人认为的 10 个最有用但偏执的 Java 编程技术。一起来看一看吧:1.将 String 字符串放在最前面为了防止偶发性的 NullPointerException 异常,我们通常将 String 放置在 equals() 函数的左边来实现字符串比较,如下代码://Badif(variable.equals("literal")){...}//Goodif("...原创 2020-10-12 09:49:15 · 342 阅读 · 0 评论 -
RabbitMQ面试题必知必会29道
需要后续RabbitMQ面试题的点赞+关注,私信我获取1.RabbitMQ是什么?RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。2.RabbitMQ特点?可靠性: RabbitMQ使用一些机制来保证可靠性, 如持久化、传输确认及发布确认等。灵活的路由 : 在消息进入队列之前,通过交换器来路由消..原创 2020-10-07 14:57:51 · 231 阅读 · 0 评论 -
牛逼,三句话搞懂 Redis 缓存穿透、击穿、雪崩!
前言如何有效的理解并且区分 Reids 穿透、击穿和雪崩之间的区别,一直以来都挺困扰我的。特别是穿透和击穿,过一段时间就稀里糊涂的分不清了。为了有效的帮助笔者自己,以及拥有同样烦恼的朋友们区分这三种场景。笔者总结了一些关键词,希望大家可以和我一样通过联想的方式来区分并理解这三种场景的区别!缓存穿透关键词:穿过 Redis 和数据库当 Redis 和数据库中都没有我们想要的数据时,就需要考虑缓存穿透的问题了。下面这段逻辑大家用的会比较多:先去 Redis 中查找某资源,Redis 中查不到原创 2020-10-07 13:57:08 · 3502 阅读 · 5 评论