自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(367)
  • 资源 (1)
  • 收藏
  • 关注

原创 含泪拿下腾讯60W Offer,五轮面试,六个小时,灵魂拷问,扶我起来我还能再战

在互联网做了几年之后,去大厂“镀镀金”是大部分人的首选。大厂不仅待遇高、福利好,更重要的是,它是对你专业能力的背书,大厂工作背景多少会给你的简历增加几分竞争力。但说实话,想进大厂还真没那么容易。我的一个朋友在入职腾讯之前,大大小小的面试经历了十几次,最后终于在 4 轮技术面+1 轮 HR 面之后成功接到 Offer,40k*16 薪!第一轮主要考察 Java 基础, 比如:hashmap的实现Java中的垃圾回收除了代码之外你还学习了什么技术,框架死锁是怎么产生的线程和进程的区别二、三

2021-06-24 22:26:23 10291 70

原创 【面试复盘】2021金三银四之后,这些大厂Java高频面试点你都知道吗?

时隔半年,历经金三银四之后,大厂招聘已然接近尾声,接踵而来的是下一波毕业季应届生招聘计划及金九银十。在这几个月里收到很多粉丝反馈,今年找工作太难了,好不容易有面试邀请,却倒在了前几轮技术面,据了解在大厂面试中基本都会问到Redis、分布式、高并发、JVM、源码框架、项目实战、微服务、消息中间件等这些热门知识点。然而这些知识点在平常工作中有些不一定会经常用到,让许多面试者很是头疼。在与他们交谈中,问了他们在面试中遇到了哪些问题,经过一个月时间,我把从他们那收集到的问题进行了分类整理,经过多方面资料查阅以及和

2021-06-18 14:15:09 500 22

原创 系统性能百倍提升典型案例分析:高性能队列Disruptor

Disruptor 是一款高性能的有界内存队列,目前应用非常广泛,Log4j2、SpringMessaging、HBase、Storm 都用到了 Disruptor,那 Disruptor 的性能为什么这么高呢?Disruptor 项目团队曾经写过一篇论文,详细解释了其原因,可以总结为如下:内存分配更加合理,使用 RingBuffer 数据结构,数组元素在初始化时一次性全部创建,提升缓存命中率;对象循环利用,避免频繁 GC。能够避免伪共享,提升缓存利用率。3. 采用无锁算法,避免频繁加锁、解锁的性能消

2021-03-26 20:48:50 464 1

原创 并发编程经典案例分析:高性能限流器Guava RateLimiter

Guava 是Google 开源的 Java 类库,提供了一个工具类 RateLimiter。我们先来看看 RateLimiter的使用,让你对限流有个感官的印象。假设我们有一个线程池,它每秒只能处理两个任务,如果提交的任务过快,可能导致系统不稳定,这个时候就需要用到限流。在下面的示例代码中,我们创建了一个流速为 2 个请求 / 秒的限流器,这里的流速该怎么理解呢?直观地看,2 个请求 / 秒指的是每秒最多允许 2 个请求通过限流器,其实在Guava中,流速还有更深一层的意思:是一种匀速的概念,2 个请求

2021-03-21 22:09:31 383

原创 你的线程很可能出现了:安全性、活跃性以及性能问题

并发编程中我们需要注意的问题有很多,很庆幸前人已经帮我们总结过了,主要有三个方面,分别是:安全性问题、活跃性问题和性能问题。下面我就来一一介绍这些问题。安全性问题相信你一定听说过类似这样的描述:这个方法不是线程安全的,这个类不是线程安全的,等等。那什么是线程安全呢?其实本质上就是正确性,而正确性的含义就是程序按照我们期望的执行,不要让我们感到意外。在上一篇《深入底层探究并发编程Bug罪魁祸首——可见性、原子性、有序性 》中,我们已经见识过很多诡异的 Bug,都是出乎我们预料的,它们都没有按.

2021-03-20 22:41:38 211

原创 Java架构进阶笔记:一不小心就死锁了,怎么办?

