- 博客(325)
- 收藏
- 关注
原创 【性能优化实战】mysql8.0使用教程图解
2021第一次Java面试,我去了快手。快手的面试挺有挑战性的,而且还特别有意思,感觉啥都能问到。(二面是10天前约的面试,差点要忘了)然后是HR面,前天我就收到offer。 美团面试经历(还原最真实的4面) 美团一面: 1、自我介绍 2、聊项目相关 介绍项目 怎么保证redis与Mysql的数据一致性 见你写了个加随机数预防缓存雪崩,解释一下 未改进和改进后的Jmter测试性能对比 3、Redis 为什么选择Redis作为缓存? 为什么Redis的性能十分的高? 说一下单进程、单线程的Redis
2021-05-27 13:46:15
549
原创 【微信小程序】java验证码识别训练
前言 今天来带大家研究一下Linux内存管理。对于精通 CURD 的业务同学,内存管理好像离我们很远,但这个知识点虽然冷门(估计很多人学完根本就没机会用上)但绝对是基础中的基础,这就像武侠中的内功修炼,学完之后看不到立竿见影的效果,但对你日后的开发工作是大有裨益的,因为你站的更高了。 再功利点的说,面试的时候不经意间透露你懂这方面知识,并且能说出个一二三来,也许能让面试官对你更有兴趣,离升职加薪,走上人生巅峰又近了一步。 阶段一:筑基 Java基础掌握不牢,对于一个开发人员来说无疑是非常致命的。学习
2021-05-27 13:45:32
543
原创 【微信小程序】java实现post请求用json格式
前言 都知道MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 所以作为一名开发人员,掌握好MyBatis的使用是非常有必要的,特别是像阿里、腾讯等大厂都使用广泛,那么如何能够达到“精通”MyBatis的程度?今
2021-05-27 13:44:48
903
原创 【干货】java开发自定义报表
前言 很久没有发过文章,今天来说一下应届生找工作的问题吧,就算你是打摆子都要看完~~ 金九银十是社招以及校招的火热时期,但今年很明显没有往年般的火热,面试也是越来越难了。对于应届生来说,如何能够在面试官眼中脱颖而出显得尤为重要。好在,我帮你们找到了一份非常全面的面试资料,针对于应届生以及转行过来的人群都是极具价值的,接下来就一起看看这份笔记。 Git是什么 在回忆Git是什么的话,我们先来复习这几个概念哈~ 什么是版本控制? 百度百科定义是酱紫的~ 版本控制是指对软件开发过程中各种程序代码、配置文件及说
2021-05-27 13:44:02
801
1
原创 【工作经验分享】java图片转文字
前言 又到一年金九银十之际。 Java作为目前用户最多,使用范围最广的软件开发技术之一。 Java的技术体系主要由支撑Java程序运行的虚拟机,提供各开发领域接口支持的Java,Java编程语言及许多第三方Jvav框架构成。 其中,以Java的虚拟器为今天的着重点 以下是我整理收藏的一些JVM大厂面试经典问题与相应答案,希望可以给看文的朋友一些帮助 由于篇幅过长,请耐心往下看,文末提供小编收藏已久的JVM面试宝典! 京东一面凉经 object的方法,7大方法 synchronized方法讲解 sync
2021-05-27 13:43:19
285
原创 【好文推荐】mysql的优点和缺点
前言 分布式事务主要解决分布式一致性的问题。说到底就是数据的分布式操作导致仅依靠本地事务无法保证原子性。与单机版的事务不同的是,单机是把多个命令打包成一个统一处理,分布式事务是将多个机器上执行的命令打包成一个命令统一处理。 MySQL 提供了redo log,undo log, Read View,两阶段提交,MVCC 机制等等来保障事务的安全。分布式事务是不是更难呢?拭目以待。 我朋友去年九月份换工作,简历投了很多大厂,美团、京东的offer都到手了。 阿里的面试进行到了第三轮,刚开始聊得还好,直到阿里面
2021-05-27 13:42:34
1377
原创 【大牛系列教学】java在线答题系统
前言 分布式事务主要解决分布式一致性的问题。说到底就是数据的分布式操作导致仅依靠本地事务无法保证原子性。与单机版的事务不同的是,单机是把多个命令打包成一个统一处理,分布式事务是将多个机器上执行的命令打包成一个命令统一处理。 MySQL 提供了redo log,undo log, Read View,两阶段提交,MVCC 机制等等来保障事务的安全。分布式事务是不是更难呢?拭目以待。 纯手打“RocketMQ笔记” 第一节:RocketMQ介绍 1.1 核心概念(主题、生产者、消费者、消息) 1.2 R
2021-05-27 13:41:51
684
原创 【大牛疯狂教学】java课程软件
前言 近年来,微服务架构(Microservices Architecture)已经成为一种主流的软件开发方法论,所谓微服务( Microservices ),就是一些具有足够小的粒度、能够相互协作且自治的服务体系。 微服务架构基于分布式系统,同时借助了面向服务架构和企业服务总线的设计理念并做了改进和优化,从而形成一种新的架构体系。 微服务架构一方面具备技术、业务和组织上的优势,另一方面也在技术架构和研发过程中存在巨大挑战。像阿里、腾讯、滴滴这类大厂微服务架构是必备的技能,都在不断摸索跟学习的路上!我之所以
2021-05-27 13:41:08
208
原创 【大牛疯狂教学】java语言编程好学吗
为什么要公开这些面试题? 原因一:身边从事 Java 开发的人员越来越多,我的表弟表妹们,朋友的表弟表妹们,朋友的朋友的表弟表妹们,每次问我要相同的面试复习材料,已经让我疲于应付,索性整理出来,直接发链接给他们。 原因二:节省招聘双方彼此的时间,有些来公司面试人,无论是有几年工作经验的还是刚毕业的,就连这些最基础的面试题都搞不定,这确实让人很遗憾。常言道“一屋不扫何以扫天下”,也是同样的道理,如果连基础的概念都搞不明白,又怎么让面试官相信你能写出高质量的程序呢?与其浪费彼此的时间,还不如花点时间把自己的基础
2021-05-27 13:40:24
208
原创 【吐血整理】java类库大全
程序员:给多少工资,干多少事 我们不是经常会看到一个关于西游记的“悖论”吗: 为什么孙悟空初期大闹天宫的时候那么厉害?因为他自己当老板,打一群天庭的打工仔。 为什么取经路上又变得不行了?作为一个打工仔,去跟一群出来自己创业的妖怪打架。 很多程序员想跟老板说,但又不太敢说,实际却在做的一件事。 事实却是: “拿着10K的工资,做着20K的事,还要操着30K的心!” 其实,这些情况都不奇怪,甚至是人之常情。 一、基础知识 比较简单的一些基础入门: 二、微服务构建:Spring boot 三、服务治理:S
2021-05-27 13:39:39
252
原创 Java开发教程!java绘制图形库
前言 毕业以来,还算顺利的进入一家互联网公司,从事Java后端的开发。一路走来将近八年的光景,期间经历过刚毕业工作的狂喜,也遇到过因工作失误而受到的打击。我觉得这都是一种历练,经过这些磨砺,算是学到了不少东西,同时我自己也探索了很多的学习方法,总结了很多心得体会,并且对面试这块也做了一些研究和相应的准备。希望分享出来能帮到更多朋友们的学习、面试,为金九银十做准备。 容器化时代来了 虚拟化技术已经走过了三个时代,没有容器化技术的演进就不会有 Docker 技术的诞生。 (1)物理机时代:多个应用程序可能会跑
2021-05-26 20:25:50
861
原创 Java开发教程入门!mysql更改密码后无法登陆
前言 了解 JVM 是对 Java 开发人员的基本要求,JVM 的相关内容自然也成了现在 Java 程序员面试的重要考点。不过估计很多小伙伴和我一样,长时间醉心于 CRUD,却忘了去了解一下更底层、更基础的东西,殊不知这些才是决定你能在这条路上走多远的关键因素,那接下来我们就一起来深入学习一下看似神秘的 JVM 吧。JVM 总体来看内容还是很多的,我会把最重要的内容介绍给大家,不过如果你有时间和精力的话,还是推荐你去看一下《深入理解Java虚拟机》这本书,确实是有口皆碑。本文也会引用很多此书的内容并加上我自
2021-05-26 20:25:07
265
原创 Java开发教程入门!java核心技术卷一
前言 不想当将军的士兵不是好士兵,这句话对于程序员来说同样适用,不想成为大牛的程序员不是好程序员。做为一个IT的新人,要想成为技术大牛要怎么做,怎样能快速成长。我们来看看过来人的分享。 简单来讲,成为技术大牛虽然有难度,但其实也不是不可能。要成为任何一个领域的专家,你需要做的是学会该领域的已有知识,所以你需要不断的去学习、研究。利用已有的知识,在自己的领域做精,创造出别人还不知道的有价值的东西。 技能学习这件事,有技巧无捷径,正所谓,纸上得来终觉浅,绝知此事要躬行。有技巧是说学习技术需要实践和看书相结合,有
2021-05-26 20:24:22
308
原创 Java开发教程入门!java字符串转布尔类型
Java面试指南 今天给大家分享一份【Java 面试 + Java 后端技术学习指南】:一份通向理想互联网公司的面试指南,包括 Java,技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计、分布式、数据库(MySQL、Redis)、Java 项目实战等, 新鲜出炉! 此手册内容专注 Java面试 ,这是本人花费了半年的时间总结的【Java 面试 + Java 后端技术学习指南】,目前本人已经拿到了腾讯等大厂offer,只要大家把这上面的知识点都搞明白,进入前 5 的互联网公司是绝对
2021-05-26 20:23:39
452
原创 Java开发揭秘!mysql8解压版安装教程
MySQL性能调优问题有哪些?怎么学? 关于这个,给大家看一份学习大纲(xmind)文件,每一个分支里面会有详细的介绍。 这里都是以图片形式展示介绍,如要下载原文件以及更多的性能调优笔记可以看文末 所以,我认为在你选择之前不妨好好想想什么是Java?你适不适合从事这份工作? Java开发是近20多年来最热门的编程语言,就业市场确实比较大,入门的难度也比C和C++要低,结合各方面来说,你选择Java是一定没有问题的。 接下来就要好好想想自己适不适合从事这份工作。现在的IT互联网市场,如果你是大专学历以下
2021-05-26 20:22:54
227
原创 Java开发揭秘!java查看内存溢出的工具
开头 该文档在Github上收获5K+star的Java核心神技(这参数,质量多高就不用我多说了吧)非常全面,包含基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等内容非常丰富,已经帮很多人拿下互联网一线公司的offer。 关于程序员,除了做项目来提高自身的技术之外,还有一种提升自己的专业技能就是:多!看!书! 好好吃透消化,让你面试跳槽不再心慌! 由于细节内容实在
2021-05-26 20:22:11
538
原创 Java开发指南!java查找字符串并替换字符串
前言 多线程相对于其他 Java 知识点来讲,有一定的学习门槛,并且了解起来比较费劲。在平时工作中如若使用不当会出现数据错乱、执行效率低(还不如单线程去运行)或者死锁程序挂掉等等问题,所以掌握了解多线程至关重要。 小编接下来会从基础概念开始到最后的并发模型由浅入深,讲解下线程方面的知识。 Redis简介 Redis与Memcached区别 Redis优点 Redis缺点 Redis数据类型 String Hash List Set Sorted set Redis事务 MULTI&E
2021-05-26 20:21:26
469
原创 Java开发指南!intellijidea配置java
前言 高并发,几乎是每个程序员都想拥有的经验。原因很简单:随着流量变大,会遇到各种各样的技术问题,比如接口响应超时、CPU load升高、GC频繁、死锁、大数据量存储等等,这些问题能推动我们在技术深度上不断精进。 我们知道,高并发代表着大流量,高并发系统设计的魅力就在于我们能够凭借自己的聪明才智设计巧妙的方案,从而抵抗巨大流量的冲击,带给用户更好的使用体验。这些方案好似能操纵流量,让流量更加平稳得被系统中的服务和组件处理。 Spring面试高频问题 SpringMVC面试高频问题 MyBatis面试高频
2021-05-26 20:20:42
245
原创 Java开发技术总结!java二维数组的定义和初始化
前言 Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。提供了完善的认证机制和方法级的授权功能。是一款非常优秀的权限管理框架。它的核心是一组过滤器链,不同的功能经由不同的过滤器。这篇文章就是想通过一个小案例将Spring Security整合到SpringBoot中去。要实现的功能就是在认证服务器上登录,然后获取Token,再访问资源服务器中的资源。 经过我自己的梳理,手绘了整个Spring5的架构脑图 这份Spring5的架构脑图我总共是将其整个知识分为以下6个部分:
2021-05-26 20:19:58
534
原创 Java开发技巧!java语言程序设计第四版答案
前言 很多Java程序员一直希望找到一份完整的学习路径,但是市面上很多书都是专注某一个领域的,没有一份完整的大图,以至于很多程序员很迷茫,不知道自己到底应该从哪里开始学,或者不知道自己学习些什么。 好在,很早之前就有一位阿里巴巴的技术专家总结了一份**《Java工程师成神之路》**,作者按照自己的经验总结了从基础,到高级、底层、架构、进阶、扩展等6个大的章节。几乎囊括了Java体系内的所有知识点。 这份资料之前开源在GitHub上,短短几个月时间,收获了15k+的Star数,最近,笔者了解到,该项目有了重大
2021-05-26 20:19:13
543
原创 MySQL最全整理!java开发androidapp
前言 在面经之前,我想从个人感受上说两点很重要的场外因素:面试节奏和心理准备!。 作为一名即将求职的程序员,面对一个可能跟近些年非常不同的2021 年,你的就业机会和风口会出现在哪里?在这种新环境下,工作应该选择大厂还是小公司?已有几年工作经验的老兵,又应该如何保持和提升自身竞争力,转被动为主动? 就目前大环境来看,跳槽成功的难度比往年高很多。一个明显的感受:今年的面试,无论一面还是二面,都很考验Java程序员的技术功底。 内存模型 内存模型定义为什么要有内存模型为什么要重排序,重排序在什么时候排如
2021-05-25 12:01:41
242
原创 Mybatis源码解析:linux查看java版本号
前言 最近一段时间发现经常看到很多人,对Spring源码比较感兴趣,日常开发中,无论你做什么什么项目,大部分都离不开Spring生态的那一套东西,所以很多人对Spring底层源码实现很感兴趣,但是有些从来没有接触过源码的开发者,在看Spring源码的过程中确实及其难受的,为什么,大部分人看源码基本都是debug一点一点去看的,最后发现,越追越离谱,越追越深,到最后都追到JDK源码了,也没有明白是什么意思! 对于学习源码,我的看法是,先去完全的熟悉它的用法,想一下如果让你来实现,你会怎么实现!有了这些想法之后
2021-05-25 12:00:14
506
原创 MyBatis整体架构分析:分布式架构演进+相关笔记参考
前言 刚刚过去的双十一,让“高性能”“高可用”“亿级”这3个词变成了技术热点词汇,也让很多人再次萌发成为「架构师」的想法。先问大家一个问题:你觉得把代码熟练、完成需求加上点勤奋,就能成为架构师么?如果你这么认为,那你注定只能是“码农”。从业这么多年,我见过太多普通程序员做到架构师的例子,但更多的人在听话地把需求做出来,既不考虑更优解,也不考虑技术原理,重复千篇一律的代码,以为只要代码写的好就能做「架构师」前段时间,还有哥们儿吐槽说,他们公司的架构师编程能力还不如他,伤感自己”怀才不遇“。但其实,架构师看的是
2021-05-25 11:59:30
215
原创 kafka从入门到精通:mysql绿色版闪退
前言 俗话说“生于忧患,死于安乐”,其实大部分中年危机,就是在安乐中产生的。 有的人或许会反驳,“照你这么说,我还必须奋斗了,不奋斗就要死,难道选择安逸的生活就不对吗?我就没有选择自己生活方式的权利吗?” 说这句话的人其实有一些误解,误解就在于,安逸的生活并不等于不需要奋斗,这要看你的家底。 某聪如果说要选择安逸的生活,他可以很安逸,因为他有了安逸的资本,而大部分的你,并没有这个资本,你如果过早的选择了安逸的生活,那么结局往往会很悲惨,而你能做的,最多也就是让你的后代有选择安逸的资本。 而你,并没有这个选择
2021-05-25 11:58:47
243
原创 Java高级:java程序设计与实践教程第二版清华大学
本篇文章主要内容 数据缓存 为何要使用缓存 哪类数据适合缓存 缓存的利与弊 如何保证缓存和数据库一致性 不更新缓存,而是删除缓存 先操作缓存,还是先操作数据库 非要保证数据库和缓存数据强一致该怎么办 缓存和数据库一致性实战 实战:先删除缓存,再更新数据库 实战:先更新数据库,再删缓存 实战:缓存延时双删 实战:删除缓存重试机制 实战:读取binlog异步删除缓存 蚂蚁金服(五面) 蚂蚁金服:一面 一面就做了一道算法题,要求两小时内完成,给了长度为
2021-05-25 11:58:02
436
原创 Java高级:java定时器原理
一、前言 在这里我不得不感慨Spring的代码的完善与优秀,从之前看源码迷迷糊糊到现在基本了解Spring的部分源码后,愈来愈发现Spring开发者的思虑之周全! 之前说过学习源码的目的在哪?正如我特别喜欢的一句话,有道无术,术尚可求也!有术无道,止于术!,对于Spring的了解仅仅局限于使用远远不够,Spring作为一个国内绝大多数java开发者使用的一个项目管理框架,他是一个生态,什么是生态?比如现在的SpringBoot、SpringCloud,他们是什么?是Spring生态中的一个组成部分!他们利用
2021-05-25 11:57:19
318
原创 Java高级进阶学习资料!java中数据类型的精度排序
前言 提到IT人员,人们的第一印象就是高薪资,包括转行来学Java的人绝大多数都是冲着高薪以及就业广泛来的。 前段时间跟同学聊天,她说她老公在一家互联网公司做Java后台开发,年薪四十万,最近在准备复习,想着明年冲一波阿里p6或者p7。 很多人都听过阿里的p级职位层级,那今天就跟大家“揭秘”一下,想要成为p7岗的Java技术专家你需要掌握哪些技术。 本篇文章我将分成三个内容来讲: ①了解阿里p级职位,大厂岗位薪资(2020) ②阿里p7技术专家水平(Java岗) ③如何让自己一步步贴近p7技术专家 基础篇
2021-05-25 11:56:36
912
原创 Java高级工程师必备知识!java怎么写api接口
开头 我们面试的时候 ,经常会被问这种到问题:Spring中bean的循环依赖怎么解决? Spring中bean的加载过程? spring相关的问题一直是大厂面试常问到的一个问题,也是一直困扰这我们,不知道从哪里下手,今天举例分析大厂的一些spring相关的面试真题。和分享我学习spring相关问题所整理的一些知识点。 正文 下文中截图来源于朋友一个pdf版本的面经,把所以知识点的答案整理了下来,耗费他至少1个月时间,在本文最后部分把这个pdf分享给大家,觉得有用的麻烦点赞关注走一波,谢谢!!!面经中有他的
2021-05-25 11:55:51
299
原创 Java面试题!mysql的数据类型可分为哪两种
前言 最近有很多朋友向我求教经验,因为我自己工作相对于稳定,在这里给大家分享一个粉丝朋友的经历,他作为一个曾经的菜鸡面试者,在不断的失败中成长,最终斩获了多份offer,因此特别想在此分享一下他的面试成长之路。 文章内容篇幅较长,希望大家都能认真的看完,相信对你的帮助绝对不止一点半点! 首先和大家分享一下他这个面试季所斩获的所有offer:腾讯,美团,字节跳动,拼多多,华为,金山云,共6家公司,其中好几家给到可sp offer。最终入职了:字节跳动的「互动娱乐」部门成为了一名研发同学。 正文 1、什么
2021-05-25 11:55:07
283
原创 升职加薪必看!饿了么4面(Java岗)面经分享
其实互联网职业可以大致分两个阶段,在毕业后的3到5年内主要都是以学习、积累为主,从一开始啥都不懂的校园“新鲜人”向“职业人”转变。如果你是Java开发者,在这个阶段你会学习: 1、基础的Java知识,多线程、集合类、JVM 2、进阶知识,设计模式、系统设计和方法论 3、主流框架,Spring、Spring Boot、MyBatis…… 4、微服务,Dubbo、ETCD、Spring Cloud…… 5、数据库,Redis、ES、MySQL、分库分表 分享一下我的学习之路 2017从杭州师范大学(也是马云
2021-05-24 16:36:23
277
原创 升职加薪必看!那些年Java面试官常问的知识点
前言 MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单、优雅。本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查询实例,深入代码,来探究MyBatis的实现。 1、背景 首先,让我们简要地讨论下每个系统,以了解它们的高级设计和架构,看下每个系统所做的权衡。 Kafka 是一个开源的分布式事件流处理平台,也是 Apache 软件基金会下五个最活跃的项目之一。在其核心,Kafka 被设计成一个多副本的分布式持久化提交日志,用于
2021-05-24 16:35:40
259
原创 前方高能!给后辈的一点建议
前言 Netty 是一款基于 Java 的网络编程框架,能为应用程序管理复杂的网络编程、多线程处理以及并发。Netty 隐藏了样板和底层代码,让业务逻辑保持分离,更加易于复用。使用 Netty 可以得到一个易于使用的 API,让开发人员可以专注自己的应用程序的独特之处。介绍了 Netty 框架,并展示了如何将它引入到 Java 网络应 用程序中通过对本书的学习,读者能学到如何编写高度可伸缩的应用程序而无需关心底层 API。本书将通过许多动手的例子教读者以异步的方式进行思考,并帮助读者掌握构建大规模网络应用程
2021-05-24 16:34:56
283
原创 前方高能!Java大厂高级面试题灵魂100问
一. 什么是架构和架构本质 在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。 此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识这个世界的基础,并用来沟通的手段,如果对架构概念理解不一样,那沟通起来自然不顺畅。 Linux有架构,MySQL有架构,JVM也有架构,使用Java开发、MySQL存储、跑在Linux上的业务系统也有架构,应该关注哪一个?想要清楚以上问题需要梳理几个有关系又相似的概念:系统与子系统、模块与组建、框架与架构 1.
2021-05-24 16:34:12
229
原创 别再说你不会!35岁之后找不到工作怎么办
一、前言 最近刚读完一本书:《Netty、Zookeeper、Redis 并发实战》,个人觉得 Netty 部分是写得很不错的,读完之后又对 Netty 进行了一波很好的复习(之前用 spring boot + netty + zookeeper 模仿 dubbo 做 rpc 框架,那时候是刚学 netty 后自己造的小轮子)。 虽然对于 Netty 的使用已经比较熟悉了,而且还知道它的底层是基于 Java NIO 做进一步的封装,使得并发性能和开发效率得到大大的提升。但是,对于同步阻塞、同步非阻塞、异步这
2021-05-24 16:33:29
246
原创 刚从阿里、头条面试回来,一次违反常规的Java大厂面试经历
前言 做了 3~5 年编程开发,你已经积累了不少项目经验,扩宽了技术广度,也许已发力成为团队管理者。到了这个阶段,大家却常有这种感受:感觉自己卡在瓶颈进步缓慢,技术水平很难像早期一样实现大幅突破? 其实大家往往忽略了这一点——提升自己的架构认知(工作5年左右程序员必须重视架构认知的提升,这会很大程度上推动你今后的成长)。 架构的本质在于面对业务场景给出优雅的解决方案,使得业务能够快速迭代和持续交付,从而达到降本增效的目标。 提升架构认知高度,就像达克效应所描述的一样,要敢于从愚昧之巅跳到绝望之谷,通过爬升开
2021-05-24 16:32:44
221
原创 农民工看完都学会了!华为Java面试真题解析
前言 说到CAS(CompareAndSwap),不得不先说一说悲观锁和乐观锁,因为CAS是乐观锁思想的一种实现。 悲观锁:总是很悲观的认为,每次拿数据都会有其他线程并发执行,所以每次都会进行加锁,用完之后释放锁,其他的线程才能拿到锁,进而拿到资源进行操作。java中的synchronized和ReentrantLock等独占锁就是悲观锁思想的实现。 乐观锁:总是很乐观认为,自己拿到数据操作的时候,没有其他线程来并发操作,等自己操作结束要更新数据时,判断自己对数据操作的期间有没有其他线程进行操作,如果有,则
2021-05-24 16:32:01
261
原创 八年Java开发心路历程,推荐一款技术人必备的接口测试神器
Kafka是一个高度可扩展的消息系统,它在LinkedIn的中央数据库管理中扮演着十分重要的角色,因其可水平扩展和高吞吐率而被广泛使用,现在已经被多家不同类型的公司作为多种类型的数据管道和消息系统。 那么,如何学习Kafka源码?? 我觉得最高效的方式就是去读最核心的源码,先看一张 Kafka结构图 以及 Kafka 源码全景图 Spring框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶。Spring更是避免了重复造轮子的工作并跟随着互联网行业的发展
2021-05-24 16:31:18
239
原创 全网最全原理讲解!撸了大神写的spring源码笔记
前言 当你准备跳槽面试的时候,明明只是一份15K的工作,却问你会不会多线程,懂不懂高并发,火箭造得让你猝及不防,结果就是两个字——凉凉!而在如今的市场,什么多线程、高并发、分布式、负载均衡、集群、微服务等等等等,都可说是Java高级后端开发求职的必备技能。 2021的春招可以说也是完美收官,前段时间收到字节跳动的面试邀请,虽有点震惊,但却依旧保持平常心去对待,结果一不小心就吊打了面试官 一般来说,零基础从入门到就业,所学学习内容如下,今天划重点的内容是第一个文件夹:001基础(se) 二、其中第一个文件
2021-05-24 16:30:33
279
原创 全网最全原理讲解!和网易大佬的技术面谈
前言 刚刚过去的双十一,让“高性能”“高可用”“亿级”这3个词变成了技术热点词汇,也让很多人再次萌发成为「架构师」的想法。先问大家一个问题:你觉得把代码熟练、完成需求加上点勤奋,就能成为架构师么?如果你这么认为,那你注定只能是“码农”。从业这么多年,我见过太多普通程序员做到架构师的例子,但更多的人在听话地把需求做出来,既不考虑更优解,也不考虑技术原理,重复千篇一律的代码,以为只要代码写的好就能做「架构师」前段时间,还有哥们儿吐槽说,他们公司的架构师编程能力还不如他,伤感自己”怀才不遇“。但其实,架构师看的是
2021-05-24 16:29:49
256
原创 【金九银十】目前最全的Java架构师成长路线
前言 大厂面试真题向来都是各大求职者的最佳练兵场,而今天小编带来的便是“HUAWEI”面经!这是一次真实的面试经历,虽然不是我自己亲身经历但是听当事人叙述后便会深有同感(因为我朋友差点就与offer擦肩而过了,总共4面技术5面HR,真的好艰难)。为此,我也将这面经整理出来分享给每位程序员(媛)朋友做一个参考,可知“HUAWEI”在Java开发工程师招聘中有哪些技术性考察和倾向! 正文 最近整理了一份 Netty 相关的文档干货,讲解很系统。今天分享给大家。看完这份文档你将获得哪些收获? 理解当下火热的
2021-05-21 11:22:09
258
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人