面试官:你真的理解String吗

2020-06-15
阅读 3 分钟
2.8k
前几天后端君在自我提高(摸鱼)的时候看到了一个简单却也有趣的面试题:String str = new String("abc")这个语句创建了几个对象?

RocketMQ.2-NameServer是如何启动的

2020-06-13
阅读 6 分钟
3.3k
上一篇文章讲述了以RocketMQ源码的方式启动NameServer和broker进行单机部署及收发消息的流程,其实就是简单的quickstart,后端君在实际操作过之后就已经能够基于RocketMQ进行简单业务的消息传递,完成诸如异步消费收集日志这样的小功能了。

RocketMQ.1-快速入门

2020-06-09
阅读 6 分钟
6.1k
学习RocketMQ的第一天,应该从官网的QuickStart案例开始,这一节就来介绍一下如何部署单机RocketMQ以及进行消息的收发。 0. 版本说明 使用RocketMQ需要有如下的硬件要求: 64位操作系统 JDK 1.8+ Maven 3.2.x Git 4GB+ 硬盘空间(broker 存储需要) 了解版本说明之后,我们就可以开始进行实战了。 Ps: RocketMQ版本为Rel...

RocketMQ.0-术语、消费模式、应用场景

2020-06-02
阅读 4 分钟
3.6k
从RocketMQ的架构图可以看到,它是由NameServer, Broker, Producer, Consumer四种角色组成的,每一种角色都可以进行水平扩展而不会出现单点故障,所以它天然的支持分布式。

「Java」静态代理、动态代理及 $Proxy0 类源码分析

2020-05-30
阅读 7 分钟
3.5k
从前从前,有个面试官问我动态代理和静态代理的区别,我当时支支吾吾没说清楚,只提到了动态代理需要实现InvocationHandler接口,然后使用Proxy类反射创建实例云云。至于静态代理……这玩意不就是一种设计思想?

「SpringBoot」别再问我 Starter 该怎么写了

2020-05-27
阅读 6 分钟
2.6k
从前从前,有个面试官问我一个 SpringBoot Starter 的开发流程,我说我没有写过 starter,然后就没有然后了,面试官说我技术深度不够。

「Java」别再问我什么是重载(Overload)

2020-05-25
阅读 4 分钟
2.5k
重载相信大家都很熟悉,但是 Overload 是怎么回事呢?下面就让我带大家一起了解一下吧。Overload 其实就是重载,大家可能会感到惊讶,但事实就是这样,我也感到很惊讶,这就是关于 Overload 的事情了,大家有什么想法,欢迎在评论区告诉我一起讨论哦!

「JVM」异常表及 try-catch-finally 字节码分析

2020-05-24
阅读 5 分钟
4.9k
作为一个“有经验”的 Java 工程师,你一定知道什么是try-catch-finally代码块。但是你知道 JVM 是如何处理异常的吗?今天我们就来讲讲异常在 JVM 中的处理机制,以及字节码中异常表。

「JVM」类加载机制及初始化时机分析

2020-05-22
阅读 4 分钟
2.5k
Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。

「JVM」原始类型 boolean 在 JVM 中的讨论

2020-05-22
阅读 4 分钟
3.2k
导言 在开始学习JVM字节码之后,遇到了一个有意思的问题,下面这段代码,会输出什么: {代码...} 这个问题的答案很显然——会输出AB。 接下来重点来了,如果将 2 赋值给flag变量,会输出什么呢?如果将flag赋值为 3 呢? 要知道这两个问题的答案,我们得知道在JVM中boolean类型的变量是如何表示的,以及在这两个if语句中到...

「Java」HashMap 底层实现、加载因子、容量值及死循环

2020-05-22
阅读 4 分钟
10.6k
HashMap 简介 HashMap是一个基于哈希表实现的无序的key-value容器,它键和值允许设置为 null,同时它是线程不安全的。 HashMap 底层实现 在jdk 1.7中HashMap是以数组+链表的实现的 在jdk1.8开始引入红黑树,HashMap底层变成了数组+链表+红黑树实现 红黑树简介 红黑树是一种特殊的平衡二叉树,它有如下的特征: 节点是红...

「MySQL」Count 函数的正确使用方法

2020-05-22
阅读 3 分钟
5.6k
其实count函数中除了*还可以放其他参数,比如常数、主键id、字段,那么它们有什么区别?各自效率如何?我们应该使用哪种方式来获取表的行数呢?