我们用 Account.class 作为互斥锁,来解决银行业务里面的转账问题,虽然这个方案不存在并发问题,但是所有账户的转账操作都是串行的,例如账户 A 转账户 B、账户 C 转账户 D 这两个转账操作现实世界里是可以并行的,但是在这个方案里却被串行化了,这样的话,性能太差。试想互联网支付盛行的当下,8 亿网民每人每天一笔交易,每天就是 8 亿笔交易;每笔交易都对应着一次转账操作,8 亿笔交易就是 8 亿次转账操作,也就是说平均到每秒就是近 1万次转账操作,若所有的转账操作都串行,性能完全不能接受。那下

2021-03-19 12:04:03 160

原创 深入底层探究并发编程Bug罪魁祸首——可见性、原子性、有序性

如果你细心观察的话,你会发现,不管是哪一门编程语言,并发类的知识都是在高级篇里。换句话说,这块知识点其实对于程序员来说,是比较进阶的知识。我自己这么多年学习过来,也确实觉得并发是比较难的,因为它会涉及到很多的底层知识,比如若你对操作系统相关的知识一无所知的话,那去理解一些原理就会费些力气。大家都知道,编写正确的并发程序是一件极困难的事情,并发程序的 Bug 往往会诡异地出现,然后又诡异地消失,很难重现,也很难追踪,很多时候都让人很抓狂。但要快速而又精准地解决“并发”类的疑难杂症,你就要理解这件事情的本质,

2021-03-10 21:09:57 199

原创 Java内存模型:看Java如何解决可见性和有序性问题

什么是 Java 内存模型?你已经知道,导致可见性的原因是缓存,导致有序性的原因是编译优化,那解决可见性、有序性最直接的办法就是禁用缓存和编译优化,但是这样问题虽然解决了,我们程序的性能可就堪忧了。合理的方案应该是按需禁用缓存以及编译优化。那么,如何做到“按需禁用”呢?对于并发程序,何时禁用缓存以及编译优化只有程序员知道,那所谓“按需禁用”其实就是指按照程序员的要求来禁用。所以,为了解决可见性和有序性问题,只需要提供给程序员按需禁用缓存和编译优化的方法即可。Java 内存模型是个很复杂的规范,可以从不

2021-03-09 22:33:50 155

原创 史前最详细的:Java线程池核心流程解析

1. 前言线程池是JAVA开发中最常使用的池化技术之一,可以减少线程资源的重复创建与销毁造成的开销。2. 灵魂拷问:怎么做到线程重复利用?很多同学会联想到连接池,理所当然的说:需要的时候从池中取出线程,执行完任务再放回去。如何用代码实现呢?此时就会发现,调用线程的start方法后,生命周期就不由父线程直接控制了。线程的run方法执行完成就销毁了,所谓的“取出”和“放回”只不过是想当然的操作。这里先说答案:生产者消费者模型3. ThreadPoolExecutor的实现3.1 结构首先看下

2021-03-03 22:54:01 304 1

原创 最详细教程:正则表达式匹配${key}并在Java中使用

