大家好,我是指北君。
前天指北君的朋友小 B,他写了一个汇总的业务,用了很多的线程就是没用到线程池,被上司一顿批。那一起来看看,线程池是什么吧?
线程池是用来统一管理线程的,在 Java 中创建和销毁线程都是一件消耗资源的事情,线程池可以重复使用线程,不再频繁的创建、销毁线程。
Java 's Blog
大家好,我是指北君。
前天指北君的朋友小 B,他写了一个汇总的业务,用了很多的线程就是没用到线程池,被上司一顿批。那一起来看看,线程池是什么吧?
线程池是用来统一管理线程的,在 Java 中创建和销毁线程都是一件消耗资源的事情,线程池可以重复使用线程,不再频繁的创建、销毁线程。
大家好,我是指北君。
对于使用过Redis的同学,一定听过缓存击穿、缓存穿透或者缓存雪崩吧?这是缓存系统最常见的几个问题。 但是我相信很多同学对这三个之间的概念都是模模糊糊的,今天这篇文章就是为了说明这三者之间的区别,以及如果解决这些问题。希望你在面试相关问题时可以准确的回答。
哈喽,大家好,我是指北君。 日常开发中,我们会使用各种工具类,利用封装好的轮子,能让我们的开发事半功倍。但是在JDK中,有一个特别的工具类——java.lang.Arrays.class,其源码实现还是挺精湛,接下来让我们来揭开它神秘的面纱。
大家好,我是指北君。
告诉大家一个小秘密,其实指北君没事就会出去面试,目的并不是找工作,而是想看看市场行情。最近面了一圈发现,现在的面试题真是“稀奇古怪”,各式各样,这不,指北君就碰到一个大佬,一上来就问我喜不喜欢喝茶,我猜大佬应该喜欢喝茶,就附和说喜欢,结果大佬转手就是一句,”那我们做个题吧,用程序实现一个烧水泡茶的程序”,擦,原来这是挖坑啊,早知道我就说我只喝咖啡了🐶!不过还好,指北君基础扎实😎,用FutureTask实现了这个功能,所以今天指北君就说说这道面试题。
最近朋友小B说想一份GC优化的资料内容,JVM内存分析以及性能调优的时候方便查询。可是文章太多根本看不过来,那么今天指北君就为大家带来这份,GC垃圾收集器总结及其优化指南,让你的JVM从此不再寂寞。
Java长期支持版本Java11发布时推出了ZGC, 之后的Java12 -16均有ZGC的一些更新。然而Java17的新特性已经敲定,确定没有关于ZGC的相关更新,也从另一方面说明了至Java17 ZGC已经比较稳定,可以作为比较稳定的GC垃圾回收器。相信未来ZGC必定会成为主流的Java垃圾回收期,那么盘一盘ZGC就是必然的了。
大家好,我是指北君。
最近呢,指北君的朋友小王在面试的时候,又遇到了问题,再次回家等通知,找个工作不容易啊,太卷了。
面试官:你知道使用原生 JDK 拼接字符串有多少种玩法吗?
小王:StringBuilder
、StringBuffer
、 String.concat
、还有用 + 拼接。(这也太简单了吧,小王心理OS。)
面试官又问,还有其他的方法吗?
小王有点开始纳闷了,还有其他的吗?没见过呀。难道是字符数组来拼接出来。
小王:字符数组拼接。
面试官还是继续追问,还有吗?小王心想还能有啥啊,该说的我都说了啊,更多的我也不知道啦,只能回答没有了。
面试官见状提醒了小王,你在用JDK 1.8
及以上版本吗? Java 8
里面新增了一个拼接字符串的类 ,叫 StringJoiner
,你可以去看一下。 小王很无奈,这个类还真没看到过。
大家好,我是指北君,对于Exception,不用说Java人都知道。指北君一直以来有个不治之症:对Java的一切东东有追根寻底的强迫症,不了解其所以然就睡不了觉,这不,为了能睡个好觉就带领大家探一探Exception的秘密。
曾几何时指北君去面试的时候,一些面试官老是问 switch 支持 String 麽之类的问题。 如今指北君想拍案而起,不要在问了,Java 中的 switch 都快支持到银河系了。什么null,Object… …等等, 已经全部支持! 下面指北君带大家看看万箭齐发的switch到底有多强。
没搞错,就是时代新贵 Java17 推出的新特性喽。虽然暂时还没有完全发布,而且是预览特性。但我们还是可以玩一玩这个飞出天际线的switch!
大家好,我是指北君。
最近呀,有小伙伴提出 自己在学习 Spring 的时候,这个源码环境有些搞不定。 那这怎么能行,不能因为这点小困难就让小伙伴放弃呀。
这里咱就不在赘述读Spring源码的好处了吧,想干这行的应该都懂。
今天就是要带那些想要学习 Spring 源码的小伙伴,手把手带大家把这个源码编译好,这活尽量呀,给大家得整的漂亮点。
大家好,我是指北君,在如今的大数据时代,对于数据的生产线式的加工处理场景越来越多,Java8之前对于这种类型的数据处理是显得有些笨拙的,代码繁多臃肿(过多的中间过程变量和过程),显得不够优雅和简洁。在Java8引入Stream包后,我们就可以得心应手地应付这种场景。
大家好,我是指北君。
端午了,我的朋友小 B 准备约女神看电影、划龙船,可惜等了几个小时都没有被回应。小 B 觉得他在女神心里就是那随时都可以被 Java 内存空间回收的垃圾对象,为了永占女神心中 C 位,小 B 决定去看看 JAVA 中的对象要怎样做才能不被回收。加油!加油!加油!小 B 给自己打了一波鸡血。
Docker 的概念想必大家已经了解了,最直观的好处就是可以不安装虚拟机,不需要安装软件,不需要配置环境的情况下,就将我们想用的软件跑起来。
Java已经过了20个年头了,Java8之后,JDK的发行计划变了不少,半年一小聚,三年一大闹。根据Oracle官方的的文档,长期支持的Java版本是Java11 和 Java17。 其中Java17计划在2021年9月14号发布,Java17 将是一个长期支持的版本(Long Terms Support)。既然长期支持,作为Java程序员就必须重视并搞起来。那么让我们来阅览一下二十年陈酿 Java17 。文木附送OpenJDK 17 Earily Access 版本下载地址,还不玩起来!
大家好,我是指北君。
最近指北君的女神要生日了,所以指北君决定通过代购买个小包包当生日礼物(这半个月又白忙活了😭),在下单完的一瞬间,突然指北君发现,代购和我们Java中的静态代理模式很像啊,指北君顾不上买包的心痛,马上码了这篇文章。
大家好,我是指北君。
前两天有童鞋发消息给指北君哭诉阿里四面挂了,据了解,面试过程中该童鞋表现得很不错,所以最后面试官出了道简单题”912. 排序数组“放放水,但指定使用归并排序算法,但该读者因为细节问题运行case始终过不了,最终收到感谢信。
大家好,我是指北君,本次将为大家带来Java模块系统的介绍。模块化一直是软件工程和设计领域的重要关注点,模块化程度的高低决定了产品在安全、可复用、扩展、升级、维护等诸多方面是否具备竞争力。 Java的模块系统是JDK9引入,由于Java的9,10两个版本不是LTS版本,所以大部分人接触到Java的模块系统是在Java11中。
哈喽,大家好,我是指北君。
java.lang.String类可能是大家日常用的最多的类,但是对于它是怎么实现的,你真的明白吗?不知道不要紧,善解人意的指北君写下了这篇文章,包你一看就明白了。
大家好,我是指北君。
在平时的 API 开发过程中,总会遇到一些错误异常没有捕捉到的情况。那有的小伙伴可能会想,这还不简单么,我在 API 最外层加一个 try...catch
不就完事了。
哈哈哈,没错。这种方法简单粗暴。指北君曾经也是这么干的,但是你转过来想一想,你会在每一个 API 入口,都去做 try...catch
吗?这样不是代码非常丑陋的。小伙伴开始思考,突然灵光一现,说我们实现一个 AOP 来做这事不久完了。没错,使用 AOP 来实现是最佳的选择。
现在指北君就给大家来介绍介绍 Spring Boot
怎么通过注解来实现全局异常处理的。
大家好,我是指北君。
前几天,指北君有一个朋友小王在面试过程中被吊打了。当时的情况是这样的。
面试官:Spring Boot
中最重要的注解是什么?你能讲讲为什么最重要吗?
小王:@SpringBootApplication
,这个注解最重要吧。 @SpringBootApplication
注解能够实现 Spring 组件自动化配置,组件扫描。
面试官:那 @SpringBootApplication
注解是怎么实现 Spring Boot
的自动配置功能呢?
小王心想大事不妙,还真没有看过这块源码。支支吾吾回答不上,只好回家等通知了。