自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 超全面Java面试基础核心总结.pdf

超全面的Java核心基础,面试必备宝典

2023-10-07 22:22:14 120 1

原创 作为面试官,我会如何考察应届生

说了这么多,其实无外乎认真二字。认真不只是工作,也在于生活。我除了问技术,还会问同学们个人爱好。如果问,有谁喜欢上班,热爱加班的?信你个鬼!XXX哈哈。我很欣赏那种热爱生活,充满乐趣的人。有些同学一提起兴趣,非常热情,比如喜欢打球,骑车,游泳,徒步,会开心地介绍自己的经历。也有些热衷电影。能做到比90%的人都专业。这些都挺好。但有些同学就只会刷刷抖音,打打游戏,没啥特别了。打游戏,如果你亮出你的王者高段位几十星,如果你是神枪手轻松吃鸡,那我觉得也很不错啊,你是真的热爱。我会喊,大佬666带我上分哇。

2023-09-27 13:40:58 124 1

原创 IDEA升级2023后,java8(jdk8)的heapSize设置无效,导致编译OOM问题的艰难排查

做编程经常会遇到这种玄学一样的问题。如果项目时间又紧,还碰到一个很久都解决不了的阻塞问题,每天可能都会无数次怀疑人生。如果没有内心对这行的热爱和坚韧的意志,干着会更难受。前几天跟应届生聊天,发现很多学生选择计算机就是冲着工资来的,内心对这个专业没啥热情。就算不热爱这行,毕业也能找个工作,工资还行,这也没错。但编程这事吧,变化太快了,需要比较高强度的持续学习。如果没有内心的热爱,很难坚持多年还不停学习。很可能三年五年还是每天做同样的工作,成长稀微。原地踏步,到年龄大了,也许,就更容易迷茫焦虑吧。

2023-09-22 18:28:37 2805 2

原创 用这篇文章来终结“Java的Optional是不是鸡肋”的讨论吧

Java的Optional从此不值得再讨论!

2023-09-22 18:10:50 164

原创 爽翻!Github Copilot X发布,集成了GPT-4,远不止帮写代码

Github Copilot X发布,真的不只帮写代码

2023-03-23 17:30:50 988

原创 Java并发安全最后的提醒:不可变性和安全发布

上一篇文章我们说了,为了多线程并发场景下的对象安全共享, 线程封闭是你第三个可以遵守的原则,它包括了1)栈限制,2)ThreadLocal今天编哥给大家说说最后俩事:不可变性和安全发布不可变就是最安全的一种对象,因为不存在任何线程能去写入新状态这件事,String 就是一个这样的不可变对象它的特性如下:最后说一下共享你的对象的最后一步:安全发布简单来说,就是我们不允许发布一个部分被初始化的对象。本来稍微等一会,这对象就准备好了(Initer完全走完 init()方法),但是就是时间早了一会,让客户程序(T

2023-03-04 21:30:06 95

原创 提高Java高并发时的安全性:线程封闭

如果你要安全地共享你的对象给其他人用,线程封闭是你第三个可以遵守的原则,它包括了1)栈限制,2)ThreadLocal。

2023-03-04 21:16:46 88

原创 搞定Java多线程编程:明白发布对象和逸出的风险

构造函数中的 this 引用逃逸是一种风险,啥意思呢?假定有个类A的实例对象a, 正在通过构造函数进行初始化,而其构造函数工作期间,如果里面有新的内部对象b在初始化,那么等内部对象b初始化好了,并开始工作,那么其工作如果牵扯到了 对象a 的一些工作,但是此时 a 还没有走完自己的初始化过程,那么 b 就面临一个残疾的 a, 从而无法完成工作,这对系统很危险。// 隐式地让 a.this 逸出了 public class A {

2023-03-04 21:06:43 69

原创 多线程并发场景,理解Java的可见性

如果我们对对象的各种属性的可见性进行了合适的设定,那么我们的这个对象,就是可以安全的发布的一个必要的步骤下一篇,编哥将会说一说:发布对象时它逸出的风险。

2023-03-04 20:58:45 107

原创 这篇文章让你轻松理解线程安全

这篇文章让你轻松理解线程安全

2023-02-24 00:15:23 90

原创 数据库的索引是什么?为何需要它?如何使用它?

数据库的索引是什么?为何需要它?如何使用它?

2023-02-14 09:37:32 261

原创 什么是Java的逃逸分析

综上所述,Java Escape Analysis 是在 Java 程序的编译过程中用来确定哪些对象可以分配到栈上而不是堆上的过程。因为在栈而不是堆上分配对象,那么对象就是封闭在一个线程内,不与其他线程共享,从而在高并发的程序中消除了对象加解锁同步带来的性能消耗。具体来说,Java程序在编译时,编译器会做Escape Analysis,判断哪些对象可以分配到栈上,而不是堆上。为了确定可以在栈上分配哪些对象,编译器将分析程序代码,以查找在方法外部,是否有目标对象的引用。如果没有的话,如下所示,将在栈上分配。

