首页
学习
活动
专区
工具
TVP
发布

Java3y

专栏作者
559
文章
765315
阅读量
96
订阅数
头,有点秃了。
我是y哥的读者,已经毕业几年了,一直在做业务开发,最近想要跳槽,自然就会读读y哥写的对线面试官系列,毕竟现在面试都得搞八股文啊。 回头看了下对线面试官的目录,竟然已经快刷掉一半了,不过到现在好像又已经把前面刷过的忘得七七八八了。但不想那么多了,先过一遍吧。 从Java虚拟机往下就是Spring章节了,而Spring章节有三篇文章:Spring基础、SpringMVC、SpringBean生命周期。没有SpringBoot和SpringCloud是我预料之外的,感觉这两块也是会出很常见的面试题,不知道第二季能
Java3y
2022-09-20
4250
宁愿累死自己,也要卷死未来同事
我是y哥的读者,已经毕业几年了,一直在做业务开发,最近想要跳槽,自然就会读读y哥写的对线面试官系列,毕竟现在面试都得搞八股文啊。 上次吐槽完并发的知识,过了个中秋节,我已经看完对线面试管系列的《Java集合》和《Java虚拟机》的章节了,本来不想写了,后来y哥说还是有些读者爱看,我顺便也想总结下,所以又来了。 对于《Java集合》这个章节,y哥只写了两篇,一篇是List,另外一篇是Map。对于List的话,没啥好说的,挺简单的,问到了感觉就是嘎嘎的送分题。唯一值得复习的就是CopyOnWriteArrayL
Java3y
2022-09-15
4290
最近,又又1家互联网公司倒闭了,失业来得太突然…
作为Java程序员,选择学习什么样的技术?什么技术该不该学?去招聘网站上搜一搜、看看岗位要求就十分清楚了,自己具备的技术和能力,直接影响到你工作选择范围和能不能面试成功。 如果想进大厂,那就需要在Java核心技术栈上面好好准备了,具体可以分下面几个模块来学习。 学习模块 常见模式与工具:学习Java技术体系,设计模式,流行的框架与组件—— 常见的设计模式,编码必备, Spring5,做应用必不可少的最新框架,MyBatis,玩数据库必不可少的组件。从源码级别掌握它们,你比别人更容易进大厂。 分布式架构和微
Java3y
2022-07-26
7330
卷S你的《八股文》Java面试手册
大家好,最近有不少小伙伴在后台留言,近期的面试越来越难了,要背的八股文越来越多了,考察得越来越细,越来越底层,明摆着就是想让我们徒手造航母嘛!实在是太为难我们这些程序员了。 这不,为了帮大家节约时间,给大家搞来了今年上半年碰到的大厂Java面试题合集,内容非常的全面。 一般技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识。 比如果这样的问题: 项目框架,Spring、Mybatis 等框架实现原理是否熟悉? 消息中间件,负载均衡、RPC 框架等技术是否有接触过?MySQL 分库分表是否做
Java3y
2022-07-20
1.4K0
这不是八股文,这是六月份的希望
前几天在网上看到一个北漂程序员的真实遭遇: “被裁整整一个月了,面试了22家,一个offer都没有拿到” 这样的遭遇,确实不得不让人怀疑人生啊…… 虽说现在确实大环境不太好,被裁员的人也是很多,但是也不至于面试惨到如此地步吧? 个人觉得主要是薪资的问题,一般自己不愿意降薪,能力、背景和面试表现又和期望薪资不匹配,最终导致这种结果。 而且现在的企业和面试官,对于Java程序员的要求越来越高,他们宁愿牺牲更多的时间成本,也要挑选出能力更强、经验更丰富的应聘者。 但是目前面试充满坎坷、想拿高薪更是越来越难是事实
Java3y
2022-05-30
5700
5月,必须跳槽
今年以来,经过了疫情、裁员、铜三铁四,互联网大厂终于迎来了应届生集中求职的5、6月。 对于想跳槽的职场人来说,绝对是个找工作的好时机。这时候,很多高薪技术岗、管理岗的缺口和市场需求就出来了。 这类岗位,一般对工作经验要求较高,也很少有企业愿意降低要求录用毕业生,所以3~5年左右工作经验的职场人,此时跳槽,优势更加明显。 大家要好好把握上半年最后的机会啊,经历过裁员阵痛,中国互联网已经进入了下半场,而对于每一个从事IT行业的人来说,拥有更强的职业技能和技术能力已成为了必备的条件。 所以在面试跳槽前,给大家整理
Java3y
2022-05-18
6480
裁员n+1,跳槽18薪!
现在天天都能看到裁员消息,就连小厂裁员也都毫不留情,也难怪招聘市场看起来这么“畸形”。 不过,大环境如此,我们无力改变。只能选择自己乐观起来,化焦虑为动力,精进自己专业技能,这样抵抗风险的能力会越来越强。 即便大厂裁员消息满天飞,但多数互联网大厂都是采用 N+1 补偿,在补偿金这方面做得非常体面,因此还是会有很多人义无反顾选择冲进大厂。那么该如何进大厂呢?重中之重的就是能力储备,毕竟,实力决定一切。 本着好东西就是要拿出来分享的原则,把近期从阿里资深大牛那里拿来《Java面试突击指南》分享出来,希望大家都能
Java3y
2022-04-19
4410
服了!
一位粉丝去了京东面试,挂在了三面上,实在太可惜。 看了一下他的面试经历和发给我的面试题,然后花了一周时间和几个一线的大佬合作汇总了一些其他大厂的面试题和相关技术资料。 在这期间有大厂面试的,可以根据下面的面试资料抓紧准备一下,对冲刺大厂和升职涨薪非常有用!!! 同时还有一份重磅的技术资料也在最近面世了! 包含了Java基础知识,JVM,Mysql,并发,Spring,Mybatis,Redis,RocketMQ,Kafka,Zookeeper,Netty,Dubbo,ElasticSearch,Flink
Java3y
2022-04-18
3520
手写了一个JVM,太硬核了!
我觉得区分程序员技术水平高低的一个很关键的点就是看他对自己所依赖的底层是否足够的了解。JVM就是这样一项关键的底层技术。 那如何能学好JVM呢,“纸上得来终觉浅,绝知此事要躬行”,实现一遍就是最好的方法。想彻底掌握一项关键技术莫过于自己动手实现一遍。 国内玩 JVM 的大牛很少,知名的就那么几个,而玩好 JVM 又教好 JVM 的人更是少之又少。 今天给大家介绍其中一位,江湖人送外号 道格牙 的子牙老师。 下面的时间,交给他。 ----------------- 哈喽,我是子牙。十余年技术生涯,一路披荆斩
Java3y
2022-04-12
8030
疫情,我只能在家学习了
最近收到很多小伙伴的留言,3月份过完了一个offer都没收到。除了大环境和疫情的影响,还有遇到那种特别喜欢怼人的面试官,直接面到怀疑人生真是让人费解。。。 其实面试受打击是正常的,关键是要在面试中总结自己的不足!提前做好面试准备和技术储备,还是可以大幅度的提高面试效果的。 那么该怎样准备面试 斩获offer? 为此我专门找了一份《Java进阶学习+面试宝典》分享给大家,内容涵盖:计算机基础、Java、JVM、spring、算法、微服务、分布式、大厂面经、技术脑图等等...共1400+页 质量非常高!!!
Java3y
2022-04-12
6940
通宵整理的知识点
疫情当下、裁员浪潮,焦虑和不安充斥这个金三银四。 这个时候外部的各种变化愈发证明一个重要的一点:不断提升个人价值的重要性。 不是薪资层面的数字简单累积,而是一个人在职场里、在专业领域、在技术上的层层突破和能力塑造,从而建立自己的个人价值。 即使面对裁员,也依旧具备不可替代的竞争力;面临危机,也可能遇到新的机遇和更好的选择。 大的变化也可能有大的机会,任何时候都不要放弃学习和进阶。 这里和大家分享一份大神整理的Java核心知识点和面试官经常问到的知识点压压惊!整装重新出发也好,武装进入战斗也罢,希望都能帮到大
Java3y
2022-04-07
1990
跳槽,杀疯了
金三银四求职季,即便是处在裁员浪潮,也不会打消小伙伴们就业的积极性! 该跳还是得跳!面试前积极复习整个java知识点将变得非常重要,复习准备的是否充分,将直接影响你入职的成功率。 但很多小伙伴苦于没有合适的知识点来回顾整个java体系,或者不知道该从哪里开始学习,更担心知识点太多复习时间不够...... 所以给大家分享一份阿里内部的系统资料,全面且高效,包含了整个java核心内容+面试要点. (最适合临时抱佛脚的小伙伴!) 不管最近要不要去面试,建议大家不要错过都保存一份!!学完之后不论是 厂内晋升 还是 
Java3y
2022-03-25
5600
最近,失业来得太突然…
近日,阿里、腾讯裁员冲上热搜。大厂纷纷裁员减负,本来在热火朝天的金三银四,奋力冲刺和面试跳槽大厂的互联网打工人们,陷入了迷茫和焦虑。对大环境的担忧是应该的,因为大环境会直接影响到我们生活的方方面面。 但其实,与其忧虑未知,不如走好当下的每一步,提升技能和储蓄力量,在技术的高峰上不断攀登才是最应该做的。只要自己有了足够强的能力,还是能往高处去。 在这个当下,我整理了一些技术资料和面试题集,供大家提升进阶,不管你是有跳槽打算还是单纯精进自己,都可以免费领取一份。 从面试简历模板到大厂面经汇总,从大厂内部技术资料
Java3y
2022-03-21
5190
外包干了四年,废了!
如果不是被女朋友抛弃,我估计现在还没醒悟。大专生,18年通过校招进入湖南某软件公司,干了接近4年的CRUD,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的CRUD,已经让我变得不思进取,谈了2年的女朋友也因为我的心态和工资和我分手了。于是,我决定要改变现状! 刚开始准备时,自己都蒙了,四年的CRUD让我的技术没有一丝的进步,提升的只有我的年龄... 没办法,我找到了我在腾讯的老哥,作为他的小老表,在他了解了我的情况后(几乎就是Java基础开始),直
Java3y
2022-03-18
5490
阿里宣布扩招3000+!
据阿里HR部门1月11日发布的最新信息,2022年春招Java岗位数将扩招3000+。 但就2021年就业形势来看,大厂缩招裁员导致优质岗位竞争变得更加激烈,2022开年以来,也有不少大厂纷纷传来裁员的消息!除了对面试者技术的要求变高,面试的深度和难度较去年也有所加大。很多想进阿里的同学都在问,该怎么备战2022年春招?  在此,我特意找一位阿里P8的师兄要了一些面试相关的资料,内容涵盖计算机基础、Java、JVM、spring、算法、微服务、分布式、大厂面经等等...质量非常高!!!不要再看那些到处拼
Java3y
2022-03-08
4270
三月,不要跳槽
大家好,最近一周,我花了不少时间,给大家整理了一套 2022 跳槽涨薪的技术编程面试资料(前 200 名粉丝可免费领取)。 包括各大厂最新面试题以及面经(22份)还有涉及JVM,Mysql,并发,Spring,Mybatis,Redis,RocketMQ,Kafka,Zookeeper,Netty,Dubbo,ElasticSearch,Flink,Spring Boot,Spring Cloud,高并发项目,大数据系列,数据结构与算法,设计模式,网络与操作系统等20个技术栈的大厂面试题及详解文档(接近20
Java3y
2022-03-08
3470
打工人,从 JMM 透析 volatile 与 synchronized 原理
在面试、并发编程、一些开源框架中总是会遇到 volatile 与 synchronized 。synchronized 如何保证并发安全?volatile 语义的内存可见性指的是什么?这其中又跟 JMM 有什么关系,在并发编程中 JMM 的作用是什么,为什么需要 JMM?与 JVM 内存结构有什么区别?
Java3y
2020-11-04
4150
常见的 OOM 异常分析(硬核干货)
在《Java虚拟机规范》的规定里,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生 OutOfMemoryError 异常的可能。
Java3y
2020-07-09
1.8K0
2万字长文包教包会 JVM 内存结构
内存是非常重要的系统资源,是硬盘和 CPU 的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM 内存布局规定了 Java 在运行过程中内存申请、分配、管理的策略,保证了 JVM 的高效稳定运行。不同的 JVM 对于内存的划分方式和管理机制存在着部分差异。
Java3y
2020-07-09
4660
【JVM故事】了解JVM的结构,好在面试时吹牛
jvm包括两种数据类型,基本类型和引用类型。 基本类型包括,数值类型,boolean类型,和returnAddress类型。 数值类型包括,整型,浮点型,和char类型。 boolean类型同样只有true和false。 returnAddress类型是一个指针,指向jvm指令的操作码,在Java中没有与之对应的类型。 boolean类型的操作会被转化为int类型的操作进行,boolean数组会当成byte数组去操作。1表示true,0表示false。 引用类型包括三种,类类型,数组类型,和接口类型。 它们的值是动态创建的类实例,数组,或实现接口的类实例。 数组有component类型和element类型,component类型就是数组去掉最外层维度后剩下的类型,可能还是一个数组类型(对于多维数组)。 element类型就是数组里面存储的最小数据的类型,它必须是一个基本类型,类类型,或接口类型。 对于一维数组的话,component类型和element类型是相同的。 引用类型还有一个特殊值,就是null,表示没有引用任何对象。 运行时公有数据区 堆 jvm有一个堆,在所有jvm线程间共享,堆是一个运行时数据区域,所有为类实例和数组分配的内存都来自于它。 堆在jvm启动时创建,堆中对象不用显式释放,gc会帮我们释放并回收内存。 方法区 jvm有一个方法区,在所有jvm线程间共享,它存储每一个类的结构。 像运行时常量池,字段和方法数据,方法和构造函数的代码,还有特殊的方法用于类和实例的初始化,以及接口的初始化。 方法区在jvm启动时创建,虽然方法区在逻辑上是堆的一部分。 但简单实现时可以选择不进行gc和压缩,本规范没有强制要求方法区的位置,也没有要求管理已编译代码的策略。 运行时常量池 运行时常量池就是类或接口的字节码文件里的常量池的运行时表示形式,它包含几种常量。 如在编译时就已经知道的数字字面量值,和必须在运行时解析的方法和字段的引用,运行时常量池的功能类似于传统语言的符号表,不过它包含的数据会更加宽泛。 运行时常量池分配在jvm的方法区,类或接口的运行时常量池在类或接口被jvm创建时才会构建。 运行时私有数据区 pc寄存器 jvm支持一次运行多个线程,每个线程都有自己的pc寄存器,任何时候一个线程只能运行一个方法的代码。 如果方法不是native的,pc寄存器包含当前正在被执行的jvm指令地址,如果方法是native的,pc寄存器的值是未定义的。 jvm栈 每一个jvm线程都有一个私有的jvm栈,随着线程的创建而创建,栈中存储的是帧。 jvm栈和传统语言如C的栈相似,保存局部变量和部分计算结果,参与方法的调用和返回。jvm栈主要用于帧的出栈和入栈,除此之外没有其它操作, 帧可能是在堆上分配的,所以jvm栈使用的内存不必是连续的。 native方法栈 native方法不是用Java语言写的,为了支持它需要使用传统栈,如C语言栈。不过jvm不能加载native方法,所以也不需要提供native方法需要的栈。 帧 每次当一个方法被调用时一个新的帧会被创建。当方法调用完成时,与之对应的帧会被销毁,无论是正常完成还是抛异常结束。 所以帧是方法调用的具体体现形式,或称方法调用是以帧的形式进行的。帧用来存储数据和部分计算结果,和执行动态链接,方法返回值,分发异常。 帧分配在创建帧的线程的jvm栈上,每一个帧都有自己的本地变量数组,自己的操作数据栈,和一个对当前方法所在类的运行时常量池的引用。 本地变量数组和操作数栈的大小在编译时就确定了,它们随着和帧关联的方法编译后的代码一起被提供,因此帧这种数据结构的大小只依赖于jvm的实现,这些结构所需的内存可以在方法调用时同时被分配。 在一个线程执行的任何时刻,都只会有一个帧是处于激活的。这个帧被称为当前帧,与之对应的方法被称为当前方法,方法所在的类被称为当前类,此时用到的本地变量数组和操作数栈也都是当前帧的。 一个帧将不在继续是当前帧,如果它的方法调用了另一个方法,或者它的方法结束了。 当一个方法被调用,一个新的帧被创建,当执行控制由原来的方法传递到新的方法时,这个新的帧变为当前帧。 当方法返回时,当前帧把方法执行的结果传回到上一帧,当上一帧被激活的同时当前帧会被丢弃。 本地变量数组 每一帧都包含一个变量数组,就是都熟知的本地变量存储的地方。这个本地变量数组的长度在编译时确定,随着编译后的方法代码一起提供。 通常一个本地变量(的位置)能够存储一个类型的值,但是long和double类型却需要两个本地变量(的位置)才能存一个值。 本地变量按索引寻址,第一个本地变量的索引是0。long和double需要消耗两个连续的索引,但却是按照较小的这个索引寻址的。不能按照较大的那个索引去读数据,但
Java3y
2019-12-05
4530
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档