12 2021 档案

摘要:[TOC] 第一部分 JAVA 一、JVM 1. 讲一下JVM的1.8之前和1.8之后内存模型? 为什么需要程序计数器? 2. JVM调优 怎么调整堆的大小?要修改哪个参数? 3. 说一下 Java 方法执行的过程,说详细一点。编译、加载(类加载)、执行解释 4. Java 8 新特性 5. Str 阅读全文
posted @ 2021-12-30 15:41 汤十五 阅读(100) 评论(0) 推荐(0)
摘要:第一部分 排序算法 直接插入排序 //基本思想: //每次将待排序的元素插入到前面已经排序好的序列中 public void insertSort(int[] nums){ int n=nums.length; for(int i=1;i<n;i++){ if(nums[i]>=nums[i-1]) 阅读全文
posted @ 2021-12-22 15:43 汤十五 阅读(39) 评论(0) 推荐(0)
摘要:key:索引,事务 一、基本概念 1.主键、外键、超键、候选键 2.为什么用自增列作为主键(?) 3.触发器的作用? 触发器是一种特殊的存储过程,主要是通过事件来触发而被执行的。 它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。 4.什 阅读全文
posted @ 2021-12-22 15:42 汤十五 阅读(289) 评论(0) 推荐(0)
摘要:第一部分 内存管理 一、虚拟内存 概念:基于局部性原理,在程序装入时,可以将程序的一部分装入内存,而将其余部分留在外存,就可以启动程序执行。在程序执行过程中,当所访问的信息不在内存时,由操作系统将所需要的部分调入内存,然后继续执行程序。另一方面,操作系统将内存中暂时不使用的内容换出到外存上,从而腾出 阅读全文
posted @ 2021-12-22 15:40 汤十五 阅读(96) 评论(0) 推荐(0)
摘要:第一部分 面向对象设计原则 支持可维护性复用 | 设计原则名称 | 定 义 | 使用频率 | | | | | | 单一职责原则(Single Responsibility Principle, SRP) | 一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中 | ★★★★☆ | | 开闭 阅读全文
posted @ 2021-12-22 15:40 汤十五 阅读(44) 评论(0) 推荐(0)
摘要:第一部分、TCP和UDP 一、三次握手 为什么TCP连接的时候是3次?2次不可以吗?(丢包问题、序列号确认、避免资源浪费、防止历史连接初始化) 丢包问题:第二次服务端的确认丢失,则c和s都会等待,第三次握手中,若丢失,则s收不到确认,会重发。 保证序列号双方确认:通信双方都必须维持序列号,两次握手只 阅读全文
posted @ 2021-12-22 15:37 汤十五 阅读(217) 评论(0) 推荐(0)
摘要:第一部分 线性表 n个数据元素的有限序列 数组实现:优点在于可以通过下标来访问或者修改元素,比较高效,主要缺点在于插入和删除的花费开销较大 链表实现:物理存储单元上非连续、非顺序的存储结构 第二部分 栈与队列 1.栈:Last In First Out 2.队列:先进先出 第三部分 树 一、二叉树 阅读全文
posted @ 2021-12-22 15:37 汤十五 阅读(47) 评论(0) 推荐(0)
摘要:基本语法:select/delete/insert/update、limit、join等 索引:B+树,聚族索引,二级索引,组合索引,最左匹配原则,索引失效、慢查询 事务:事务四大特性ACID,事务隔离级别,MVCC 锁:全局锁、表级锁、行级锁、快照读、当前读、乐观锁、悲观锁、死锁 日志:重做日志( 阅读全文
posted @ 2021-12-20 19:43 汤十五 阅读(72) 评论(0) 推荐(0)
摘要:第一部分 Redis存在的问题 一、缓存穿透 描述:访问一个缓存和数据库都不存在的 key,此时会直接打到数据库上,并且查不到数据,没法写缓存,所以下一次同样会打到数据库上。此时,缓存起不到作用,请求每次都会走到数据库,流量大时数据库可能会被打挂。此时缓存就好像被“穿透”了一样,起不到任何作用。 解 阅读全文
posted @ 2021-12-20 18:10 汤十五 阅读(118) 评论(0) 推荐(0)
摘要:一、回溯算法 - **回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案**,如果想让回溯法高效一些,可以加一些剪枝的操作,但也改不了回溯法就是穷举的本质。 - **回溯法解决的问题都可以抽象为树形结构**:因为回溯法解决的都是在集合中递归查找子集,**集合的大小就构成了树的宽度,递归的深度,都 阅读全文
posted @ 2021-12-20 13:04 汤十五 阅读(156) 评论(0) 推荐(0)
摘要:第一部分 Java容器 一、Iterable 接口 只有一个方法: Iterator iterator() //即返回一个迭代器,迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方 阅读全文
posted @ 2021-12-18 15:39 汤十五 阅读(123) 评论(0) 推荐(0)