哈喽,大家好,我是指北君。
自从开始学Java,就知道Java是一门面向对象编程的语言,所以在指北君眼中,Java就是完全面向对象的。
有一天老大问到我这个事情,我脱口而出,结果老大过来就是一jio……
你是哪家的锁,这么膨胀 -- 20210830
大家好,我是指北君。
在面试的时候,最会被问到的多线程问题就是 synchronized,如果还只会回答 monitorenter 和 monitorexit 那就有可能通不过面试,除了 monitorenter,还可以和面试官聊聊 synchronized 的锁膨胀。
多例模式 == 枚举 ? -- 2022-02-17
哈喽,我是指北君。
“单例模式会吗?我们写道单例模式吧”。相信大家对这句话应该很熟悉,这是面试官的高频语句,指北君相信大家应该也都会,所以今天不讲单例,而是讲”多例”。多例?咋没怎么听过?没听过没关系,但你肯定用过枚举,枚举的主要作用是定义有限个对象的一种结构(多例设计),其就属于多例设计,其结构比多例结构更简单。所以我们接下来看看吧。
对象纯处
大家好,我是指北君,为回馈大家一致以来的热情,指北君今天掏压箱底的私货来教授小伙伴们怎么处对象,是纯处?那怎么行呢,俗话说得好那什么不X,什么不爱来着,当然不能傻傻地纯处,所以我们必须谈的是对象存储,这好像有点备胎的意思,良心有点小小的不安,指北君的私货貌似有点渣呢!
新领导来了3天,我开始加班写单元测试!然后怒肝了- SpringBoot单元测试指南
” 最近公司来了新领导,所谓新官上任三把火。领导review了一遍公司的代码,发现大部分代码的测试覆盖率极低。之后每个部门都动员起来,填补原来单元测试的债“.小B对我吐糟道。 指北君见状立马连夜肝了这一篇,SpringBoot单元测试指南。
用了这么多年Java,居然不知道可以用别的语言实现Java方法-20210820
哈喽,大家好,我是指北君。 不知道大家开发过程中,有没有写过不是Java语言实现的方法,没有不要紧,因为指北君百分之百相信你一定用过不是Java语言实现的方法,为什么这么肯定呢?
Swagger 这么学,你学废了吗? -- 2022-02-16
大家好, 我是指北君。
相信大家平时开发的过程中,都会使用到 API文档工具吧?大家都在使用什么呀?Java docs
,I/O Docs
, apiary.io
, Docco
, Dexy
, Doxygen
, TurnAPI
,Swagger
。今天我就来教大家如何使用 Swagger
搭建 API 文档,并且配置权限使用。毕竟开发文档还是内容使用的为好,万一上线到生产环境,没有关swagger 又没有设置权限,那可不GG啦。
好,我们这就上手搞起来。
我们将使用 Springfox
对 Swagger 2
规范的实现,并通过 JWT
的方式来设置权限。
没用线程池的我,被上司一jio-20210818
大家好,我是指北君。
前天指北君的朋友小 B,他写了一个汇总的业务,用了很多的线程就是没用到线程池,被上司一顿批。那一起来看看,线程池是什么吧?
线程池是用来统一管理线程的,在 Java 中创建和销毁线程都是一件消耗资源的事情,线程池可以重复使用线程,不再频繁的创建、销毁线程。
如果你还对面试常问的缓存击穿、缓存穿透和缓存雪崩不了解,那么你一定得看看
大家好,我是指北君。
对于使用过Redis的同学,一定听过缓存击穿、缓存穿透或者缓存雪崩吧?这是缓存系统最常见的几个问题。 但是我相信很多同学对这三个之间的概念都是模模糊糊的,今天这篇文章就是为了说明这三者之间的区别,以及如果解决这些问题。希望你在面试相关问题时可以准确的回答。
不懂这个工具类,你还说你会Java? 20210819
哈喽,大家好,我是指北君。 日常开发中,我们会使用各种工具类,利用封装好的轮子,能让我们的开发事半功倍。但是在JDK中,有一个特别的工具类——java.lang.Arrays.class,其源码实现还是挺精湛,接下来让我们来揭开它神秘的面纱。
泡茶喝水?用FutureTask吧!
大家好,我是指北君。
告诉大家一个小秘密,其实指北君没事就会出去面试,目的并不是找工作,而是想看看市场行情。最近面了一圈发现,现在的面试题真是“稀奇古怪”,各式各样,这不,指北君就碰到一个大佬,一上来就问我喜不喜欢喝茶,我猜大佬应该喜欢喝茶,就附和说喜欢,结果大佬转手就是一句,”那我们做个题吧,用程序实现一个烧水泡茶的程序”,擦,原来这是挖坑啊,早知道我就说我只喝咖啡了🐶!不过还好,指北君基础扎实😎,用FutureTask实现了这个功能,所以今天指北君就说说这道面试题。
听说有人想要做全套,那么今天它来了,保证让你的JVM不再寂寞-GC垃圾收集器&JVM调优汇总-20210823
最近朋友小B说想一份GC优化的资料内容,JVM内存分析以及性能调优的时候方便查询。可是文章太多根本看不过来,那么今天指北君就为大家带来这份,GC垃圾收集器总结及其优化指南,让你的JVM从此不再寂寞。
定了!Java 17再没有了ZGC的更新,那么是时候盘一盘Java11时推出并在12-16均有更新的ZGC了。--20210816
Java长期支持版本Java11发布时推出了ZGC, 之后的Java12 -16均有ZGC的一些更新。然而Java17的新特性已经敲定,确定没有关于ZGC的相关更新,也从另一方面说明了至Java17 ZGC已经比较稳定,可以作为比较稳定的GC垃圾回收器。相信未来ZGC必定会成为主流的Java垃圾回收期,那么盘一盘ZGC就是必然的了。
拼接字符串,还能这么玩 --20210813
大家好,我是指北君。
前言
最近呢,指北君的朋友小王在面试的时候,又遇到了问题,再次回家等通知,找个工作不容易啊,太卷了。
面试官:你知道使用原生 JDK 拼接字符串有多少种玩法吗?
小王:StringBuilder
、StringBuffer
、 String.concat
、还有用 + 拼接。(这也太简单了吧,小王心理OS。)
面试官又问,还有其他的方法吗?
小王有点开始纳闷了,还有其他的吗?没见过呀。难道是字符数组来拼接出来。
小王:字符数组拼接。
面试官还是继续追问,还有吗?小王心想还能有啥啊,该说的我都说了啊,更多的我也不知道啦,只能回答没有了。
面试官见状提醒了小王,你在用JDK 1.8
及以上版本吗? Java 8
里面新增了一个拼接字符串的类 ,叫 StringJoiner
,你可以去看一下。 小王很无奈,这个类还真没看到过。
司空见惯的Exception,你了解她的秘密吗?--20210812
大家好,我是指北君,对于Exception,不用说Java人都知道。指北君一直以来有个不治之症:对Java的一切东东有追根寻底的强迫症,不了解其所以然就睡不了觉,这不,为了能睡个好觉就带领大家探一探Exception的秘密。
switch 都支持null了,难道客官还不进来看看! Java17新特性(预览)尝鲜之switch万剑齐发 --20210811
曾几何时指北君去面试的时候,一些面试官老是问 switch 支持 String 麽之类的问题。 如今指北君想拍案而起,不要在问了,Java 中的 switch 都快支持到银河系了。什么null,Object… …等等, 已经全部支持! 下面指北君带大家看看万箭齐发的switch到底有多强。
没搞错,就是时代新贵 Java17 推出的新特性喽。虽然暂时还没有完全发布,而且是预览特性。但我们还是可以玩一玩这个飞出天际线的switch!
听说你还没学Spring就被源码编译劝退了?手把手带你编译Spring框架源码,让你的学习事半功倍
大家好,我是指北君。
最近呀,有小伙伴提出 自己在学习 Spring 的时候,这个源码环境有些搞不定。 那这怎么能行,不能因为这点小困难就让小伙伴放弃呀。
这里咱就不在赘述读Spring源码的好处了吧,想干这行的应该都懂。
今天就是要带那些想要学习 Spring 源码的小伙伴,手把手带大家把这个源码编译好,这活尽量呀,给大家得整的漂亮点。
掌握这项Java技能,你也可以吹一吹大数据处理了--20210809
大家好,我是指北君,在如今的大数据时代,对于数据的生产线式的加工处理场景越来越多,Java8之前对于这种类型的数据处理是显得有些笨拙的,代码繁多臃肿(过多的中间过程变量和过程),显得不够优雅和简洁。在Java8引入Stream包后,我们就可以得心应手地应付这种场景。
从舔狗的新路历程看垃圾回收--20210806
大家好,我是指北君。
端午了,我的朋友小 B 准备约女神看电影、划龙船,可惜等了几个小时都没有被回应。小 B 觉得他在女神心里就是那随时都可以被 Java 内存空间回收的垃圾对象,为了永占女神心中 C 位,小 B 决定去看看 JAVA 中的对象要怎样做才能不被回收。加油!加油!加油!小 B 给自己打了一波鸡血。
都在聊云开发了,你还没听过Docker?--20210805
Docker 的概念想必大家已经了解了,最直观的好处就是可以不安装虚拟机,不需要安装软件,不需要配置环境的情况下,就将我们想用的软件跑起来。