2022年12月24日

摘要: 1.自我介绍2.数组和链表的区别是什么?链表在内存中怎么存的?链表怎么遍历?3.你对json熟悉吧?说一下,我说不深入,就是项目里用过,那写个代码吧,一个json串,如果它的value是一个json. 或者是一个数组,该怎么通过key获得他的value4.java中怎么判断一个数据的类型?5.你知道 阅读全文
posted @ 2022-12-24 23:06 浩若烟雨 阅读(27) 评论(0) 推荐(0) 编辑

2021年5月7日

摘要: java HashMap 实现方式:底层通过哈希表实现,就是要存储一个元素的时候,通过哈希函数算出一个哈希值,通过这个哈希值放到数组对应的位置,如果出现了哈希冲突,即两个元素的哈希值相同,HashMap采用了链地址法,数组的每个元素都是链表,如果不发生哈希冲突,把要存储的元素存储在value,nex 阅读全文
posted @ 2021-05-07 15:37 浩若烟雨 阅读(329) 评论(0) 推荐(1) 编辑

2021年4月16日

摘要: 进程和线程的理解 进程是系统资源分配和调度的基本单位,进程切换开销大,线程是cpu分配和调度的基本单位,线程开销小,一个进程可以有多个线程 进程间通信方式 管道 消息队列 共享内存 信号量 信号 套接字 常用的消息队列组件 RabbitMQ ActiveMQ RocketMQ linux查看进程ps 阅读全文
posted @ 2021-04-16 23:05 浩若烟雨 阅读(88) 评论(0) 推荐(0) 编辑
 
摘要: 进程和线程的理解 进程是系统资源分配和调度的基本单位,进程切换开销大,线程是cpu分配和调度的基本单位,线程开销小,一个进程可以有多个线程 线程的生命周期,线程有几种状态 创建new:新建的线程 就绪runnable:调用start()方法后,等待cpu,谁抢占到cpu谁运行 运行running:获 阅读全文
posted @ 2021-04-16 21:30 浩若烟雨 阅读(137) 评论(0) 推荐(0) 编辑
 
摘要: http和tcp的关系 http在应用层,tcp在传输层,http要基于tcp,tcp建立连接,http用来收发数据 tcp如何保证可靠传输 三次握手和四次挥手:syn,ack/syn,ack;fin,ack,fin,ack 超时重传:设置重传计时器,时限内没有收到确认帧,就重新发送数据 流量控制: 阅读全文
posted @ 2021-04-16 20:43 浩若烟雨 阅读(78) 评论(0) 推荐(0) 编辑
 
摘要: 创建数据库 create database 数据库; 删除数据库 drop database 数据库; 选择数据库 use 数据库; 创建数据表 create table 表 (字段1,字段2......); 删除数据库 drop table 表; 插入数据 insert into 表(字段名1,字 阅读全文
posted @ 2021-04-16 20:07 浩若烟雨 阅读(262) 评论(0) 推荐(0) 编辑

2021年4月15日

摘要: 事务 用途 用于处理数据量大、复杂度高的数据。 需要的引擎 Innodb 事务的四个特性 原子性:事务中的操作,要么全部完成,要么全部不完成,不会停留在中间某个环节 一致性:事务开始之前和结束之后,数据库的完整性没有被破坏。写入的资料必须完全符合所有的预设规则 隔离性:数据库允许多个并发事务同时对其 阅读全文
posted @ 2021-04-15 18:27 浩若烟雨 阅读(149) 评论(0) 推荐(0) 编辑

2021年4月12日

摘要: 二叉查找树 左根右,从小到大 时间复杂度O(lgn) b树 二叉查找树深度太大,磁盘IO次数过多,为了减少磁盘IO的次数,瘦高变成矮胖 节点中元素从小到大排列,中间空着的划分子节点 b+树 相比b树,中间结点只有索引没有数据,更加矮胖 指针指向第一个叶子结点,形成链表,便于查询 红黑树 特点 1结点 阅读全文
posted @ 2021-04-12 01:13 浩若烟雨 阅读(49) 评论(0) 推荐(0) 编辑
 
摘要: 进程与线程的区别进程是系统资源分配和调度的基本单位,切换进程系统开销大,线程是cpu分配和调度的基本单位,切换线程系统开销小,一个进程至少有一个线程,可以有多个线程 linux查看进程ps ps -A:列出所有进程 ps -e:列出所有进程 ps -aux作用:列出所有进程 linux杀死进程kil 阅读全文
posted @ 2021-04-12 00:22 浩若烟雨 阅读(386) 评论(0) 推荐(0) 编辑

2021年4月11日

摘要: 1.synchronized:object类 wait()当前线程等待 notify()唤醒单个线程 notifyall()唤醒所有线程 2.lock:condition类 await()当前线程等待 signal()唤醒单个线程 signalall()唤醒所有线程 3.阻塞队列:实现了生产者消费者 阅读全文
posted @ 2021-04-11 15:00 浩若烟雨 阅读(34) 评论(0) 推荐(0) 编辑