摘要: JVM内存划分 1、JVM运行时数据区域 ​ 堆、方法区(元空间)、虚拟机栈、本地方法栈、程序计数器 Heap(堆): ​ 对象的实例以及数组的内存都是要在堆上进行分配的,堆是线程共享的一块区域,用来存放对象实例,也是垃圾回收(GC)的主要区域;开启逃逸分析后,某些未逃逸的对象可以通过标量替换的方式 阅读全文
posted @ 2022-04-07 20:26 泉水姐姐。 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 面向对象三大特性 特性:封装、继承、多态 ​ 封装:对抽象的事物抽象化成一个对象,并对其对象的属性私有化,同时提供一些能被外界访问属性的方法; ​ 继承:子类扩展新的数据域或功能,并复用父类的属性与功能,单继承,多实现; ​ 多态:通过继承(多个⼦类对同⼀⽅法的重写)、也可以通过接⼝(实现接⼝并覆盖 阅读全文
posted @ 2022-04-07 20:15 泉水姐姐。 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 进程和线程的区别 进程:是资源分配的最小单位,一个进程可以有多个线程,多个线程共享进程的堆和方法区资源,不共享栈、程序计数器 ​线程:是任务调度和执行的最小单位,线程并行执行存在资源竞争和上下文切换的问题 ​协程:是一种比线程更加轻量级的存在,正如一个进程可以拥有多个线程一样,一个线程可以拥有多个协 阅读全文
posted @ 2022-04-07 17:54 泉水姐姐。 阅读(47) 评论(0) 推荐(0) 编辑
摘要: TCP三次握手 三次握手过程: 客户端——发送带有SYN标志的数据包——服务端 一次握手 Client进入syn_sent状态 ​ 服务端——发送带有SYN/ACK标志的数据包——客户端 二次握手 服务端进入syn_rcvd ​ 客户端——发送带有ACK标志的数据包——服务端 三次握手 连接就进入E 阅读全文
posted @ 2022-04-07 17:40 泉水姐姐。 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 1、简介 在Java中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源,且虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建销毁会大大降低系统性能。线程池的目的就是将线程复 阅读全文
posted @ 2022-03-23 11:22 泉水姐姐。 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 介绍一篇JAVA8 LocalDateTime的用法: https://www.cnblogs.com/huanshilang/p/12013386.html 时区的获取: TimeZone.getTimeZone("Hongkong") Date date1= new Date(long1); D 阅读全文
posted @ 2022-02-28 14:02 泉水姐姐。 阅读(755) 评论(0) 推荐(0) 编辑
摘要: 什么是秒杀? 在电商领域,存在着典型的秒杀业务场景,那何谓秒杀场景呢。简单的来说就是一件商品的购买人数远远大于这件商品的库存,而且这件商品在很短的时间内就会被抢购一空。 比如每年的618、双11大促,小米新品促销等业务场景,就是典型的秒杀业务场景。 秒杀有什么特点? 对于秒杀系统来说,我们可以从业务 阅读全文
posted @ 2022-01-07 15:26 泉水姐姐。 阅读(757) 评论(0) 推荐(0) 编辑
摘要: 一、幂等的概念 概念源自百度百科: 幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。 在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会 阅读全文
posted @ 2022-01-04 18:05 泉水姐姐。 阅读(762) 评论(0) 推荐(0) 编辑
摘要: 一、效验空对象 1.Object类型 2.String类型 3.List类型 4.Map类型 二、字符串处理 1.拆分为数组 2.拆分为Map 3.转换为数字 4.相等判断 5.List和Map转换为String 三、流式编程 .数据准备 1) 定义类 TestUser 2) 初始化 2.数据源获取 阅读全文
posted @ 2021-12-30 10:24 泉水姐姐。 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-12-20 15:38 泉水姐姐。 阅读(17) 评论(0) 推荐(0) 编辑