1.正则表达式匹配${key}\$\{([a-z]+)\} 能够匹配字符串中以${key}形式的文本(其中key为小写应为字母).*\$\{([a-z]+)\}.* 可以用来检测文本中是否有${key}形式的文本解释如下:. 匹配除换行符 \n 之外的任何单字符* 匹配前面的子表达式零次或多次 要匹配 * 字符,请使用 \*{ 标记限定符表达式的开始。要匹配 { ,请使用&nb

2021-02-27 22:20:59 1145 3

原创 神操作:他凭借“Java核心技能精讲”,竟收割了21个Offer

作为一个资历不浅的 Java 开发,这几年我面试过不少人。 发现大多数面试者,虽然看起来工作努力,但他们表现出来的能力水平,却不足以通过面试,或拿到期望的薪资。在我看来,造成这种情况的原因,主要有这么两方面:第一,“知其然不知其所以然”。 做了几年技术,开发了一些业务应用,但没有思考过这些技术选择背后的逻辑。所以,我很难定位他们日后的成长潜力,也不会放心把有一定深度的任务交给他们。第二,知识碎片化,不成系统。 事实上,当面试者无法完整、清晰地描述自己所开发的系统或使用的相关技术时,面试官就会怀疑他是否

2021-02-24 16:34:36 267 2

原创 金三银四面试必备,“全新”突击真题宝典,阿里腾讯字节都稳了

前言春节过后招聘旺季就到了,不知道大家是否准备好了,面对金三银四的招聘旺季,如果没有精心准备那笔者认为那是对自己不负责任;就我们Java程序员来说,多数的公司总体上面试都是以自我介绍+项目介绍+项目细节/难点提问+基础知识点考核+算法题这个流程下来的。有些公司可能还会问几个实际的场景类的问题,这个环节阿里是必问的,这种问题通常是没有正确答案的,就看个人的理解,个人的积累了。剩下的就没啥了,都是换汤不换药,聊项目就看你自己对你自己的项目是否理解的透彻,比如经常问你你为什么选择这个技术,为什么这么处理之类.

2021-02-22 16:33:52 2127 9

原创 阿里官方推荐:SpringMVC高能笔记,从头到尾,都是精华

公众号:【慕容千语】欢迎大家的关注前言在网络技术中基于浏览器的B/S结构无论在PC端还是手机端都充当着至关重要的角色。 PC端自不必说,手机中很多应用虽然是以APP的形式存在,但它采用的还是B/S结构。如今日头条、微信的朋友圈等,这些应用在内部封装了浏览器,后端仍然是 Web站点。在大型网站和复杂系统的开发中,Java无疑具有很大的优势,而在lava的Web框架中 Sprig MVC 以其强大的功能和简单且灵活的用法受到越来越多开发者的青睐。Spring MVC入门很简单,但是要想真正使用好却并非.

2021-02-07 17:02:31 310

原创 程序员进阶之路:Java之String重点解析

主题String s = new String("abc") 这段代码创建了几个对象呢? s=="abc" 这个判断的结果是什么? s.substring(0,2).intern()=="ab" 这个的结果是什么呢?s.charAt(index) 真的能表示出所有对应的字符吗?"abc"+"gbn"+s 直接的字符串拼接是否真的比使用StringBuilder的性能低?前言Java中的String对象特性,与c/c++语言是很不同的,重点在于其 不可变性 。那么为了服务字符串不可变性的设计,则

2020-12-19 21:48:24 236 1

原创 阿里P7大牛花了16小时讲完Spring源码解析整套笔记,满满399页,拿走不谢

正文开发人员面对突如其来的变化,无论在架构选型,还是在日常开发中,总会面临各种挑战和考验。唯有系统性地掌握 Spring Framework 编程思想、设计理念,以及具体的实现方式,方可游刃有余,以免进退失据。作为 Spring 技术生态的基石,Spring Framework 无论在设计,还是在实现上,都是一个优秀的框架,许多细节方面是非常值得我们学习的,包括:Java 语言特性的运用,如反射、动态代理、枚举、泛型、注解、ARM,Lambda 语法等设计思想和模式的实现,如 OOP、IoC、DD

2020-11-30 18:03:55 344 13

原创 涨薪秘籍之源码篇:Spring全家桶源码解读,大师晋级笔记

最近很多人留言说今年找工作太难了,要涨薪几乎更难了 !真的就这么悲观吗?其实不然,我们企业一直都在大量的招人,一直都没停过。只是一点和之前不一样要求变高了,优秀的人一直都缺。我身边朋友所在的大厂也一样比平时的要求更高了,优秀的人给出薪水甚至比平时还高,因为优秀的人产出高,效率高,特殊时期企业压力也大这样的人才能给企业创造更大的价值,企业才能发展。我就在思考怎么用好这段时间快速把我们自身的能力提升上来为下半年和来年提前做好准备,这才是当下最重要的事情 !在现在的面试基本没有不问源码的?那么为什么要了解源码呢

2020-11-25 20:38:37 219 1

原创 首发!阿里大佬整理的万字MyBatis实战笔记,精简易懂,开源免费下载

MyBatis作为国内经常使用的持久层框架,其内部代码的设计非常优秀。比如在开发过程中,有能力对框架进行深度的定制化开发,解决BUG也更加得心应手!另外学习开发者是如何设计高扩展性、低耦合性的代码,便于在自己的开发场景中应用。而在跳槽的时候MyBatis更是面试必问的内容,那你对于MyBatis又掌握了多少呢?想学习MyBatisK但,市面上真正适合学习的MyBatis资料太少,有的书或资料虽然讲得比较深入,但是语言晦涩难懂,大多数人看完这些书基本都是从入门到放弃。学透MyBatis源码难道就真的就没有一

2020-11-12 17:26:10 2500 18

原创 超详细280页Docker实战文档,97.6 MB高清可下载,24h后删!

Docker如日中天,这不是单纯的炒概念,Docker确确实实解决了开发与运维的痛点,因此在企业开发中得到了非常广泛的使用。Docker是一个开放源代码软件项目,让应用程序部署在软件容器下的工作可以自动化进行,借此在Linux操作系统上,提供一-个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。今天分享一份280页的Docker实战文档,相信看完后对Docker会有更深入的了解。由于文档内容过多,在此只以截图展示部分内容,需要详细完整版的Docker实战文档的朋友,点击此处即可免费下载。第一章:

2020-11-11 17:54:28 341 4

转载 理解 MyBatis 是如何在 Spring 容器中初始化的

MyBatis 初始化过程就是生成一些必须的对象放到 Spring 容器中。问题是这个过程到底生成了哪些对象?当遇到 MyBatis 初始化失败时,如何正确的找到分析问题的切入点?本文将针对这些问题进行介绍。本文基于 MyBatis 3和 Spring,假设读者已经知道如何使用 Maven 和 MyBatis,以及了解 Spring 的容器机制。一、Mybatis 三件套我们知道 MyBatis 的主要功能是由 SqlSessionFactory 和 Mapper 两者提供的,初始化 MyBatis

2020-11-09 21:35:37 290

原创 阿里弃用Hibernate,却用MyBatis,竟然是因为这个!

最近一直在研究MyBatis源码,作为国内经常使用的持久层框架,其内部代码的设计非常优秀。比如在开发过程中,有能力对框架进行深度的定制化开发,解决BUG也更加得心应手!另外学习开发者是如何设计高扩展性、低耦合性的代码,便于在自己的开发场景中应用。而在Mybatis中,缓存是一个绕不开的话题。比如说,MyBatis的一级缓存竟然还会引来麻烦?MyBatis 一级缓存与 SpringFramework 的声明式事务有冲突吗?在 Service 中开启事务,连续查询两次同样的数据,结果两次查询的结果不一致。这

2020-11-08 21:56:28 1955 27

原创 2020钻石段位进修记录:天猫+蚂蚁金服+阿里巴巴 面试最新总结(附:答案)

每一年的双11,都是阿里新技术的演练场,也是阿里技术人一年一度的大秀秀场。作为国内互联网技术的典型代表,阿里巴巴的技术一直备受着大家的关注。能进入阿里工作,是很多开发者们的目标与梦想,为帮助开发者们提升面试技能、高效通关一线互联网公司的面试,我们走访了多位阿里巴巴资深技术专家以及阿里高级Java候选人,提炼总结了这份面试真题,一次整体放出送给大家。看看自己能答对多少,如果能回答70%的题目,就大胆去阿里以及各互联网公司试试身手吧。本篇建议大家收藏、备用~【阿里、天猫、蚂蚁面试题目】涵盖: 开源

2020-11-05 22:08:48 444 12

原创 公布半小时下载量达10W:阿里大牛出品【MyCat笔记】真香

前言如今随着互联网的发展,数据的量级也是成指数式的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求,这个时候NoSQL的出现暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,来获取性能上的提升。但是,在有些场合NoSQL一些折衷是无法满足使用场景的,就比如有些使用场景是绝对要有事务与安全指标的。这个时候NoSQL肯定是无法满足的,所以还是需要使用关系性数据库。如何使用关系型数据库解决海量存储的问题呢?此时

2020-11-04 20:48:53 2213 28

原创 看完源码记不住?掌握这套方法,Alibaba不会少你一个工位

都说大厂面试必问源码,可很多人看完Spring、MyBatis等源码记不住,是脑子有问题吗?当然不是!是因为你没有掌握学习源码的技巧。看完源码的我…我的朋友子路,很多人都叫他路神,称他为“国内Spring讲解最好的第一人”。子路说他以前学习Spring、Spring boot源码,只能去翻书,去报个线下培训班,或者向其他公司的大牛请教,一个疑问有时候会卡好几天。但现在不一样,各种免费的资料和视频,学习成本太低了!但是网上的内容质量参差不齐,都是东拼西凑的,辛辛苦苦学半天,面试还是挂了…**学习成

2020-10-27 22:34:17 173

原创 Java年薪30W+面试必问知识之《2020年面试宝典总纲》

前言一份月薪30K的java开发岗位工作要求是怎样的呢?面试都会问到哪些呢?任职要求:1、计算机或相关专业本科(或以上)学历,具备3年以上Java服务端开发经验,熟悉常用的Java开源框架,如熟悉Spring、SpringMVC、SpringBoot、Hibernate、MyBatis等,了解其原理和实现机制;2、擅长Java Web服务开发,熟悉掌握各种Web应用开发模式,具有丰富的高并发、大数据系统的设计、研发、调试经验者优先;3、精通Java及面向对象设计开发,熟悉常见设计模式,有系统设计

2020-10-22 16:09:51 980 3

原创 你的业务代码中Spring声明式事务处理正确了吗?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等——20%的业务代码的Spring声明式事务,可能都没处理正确Spring 针对 Java Transaction API (JTA)、JDBC、Hibernate 和 Java Persistence API(JPA) 等事务 API,实现了一致的编程模型,而 Spring 的声明式事务功能更是提供了极其方便的事务配置方式,配合 Spring Boot 的自动配置,大多数 Spring Boot 项目只需要在方法上标记 @T..

2020-08-28 20:47:47 396

原创 面试官:请问如何提升TCP三次握手的性能?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等本文主要分享在 Linux 操作系统下,如何优化 TCP 的三次握手流程,提升握手速度。TCP 是一个可以双向传输的全双工协议,所以需要经过三次握手才能建立连接。三次握手在一个 HTTP 请求中的平均时间占比在 10% 以上,在网络状况不佳、高并发或者遭遇SYN 泛洪攻击等场景中,如果不能正确地调整三次握手中的参数,就会对性能有很大的影响。TCP 协议是由操作系统实现的,调整 TCP 必须通过操作系统提供的接口和工具,这就需..

2020-08-25 20:52:43 642

原创 阿里架构师讲解不一样的JVM——你真的了解JNI的运行机制吗

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等我们经常会遇见 Java 语言较难表达,甚至是无法表达的应用场景。比如我们希望使用汇编语言(如 X86_64 的 SIMD 指令)来提升关键代码的性能;再比如,我们希望调用 Java 核心类库无法提供的,某个体系架构或者操作系统特有的功能。在这种情况下,我们往往会牺牲可移植性,在 Java 代码中调用 C/C++ 代码(下面简述为C 代码),并在其中实现所需功能。这种跨语言的调用,便需要借助 Java 虚拟机的 JavaNat..

2020-08-21 20:23:04 235

原创 什么是SQL函数?为什么使用SQL函数可能会带来问题?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等函数在计算机语言的使用中贯穿始终,在 SQL 中我们也可以使用函数对检索出来的数据进行函数操作,比如求某列数据的平均值,或者求字符串的长度等。从函数定义的角度出发,我们可以将函数分成内置函数和自定义函数。在 SQL 语言中,同样也包括了内置函数和自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编写的,下面讲解的是 SQL 的内置函数。你需要从以下几个方面掌握 SQL 函数:什么是 SQL 函数?内.

2020-08-17 20:38:42 560

原创 Docker安全知多少?在虚拟的环境中,就不用考虑安全了吗?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等上一篇文章和大家分享了 Linux 系统安全。但是,当你在和同事讨论 Linux 系统安全的时候,同事表示,公司的服务都是通过 Docker 来进行容器化部署的。开发在操作中,并不会接触实际的 Linux 服务器,所以不会去关注 Linux 安全 。而且,因为容器是隔离的,就算容器被黑客攻击了,也只是容器内部受到影响,对宿主的 Linux 系统和网络都不会产生太大影响。事实上,我知道很多人都有这种想法。但是,你可以试着思考一下,.

2020-08-12 17:30:39 317

原创 阿里架构师深度剖析:微服务接口鉴权限流背后的数据结构和算法

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等微服务是最近几年才兴起的概念。简单点讲,就是把复杂的大应用,解耦拆分成几个小的应用。这样做的好处有很多。比如,这样有利于团队组织架构的拆分,毕竟团队越大协作的难度越大;再比如,每个应用都可以独立运维,独立扩容,独立上线,各个应用之间互不影响。不用像原来那样,一个小功能上线,整个大应用都要重新发布。不过,有利就有弊。大应用拆分成微服务之后,服务之间的调用关系变得更复杂,平台的整体复杂熵升高,出错的概率、debug 问题的难度都高了.

2020-08-07 17:38:48 357

原创 阿里架构师浅析负载均衡:怎样提升系统的横向扩展能力?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等之前曾写过高并发系统设计的三个通用方法:缓存、异步和横向扩展,到目前为止,你接触到了缓存的使用姿势,也了解了,如何使用消息队列异步处理业务逻辑,那么本文将带你了解一下,如何提升系统的横向扩展能力。在之前的文章中就曾提到过提升系统横向扩展能力的一些案例。比如,可以通过部署多个从库的方式,来提升数据库的扩展能力,从而提升数据库的查询性能,那么就需要借助组件,将查询数据库的请求,按照一些既定的策略分配到多个从库上,这是负载均衡服务器所.

2020-08-04 17:53:42 445

原创 一天一个大技巧,阿里架构师浅析缓存架构:如何减少不必要的计算?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等众所周知:互联网应用的主要挑战就是在高并发情况下,大量的用户请求到达应用系统服务器,造成了巨大的计算压力。互联网应用的核心解决思路就是采用分布式架构,提供更多的服务器,从而提供更多的计算资源,以应对高并发带来的计算压力及资源消耗。那么有没有办法减少到达服务器的并发请求压力呢?或者请求到达服务器后,有没有办法减少不必要的计算,降低服务器的计算资源消耗,尽快返回计算结果给用户呢?有,解决的核心就是缓存。所谓缓存,就是将需要多次读.

2020-07-31 20:37:24 189

原创 注意细节,阿里架构师一文详解SpringDI的四种依赖注入方式

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等SpringDI(依赖注入)一、DI概述Dependency Injection即为依赖注入,简称DI。简单来说,在Spring创建对象的同时,为其属性赋值,称之为依赖注入。形象来说,组件之间依赖关系由容器在运行期决定的,即由容器动态的将某个依赖关系注入到组件之中。二、什么是DI2.1 了解DI的思想简单了解了DI(依赖注入),在看依赖注入这个词,我们也可以将依赖注入以IOC(控制反转)的形式拆分它。顾.

2020-07-18 20:27:06 266

原创 记一次MySQL字符串索引优化方案

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等字符串建立索引的优化1. 建立前缀索引假设建立一个支持邮箱登录的用户表,对于邮件字段来说,可以有以下几种建立索引的方式:①. 直接对整个字符串建立索引alter table SUser add index index1(email);②. 对整个字符串的前一部分建立索引 - 前缀索引alter table SUser add index index2(email(6));方式 2 相较于 方式 1 来说,利用前缀.

2020-07-15 21:03:41 289

原创 细说:程序运行的环境和运行过程,再看不懂请自行面壁

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等编译器的任务,是要生成能够在计算机上运行的代码,但要生成代码,我们必须对程序的运行环境和运行机制有比较透彻的了解。你要知道,大型的、复杂一点儿的系统,比如像淘宝一样的电商系统、搜索引擎系统等等,都存在一些技术任务,是需要你深入了解底层机制才能解决的。比如淘宝的基础技术团队就曾经贡献过,Java 虚拟机即时编译功能中的一个补丁。这反映出掌握底层技术能力的重要性,所以,如果你想进阶成为这个层次的工程师,不能只学学上层的语法,而是要.

2020-07-14 21:27:15 1177

原创 作为Java开发,你真的了解系统吗?技术架构又要解决什么问题?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等对于开发人员来说,我们每天都在用技术。但你要知道,我们写的代码,其实只是系统的一小部分,我们了解的技术,也只是系统用到的一小部分。要深入掌握技术架构,我们就需要了解整体的系统。面对一个复杂的系统,我想你可能经常会有以下困扰:不清楚系统整体的处理过程,当系统出问题时,不知道如何有针对性地去排查问题。系统设计时,经常忽视非业务性功能的需求,也不清楚如何实现这些目标,经常是付出惨痛的教训后,才去亡羊补牢。不知你是否还记得,在.

2020-07-13 21:57:31 546

原创 盘点:2020年最新、最全、最实用的Java岗面试真题,已收录GitHub

本文转载自:盘点:2020年最新、最全、最实用的Java岗面试真题,已收录GitHub文中涉及的面试真题请访问原文链接,点击文末的【阅读原文】即可获取文章目录一、Java快速面试1. Java基础知识面试题2. Dubbo面试题3. Java异常面试题4. Java虚拟机(JVM)面试题5. Java集合容器面试题6. Linux面试题7. MyBatis面试题8. MySQL数据库面试题9. Netty面试题10. Redis面试题11. Spring面试题12. Spring Boot面试题13.

2020-07-07 15:53:53 343

原创 阿里大牛的Kafka动态配置了解下?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等什么是动态Broker参数配置?在开始分享之前,我们先来复习一下设置 Kafka 参数,特别是 Broker 端参数的方法。在 Kafka 安装目录的 config 路径下,有个 server.properties 文件。通常情况下,我们会指定这个文件的路径来启动 Broker。如果要设置 Broker 端的任何参数,我们必须在这个文件中显式地增加一行对应的配置,之后启动 Broker 进程,令参数生效。我们常见的做法是,一..

2020-07-06 20:34:00 502

原创 如何迅速分析出系统I/O的瓶颈在哪里?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等性能指标老规矩,我们先来回顾一下,描述 I/O 的性能指标有哪些?你可以先回想一下文件系统和磁盘 I/O 的原理,结合下面这张 Linux 系统的 I/O 栈图,凭着记忆和理解自己写一写。或者,你也可以打开前面的文章,挨个复习总结一下。说了这么久的 I/O 性能知识,一说起 I/O 指标,你应该首先会想到分类描述。我们要区分开文件系统和磁盘,分别用不同指标来描述它们的性能。文件系统I/O性能指标我们先来看文件系统的情况..

2020-07-05 21:37:39 450

原创 JVM深度剖析:一文详解JVM是如何实现反射的?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等文章目录反射调用的实现反射调用的开销总结与实践反射是 Java 语言中一个相当重要的特性,它允许正在运行的 Java 程序观测,甚至是修改程序的动态行为。举例来说,我们可以通过 Class 对象枚举该类中的所有方法,我们还可以通过Method.setAccessible(位于 java.lang.reflect 包,该方法继承自 AccessibleObject)绕过 Java 语言的访问权限,在私有方法所在类之外的地方调用该.

2020-07-02 21:14:12 341

Java中高级核心知识全面解析.pdf

今天分享给大家的都是目前主流企业使用最高频的面试题库(包含:Java基础、网络、Linux、数据库结构与算法、数据库、系统设计、必会工具、面试简历模板等),也都是 Java 版本升级之后,重新整理归纳的最新答案,会让面试者少走很多不必要的弯路。同时每个专题都做到了详尽的面试解析文档,以确保每个阶段的读者都能看得懂。

2021-02-19

空空如也

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

TA关注的人

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