算法
java架构师小芷
java构架大数据每天分享干货
展开
-
惊艳!阿里内部445页爆款Redis源码分析宝典终开源!
前言在开源界,高性能服务的典型代表就是Nginx和Redis。纵观这两个软件的源码,都是非常简洁高效的,也都是基于异步网络I/O机制的,所以对于要学习高性能服务的程序员或者爱好者来说,研究这两个网络服务的源码是非常有必要的。Nginx目前市面上的书籍很多,但是Redis确实寥寥无几。这几年Redis版本发展非常快,从稳定的2.x版本,发展到增加了很多优秀特性的5.0版本,这些特性目前尚无资料进行系统讲解。然而小编接下来给大家带来的这本《Redis 5设计与源码分析》书填补了Redis 5.0技术学习原创 2020-10-08 13:06:10 · 1359 阅读 · 9 评论 -
爱了!Alibaba技术官甩出的Java进阶笔记,GitHub已标星85.7K
移动互联网时代,IT 系统变得愈加复杂,对我们程序员的要求也是越来越高,技术不断更新,我们还不能停止学习,停下来了就会被打上一个‘不合格的程序员’的标签,如何成为一位「不那么差」的程序员?「不那么差」的程序员又需要掌握一些什么知识呢?这篇文章就与大家聊一聊这个话题。以下内容仅代表我从业以来所积累的相关经验,不对不全的地方还请大家海涵,下面我会从硬技能、软实力这些方面尽量阐述我所认为的 “不那么差的程序员” 应当做到哪些技能。技术栈作为一名码代码的程序员,怎么说干的还是技术活。既然是技术活那专业实原创 2020-09-30 17:03:26 · 351 阅读 · 0 评论 -
阿里校招成功上岸分享,这份Java核心笔记建议收藏!
前言Aibaba是我非常向往的互联网大厂,也是我选择这个专业的目的,因此我对于个人未来还是有一些想法的,而且也一直为这个目标在奋斗。每年像阿里、腾讯、滴滴、美团等互联网公司在3、4月份,7—10月份的时候都会有校招。我在大二秋招的时候就会往一些二三线的互联网公司投递简历,找一找面试的机会,让自己具备一定的面试经验,不至于到大三秋招的时候整个人的面试状态不自然。必备技能由于内容太多,为避免影响阅读体验,我就直接把整个需要掌握的内容都做成了一张系统识图,方便大家阅读学习,高清完整版可以.原创 2020-09-20 21:28:42 · 343 阅读 · 0 评论 -
史上最强Java岗面试真题合集整理:百度/阿里中间件//蚂蚁中间件
百度(三面)百度一面(现场)自我介绍 Java中的多态 为什么要同时重写hashcode和equals Hashmap的原理 Hashmap如何变线程安全,每种方式的优缺点 垃圾回收机制 Jvm的参数你知道的说一下 设计模式了解的说一下 手撕一个单例模式 算法题目 手撕算法:反转单链表 手撕算法:实现类似微博子结构的数据结构,输入一系列父子关系,输出一个类似微博评论的父子结构图 手写java多线程 手写java的soeket编程,服务端和客户端 手撕算法:爬楼梯,写出原创 2020-09-17 16:52:34 · 258 阅读 · 1 评论 -
真真香!腾讯T4大佬终于总结了一份564页ava性能优化文档
前言我们通常情况下,一开始可以有条不紊地进行软件需求定义和分析,随着上线时间的不断追近,面对客户的咄咄逼人的需求修改和即刻变更需求上线压力,程序员作为弱势群体,往往会考虑时间优先原则,很难守住按部就班的开发计划和开发方式,从而导致出现了软件质量的大幅度下降。软件一定存在修改的余地,但是程序员们通常不相信自己的系统存在诸多问题,尤其是感觉自己已经做得相当完美。系统调优在软件的后续改进和重构中占有很大的地位,能够弥补前述的不足,本文以通俗的语言和引人入胜的故事,重点讲述软件性能调优的方法论和具体实现原创 2020-09-11 21:36:59 · 359 阅读 · 0 评论 -
深入理解Raft算法
前言最近在分布式系统一致性方面,Raft算法比较火啊。所以就抽时间看了下这个算法。之前已经有Paxos算法,用于解决分布式系统最终一致性问题,而且已经有了zookeeper这个成熟的开源实现。那么这个Raft算法有啥用呢?按照Raft官网的说法,这个算法的错误容忍和性能和Paxos算法类似,但是拥有更加简单易懂的设计。看过Paxos算法的童鞋们都知道,这货复杂地和屎一样,为了实现去中心化而考虑了各种复杂的边界条件和时序下的可靠性。而Raft算法则根据实际应用中的需要,简化了设计模型,不采用去中心原创 2020-08-29 17:23:05 · 683 阅读 · 0 评论 -
java程序员:就写了一行代码!被问了这么多问题?
前言分享一个自己年轻时候的经历(篇外话)面对面试官的时候,他们通常会问这么一个问题:你上一份工作的离职原因?这个问题肯定有不少同学都会被问到吧,好多人都这么回答的:现在的项目代码太烂了,前人留下了很多坑,我实在忍受不了了。在我看来,因为这个原因离职显得未免太不职业了,而且可能把工作想的太过于理想化了。如果因为代码很烂就离职,那么你跳槽到下一个公司依然会面对同样的现状,你是不是还要用离职来解决呢?因为几乎每个人,都会觉得自己公司的项目代码很烂。造成这种现象的原因是什么,首先,我们得相信,没原创 2020-08-26 20:54:15 · 223 阅读 · 0 评论 -
阿里三面惨遭被虐,关于redis,分布式,高并发,微服务一窍不通
三面大概九十分钟,问的东西很全面,需要做充足准备,就是除了概念以外问的有点懵逼了(呜呜呜~)。回来之后把这些题目做了一个分类并整理出答案(强迫症的我~狂补知识~)分为redis缓存,高并发,分布式,微服务等,接下来分享一下我的这京东面试的面经+一些我的学习笔记。注意注意:需要小编整理的redis缓存,高并发,分布式,微服务等,面试答案、学习笔记、思维脑图(xmind)的朋友可以是私信小编【666】免费获取。京东关于redis缓存面试真题:项目中缓存是如何使用的?为什么要用缓存?缓存.原创 2020-08-22 17:41:14 · 135 阅读 · 0 评论 -
jvm优化——图解垃圾回收,看不懂你打我
对于调优之前,我们必须要了解其运行原理,java 的垃圾收集Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。因此本篇主要从这三个方面来了解:1. 哪些对象需要被回收?2. 什么时候回收?3. 如何回收?一、谁要被回收java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域有各自各自的用途。主要包含以下几个部分组成:1、...原创 2020-08-15 14:16:31 · 123 阅读 · 0 评论 -
信心满满去面美团,结果被JVM9连问怼的一脸懵逼
前言相信很多人一开始接触 Java 虚拟机只是因为面试需要用到,所以硬着头皮去学。所以很多人对于为什么要学虚拟机这个问题,一致的答案皆是:因为面试。(我也是)‘手动狗头’。大家先来看看JVM9连问大家能答出几问:反正小编当时被怼的一脸懵逼其实学习JVM并不仅仅在于面试,而在于更深入地理解 Java 这门语言,以及为未来排查线上问题打下基础。下面我们来看看官方的定义。随着Java以及Java社区的不断壮大,Java也早已不再是简简单单的一门计算机语言了,它更是一个平台、一种文化、.原创 2020-08-14 14:34:33 · 204 阅读 · 0 评论