2023-02-07 21:42:24 316

原创 我这三年,回顾一下

大家好,我是编哥。今天我正式放假了,有多少小伙伴今天还没放假呢?今年过年,自驾带着一家人回老婆的老家,从成都出发往武汉一路向东。三年没出省了。虽然一个人开车这么远肯定累,但终于能自由出行了,这 feel 真不错啊。回顾编哥这三年,也是感慨颇多:2020年这一年成都的情况还算稳定,到2020年夏天就能比较自由在省内活动了。这年编哥有车了,节假日回老家很方便,很自由。经常跟同学朋友在成都周边各处玩。秋...

2023-01-19 17:30:54 104

原创 文艺一点的高并发:当我们在多线程的时候,我们在做什么

3个关注点1)资源的利用2)为了公平的让每个程序跑一段时间3)然后还有方便这个目的促进了进程的发展,也就是出现了多进程,同样的,这个原因也促进了多线程的这个发展一个进程,实际上就是一个程序,是一条分支,就这样走下去了但是多线程是,现在在这个程序进程里面。我们可以看到,多条分支同时在进行齐头并进,然后这个多个分支,他们共享这一个进程内的所有的资源:1)比如说系统分配的内存空间2)比如说他们都可以使用某一些文件而线程所不共享的就是:1)每个线程会有自己的计数器(指令执行到哪里啦)

2023-01-04 22:22:43 85

原创 “发烧请假”是面照妖镜,聊聊我以前遇到的奇葩领导

推荐阅读:终于来了,【第三期】 彭涛Python 爬虫特训营!!大家好,我是编哥,最近看到网上流传的这个“发烧请假”的截图:这种领导,编哥觉得,是典型的德不配位,你看这用语也很粗鄙:“打离职报告滚蛋吧”编哥工作多年,也见识过这种不懂尊重人的领导。今天也跟大家聊聊自己遇到过的奇葩领导。领导A,编哥上班早期的领导,为人很刻板,不苟言笑。奇葩理由:极度不信任员工,极度喜欢员工加班熬夜,急功近利奇葩行为:...

2022-12-29 17:30:46 1225

原创 JVM内存模型系列 (一)并发的舞台:内存模型

内存模型就是:特定的操作协议下,对内存和高速缓存的读写访问的过程抽象。类比找房子,你是去链家还是贝壳或者安居客呢?他们有差不多的业务流程和服务风格,尽管有些微差异,但都能帮你找到房子。

2022-12-22 20:41:25 107 1

原创 JVM内存模型系列 (二)变量的8个舞步;dance with volatile!!

我们日常开发写代码,一定会和变量打交道,变量和控制逻辑,一起组成了我们写的程序变量存在哪里呢?咱们知道,就存在内存里不同的编程语言,不同的机器,有着不同的内存模型作为一个Java选手,我们在上一篇初步学习了Java内存模型今天就来一起简单看看Java内存模型的具体操作并且通过这些操作,揭开 volatile 变量的秘密,彻底明白 volatile 变量为何具有 立即可见的 特性。

2022-12-22 20:36:06 76

原创 JVM内存模型系列 (三)先行发生原则

大家好,我是编哥,JMM(JVM内存系列)今天继续。在之前的两篇关于JMM的文章中,编哥带大家理解了Java内存模型的定义,以及这个模型中的8个基本操作,相信大家对于Java的内存模型已经有了大概的印象我们来简单回顾一下,然后阐述 先行发生原则,它是判别 变量的读写,是否在并发下安全正确的天然法则,这将对我们理解线程并发,有着非常重要的作用内存模型是规定变量读写的底层细节内存模型及其操作变量的存取...

2022-12-09 17:30:51 83

原创 面试官:说说 JVM 里 volatile 变量的内存原理

JVM内存模型(二)大家好,我是编哥,我们在上一篇初步学习了Java内存模型今天就来一起看看Java内存模型的具体操作并且通过这些操作,揭开 volatile 变量的秘密,彻底明白 volatile 变量为何具有 立即可见的 特性8个操作实际上,Java内存模型中,定义了8种操作,来完成变量在不同位置的存储,读取正是本篇要讲的8种操作,将我们上文所说的JMM的两个区域(工作内存,主内存)给真正联系...

2022-11-30 17:30:56 52

原创 看这篇,再不怕 JVM 内存面试题:Java 内存模型系列(一)

大家好,我是编哥。今天来一篇原创科普小文,看看Jvm的内存模型。这个是系列文章,如果大家喜欢,后面咱们会继续这个主题哦~Amdahl定律 正逐渐代替 摩尔定律摩尔定律,通俗的说就是:每18到24个月,集成电路上可容纳的元器件数目便会增加一倍,芯片的性能也会随之翻一番。而Amdahl定律是一个计算机科学界的经验法则,因吉恩·阿姆达尔而得名。它代表了处理器并行运算之后效率提升的能力。当摩尔定律被认为即...

2022-11-24 17:30:53 343

空空如也

空空如也

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

TA关注的人

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