GaryLee's Blog
Java是值传递还是引用传递? Java是值传递还是引用传递?
一、什么是形参和实参?形参和实参都指的是参数,他们的区别在于: 形参:用于传递给方法的参数,需要赋值 实参:用于方法定义来接收实参,不需要赋值 public class TestClass { public static voi
2023-10-24
什么是泛型?有什么用? 什么是泛型?有什么用?
一、什么是泛型?在Java中,泛型是指在定义类和接口时允许使用类型参数,声明的类型参数在使用时才用具体的类型来替换。 为什么要使用泛型?: 代码复用:比如我们常用的List,我们平时要将String、Integer等类型放入List中。如
2023-10-23
Java字符串要注意哪些问题? Java字符串要注意哪些问题?
一、String、StringBuffer、StringBuilder有什么区别?String、StringBuffer、StringBuilder区别如下: 线程安全性:String线程安全(因为不可变),StringBuffer线程安
2023-10-23
深拷贝和浅拷贝有什么区别? 深拷贝和浅拷贝有什么区别?
一、深拷贝和浅拷贝有什么区别?深拷贝和浅拷贝大概区别如下: 浅拷贝:只拷贝引用(即原对象和拷贝对象的属性都指向同一个内存地址) 深拷贝:全部拷贝(即原对象和拷贝对象的属性也会完全拷贝一个新的对象而不是拷贝引用) 1、浅拷贝如何进行浅拷贝
2023-10-23
Java数据类型和包装类型 Java数据类型和包装类型
一、Java中有哪些基本数据类型? 基本数据类型 位数 字节 默认值 取值范围 byte 8 1 0 -128~127 short 16 2 0 -3276832767(-2^152^15-1) int 32 4 0 -2
2023-10-20
线程池工作原理 线程池工作原理
一、什么是线程池?具体可参考《线程池学习笔记》 二、举个栗子(用比喻的方式解释线程池工作原理)1、相关名词 线程池 开发部门 核心线程 正式员工(长期存在) 非核心线程 非正式员工(如外包员工,需要才用到) 执行任务 开发
2023-10-20
Object类的equals和hashCode方法有什么用? Object类的equals和hashCode方法有什么用?
一、背景众所周知,在Java中Object类是所有类的父类,也就是说所有类都会有equals和hashCode方法。 二、equals()方法1、代码实现public boolean equals(Object obj) { ret
2023-10-19
ElasticSearch的基本概念 ElasticSearch的基本概念
一、ElasticSearch的基本概念ElasticSearch中有一些基本概念如下: Index(索引):指同一类有相似特征的文档的集合,类似MySQL中的表,如用户索引、频道索引等 Document(文档):指可搜索的最小单位,一个
2023-10-18
如何实现本地缓存? 如何实现本地缓存?
一、为什么要用本地缓存?正常情况下,我们不使用本地缓存而直接使用分布式缓存(如Redis)的话,就会涉及网络调用,会出现一定的性能消耗,所以在大型项目中,一般使用多级缓存也就是本地缓存+分布式缓存来实现缓存查询,进一步提高系统性能。(具体可
2023-10-05
Kafka高水位是什么? Kafka高水位是什么?
一、Kafka的高水位是什么?在Kafka中,一条消息只有被成功提交了才能被消费者消费,而提交的进度就是用高水位来表示。 高水位也叫做HW,指的是未提交消息中最早的offset(意味着消费者只能消费offset之前的消息)。。 二、高水位
2023-10-03
线程池的最佳实践 线程池的最佳实践
一、线程池的最佳实践1、正确创建线程池线程池应该避免使用Executors类来创建,而应该用ThreadPoolExecutor类来创建,避免出现OOM。(具体可参考《线程池有哪几种?为什么不建议用Executors创建?》) 2、监控线程
2023-10-03
线程池有哪几种?为什么不建议用Executors创建? 线程池有哪几种?为什么不建议用Executors创建?
一、线程池有哪几种?在Java中,线程池有4种,都是通过工具量Executors创建的,而线程池的最终实现类是ThreadPoolExecutor,这4种线程池分别是: newCachedThreadPool(缓存线程池):可以用来处理突
2023-10-03
5 / 16