随笔分类 -  java基础

此分类主要用来学习java基础知识
摘要:参考网址: https://blog.csdn.net/zzu_seu/article/details/106698150 阅读全文
posted @ 2022-03-15 23:31 Vincent-yuan 阅读(85) 评论(0) 推荐(0) 编辑
摘要:main方法能重载么? main方法能被其他方法调用么? main方法可以继承么? 我们一开始学习 Java 程序的时候,最先跑的一段代码肯定是 main 方法,main 方法的格式如下: public static void main(String[] args) { } 那么 main 方法有什 阅读全文
posted @ 2021-12-22 22:16 Vincent-yuan 阅读(400) 评论(0) 推荐(0) 编辑
摘要:前言 代码中如果if-else比较多,阅读起来比较困难,维护起来也比较困难,很容易出bug,接下来,本文将介绍优化if-else代码的八种方案。 优化方案一:提前return,去除不必要的else 如果if-else代码块包含return语句,可以考虑通过提前return,把多余else干掉,使代码 阅读全文
posted @ 2021-11-08 23:55 Vincent-yuan 阅读(556) 评论(0) 推荐(0) 编辑
摘要:对象池顾名思义就是存放对象的池,与我们常听到的线程池、数据库连接池、http连接池等一样,都是典型的池化设计思想。 对象池的优点就是可以集中管理池中对象,减少频繁创建和销毁长期使用的对象,从而提升复用性,以节约资源的消耗,可以有效避免频繁为对象分配内存和释放堆中内存,进而减轻jvm垃圾收集器的负担, 阅读全文
posted @ 2021-11-08 23:19 Vincent-yuan 阅读(390) 评论(0) 推荐(1) 编辑
摘要:回顾一下类加载过程 类加载过程:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。 一个非数组类的加载阶段(加载阶段获取类的二进制字节流的动作)是可控性最强的阶段,这一步我们可以去自定义类加载器去控制字节流的获取方式(重写一个类加载器的 loadClass() 方法)。 数组类型不 阅读全文
posted @ 2021-10-29 00:09 Vincent-yuan 阅读(133) 评论(0) 推荐(0) 编辑
摘要:类的生命周期 类加载过程 加载 验证 准备 解析 初始化 卸载 类的生命周期 一个类的完整生命周期如下: 类加载过程 Class 文件需要加载到虚拟机中之后才能运行和使用,那么虚拟机是如何加载这些 Class 文件呢? 系统加载 Class 类型的文件主要三步:加载->连接->初始化。连接过程又可分 阅读全文
posted @ 2021-10-28 23:46 Vincent-yuan 阅读(3911) 评论(0) 推荐(1) 编辑
摘要:为什么要把堆和栈区分出来呢? 堆中存什么?栈中存什么? 为什么不把基本类型放堆中呢? 为什么要把堆和栈区分出来呢? 第一,从软件设计的角度看,栈代表了处理逻辑,而堆代表了数据。这样分开,使得处理逻辑更为清晰。分而治之的思想。这种隔离、模块化的思想在软件设计的方方面面都有体现。 第二,堆与栈的分离,使 阅读全文
posted @ 2021-10-28 23:13 Vincent-yuan 阅读(238) 评论(0) 推荐(0) 编辑
摘要:这里使用fastJson的JSON.parseObject()方法,左边是json字符串,右边是要转换的实体类,即上面生成的实体类 String jsonResult = getGJInquirtTicketJsonStr(departCity, arriveCity, startDate); Sy 阅读全文
posted @ 2021-10-26 23:49 Vincent-yuan 阅读(6857) 评论(0) 推荐(0) 编辑
摘要:首先讲一下hashMap扩容为2的幂次.为什么呢? 假设HashMap的容量为15转化成二进制为1111,length-1得出的二进制为1110 哈希值为1111和1110 那么两个索引的位置都是14,就会造成分布不均匀了,增加了碰撞的几率,减慢了查询的效率,造成空间的浪费。 总结:因为2的幂-1都 阅读全文
posted @ 2021-10-26 23:24 Vincent-yuan 阅读(600) 评论(0) 推荐(0) 编辑
摘要:String s1 = new String("abc");这句话创建了几个字符串对象? 会创建 1 或 2 个字符串: 如果字符串常量池中已存在字符串常量“abc”,则只会在堆空间创建一个字符串常量“abc”。 如果字符串常量池中没有字符串常量“abc”,那么它将首先在字符串常量池中创建,然后在堆 阅读全文
posted @ 2021-10-23 22:20 Vincent-yuan 阅读(717) 评论(0) 推荐(0) 编辑
摘要:Java 基本类型的包装类的大部分都实现了常量池技术。 Byte,Short,Integer,Long 这 4 种包装类默认创建了数值 [-128,127] 的相应类型的缓存数据,Character 创建了数值在 [0,127] 范围的缓存数据,Boolean 直接返回 True Or False。 阅读全文
posted @ 2021-10-23 22:15 Vincent-yuan 阅读(280) 评论(0) 推荐(0) 编辑
摘要:虽然线程组看上去很有用处,实际上现在的程序开发中已经不推荐使用它了,主要有两个原因: 1.线程组ThreadGroup对象中比较有用的方法是stop、resume、suspend等方法,由于这几个方法会导致线程的安全问题(主要是死锁问题),已经被官方废弃掉了,所以线程组本身的应用价值就大打折扣了。 阅读全文
posted @ 2021-10-11 21:49 Vincent-yuan 阅读(537) 评论(0) 推荐(0) 编辑
摘要:如果给你一个包含一亿行数据的超大文件,让你在一周之内将数据转化导入生产数据库,你会如何操作? 由于时间紧,而数据量又超大,所以需要: 拆分文件 多线程导入 拆分文件 首先我们可以写个小程序,或者使用拆分命令 split 将这个超大文件拆分一个个小文件。 -- 将一个大文件拆分成若干个小文件,每个文件 阅读全文
posted @ 2021-10-10 00:17 Vincent-yuan 阅读(170) 评论(0) 推荐(0) 编辑
摘要:多继承虽然能使子类同时拥有多个父类的特征,但是其缺点也是很显著的,主要有两方面: (1)如果在一个子类继承的多个父类中拥有相同名字的实例变量,子类在引用该变量时将产生歧义,无法判断应该使用哪个父类的变量。 例如:类ClassA: public class ClassA { protected int 阅读全文
posted @ 2021-10-09 23:54 Vincent-yuan 阅读(1258) 评论(0) 推荐(0) 编辑
摘要:如何用好锁,是程序员的基本素养之一。 高并发的场景下,如果选对了合适的锁,则会大大提高系统的性能,否则性能会降低。 所以,知道各种锁的开销,以及应用场景是很有必要的。 接下来,就谈一谈常见的这几种锁: 正文 多线程访问共享资源的时候,避免不了资源竞争而导致数据错乱的问题,所以我们通常为了解决这一问题 阅读全文
posted @ 2021-09-29 23:31 Vincent-yuan 阅读(557) 评论(0) 推荐(0) 编辑
摘要:简介 内部结构分析 LinkedList源码分析 构造方法 添加(add)方法 根据位置取数据的方法 根据对象得到索引的方法 检查链表是否包含某对象的方法: 删除(remove/pop)方法 LinkedList类常用方法测试: 简介 LinkedList是一个实现了List接口和Deque接口的双 阅读全文
posted @ 2021-08-30 23:08 Vincent-yuan 阅读(53) 评论(0) 推荐(0) 编辑
摘要:1. ArrayList 简介 ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用ensureCapacity操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。 ArrayList继承于 A 阅读全文
posted @ 2021-08-30 12:50 Vincent-yuan 阅读(163) 评论(0) 推荐(0) 编辑
摘要:JDK 命令行工具 这些命令在 JDK 安装目录下的 bin 目录下: jps (JVM Process Status): 类似 UNIX 的 ps 命令。用户查看所有 Java 进程的启动类、传入参数和 Java 虚拟机参数等信息; jstat( JVM Statistics Monitoring 阅读全文
posted @ 2021-08-27 13:02 Vincent-yuan 阅读(176) 评论(0) 推荐(0) 编辑
摘要:如何判断对象是否死亡(两种方法)。 简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区别、使用软引用能带来的好处)。 如何判断一个常量是废弃常量 如何判断一个类是无用的类 垃圾收集有哪些算法,各自的特点? HotSpot 为什么要分为新生代和老年代? 常见的垃圾回收器有哪些? 阅读全文
posted @ 2021-08-26 22:22 Vincent-yuan 阅读(103) 评论(0) 推荐(0) 编辑