10 2022 档案

摘要:先看hashMap的构造方法 public HashMap(int initialCapacity, float loadFactor) { if (initialCapacity < 0) throw new IllegalArgumentException("Illegal initial ca 阅读全文
posted @ 2022-10-31 23:59 happy_in 阅读(34) 评论(0) 推荐(0) 编辑
摘要:自动装箱、拆箱 看完了包装类型的便捷性后,我们再来落实到自动装箱、自动拆箱上... 怎么就自动装箱,自动拆箱了呢? 上一段代码,看看哪是自动装箱跟自动拆箱: // 自动装箱 Integer a = 100; // 自动拆箱 int b = a; 自动装箱,相当于Java编译器替我们执行了 Integ 阅读全文
posted @ 2022-10-30 23:27 happy_in 阅读(57) 评论(0) 推荐(0) 编辑
摘要:事务 通常是默认开启事务的,所以不会回滚 事务保证了数据的一致性 要么都成功 要么都失败 对于没有开启自动提交的数据,是可以回滚的,一旦提交了之后,就不可以回滚,体现了MySQL的持久性 自动提交:@@autocommit=1; 手动提交:commit; 回滚:rollback; 开启事务的两种方式 阅读全文
posted @ 2022-10-28 20:21 happy_in 阅读(57) 评论(0) 推荐(0) 编辑
摘要:二叉树 当数据是自增的时候,二叉树会跟链表没有区别 平衡二叉树 它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。这个方案很好的解决了二叉查找树退化成链表的问题,把插入,查找,删除的时间复杂度最好情况和最坏情况都维持在O(logN)。但是频繁旋转会使插入和 阅读全文
posted @ 2022-10-28 14:27 happy_in 阅读(30) 评论(0) 推荐(0) 编辑
摘要:快速排序的原理 排序算法的思想非常简单,在待排序的数列中,我们首先要找一个数字作为基准数(这只是个专用名词)。为了方便,我们一般选择第 1 个数字作为基准数(其实选择第几个并没有关系)。 假定我们选的是第0个数 先从右边“j--”找比基准数小的数放入当前基准数的位置,此时基准数放入空出来的位置 然后 阅读全文
posted @ 2022-10-27 21:47 happy_in 阅读(400) 评论(0) 推荐(0) 编辑
摘要:选择排序概述 选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。 算法步骤 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。 再从剩余未排序元素中继续寻找最小(大)元素,然 阅读全文
posted @ 2022-10-27 21:21 happy_in 阅读(9) 评论(0) 推荐(0) 编辑
摘要:算法详解 以从小到大排序为例,冒泡排序法的思路是:遍历原始数据,从第一个数开始,到倒数第二个数结束,比较这个数和下一个数的大小,如果这个数比下一个数大,则交换这两个数。这样便可以将数据中最大的数转移到数组的最后。之后再次遍历原始数据,但是变为从第一个数开始,到倒数第三个数结束,比较这个数和下一个数的 阅读全文
posted @ 2022-10-27 21:14 happy_in 阅读(29) 评论(0) 推荐(0) 编辑
摘要:数据结构分类 数据结构分为逻辑结构和物理结构。 逻辑结构:指数据元素之间逻辑关系的数据结构,这里的逻辑关系是指数据元素之间的前后间关系,与数据在计算机中的存储位置无关。 物理结构:指数据的逻辑结构在计算机存储空间中的存放形式称为数据的物理结构,也叫做存储结构。 数据的逻辑结构主要分为线性结构和非线性 阅读全文
posted @ 2022-10-27 15:13 happy_in 阅读(263) 评论(0) 推荐(0) 编辑
摘要:希尔排序 概念及其介绍 希尔排序(Shell Sort)是插入排序的一种,它是针对直接插入排序算法的改进。 希尔排序又称缩小增量排序,因 DL.Shell 于 1959 年提出而得名。 它通过比较相距一定间隔的元素来进行,各趟比较所用的距离随着算法的进行而减小,直到只比较相邻元素的最后一趟排序为止。 阅读全文
posted @ 2022-10-27 10:55 happy_in 阅读(21) 评论(0) 推荐(0) 编辑
摘要:插入排序 一、概念及其介绍 插入排序(InsertionSort),一般也被称为直接插入排序。 对于少量元素的排序,它是一个有效的算法。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增 1 的有序表 。在其实现过程使用双层循环,外层循环对除了 阅读全文
posted @ 2022-10-27 10:54 happy_in 阅读(271) 评论(0) 推荐(0) 编辑
摘要:建造者模式(生成者模式) 指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。 该模式的主要优点如下: 封装 阅读全文
posted @ 2022-10-26 21:14 happy_in 阅读(61) 评论(0) 推荐(0) 编辑
摘要:适配器模式 将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。 该模式的主要优点如下。 客户端通过适配器 阅读全文
posted @ 2022-10-26 21:13 happy_in 阅读(25) 评论(0) 推荐(0) 编辑
摘要:工厂模式 简单工厂模式 简单工厂模式的优点:将对象的创建交给专门的工厂类负责,实现了对象的创建和对象的使用分离。 简单工厂模式的缺点:工厂类不够灵活,增加新的具体产品需要修改工厂类的判断逻辑代码,需要增加一个 if 判断分支才能支持。而且当产品类型较多时,简单工厂的 if 判断将会非常多,不容易维护 阅读全文
posted @ 2022-10-26 21:03 happy_in 阅读(49) 评论(0) 推荐(0) 编辑
摘要:执行流程 具体流程: 用户发送出请求被前端控制器DispatcherServlet拦截进行处理 DispatcherServlet收到请求调用HandlerMapping(处理器映射器) HandlerMapping找到具体的处理器(查找xml配置或注解配置),生成处理器对象及处理器拦截器(如果有) 阅读全文
posted @ 2022-10-26 16:42 happy_in 阅读(23) 评论(0) 推荐(0) 编辑
摘要:依赖管理 SpringBoot项目里面有一个<parent> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0 阅读全文
posted @ 2022-10-26 16:39 happy_in 阅读(18) 评论(0) 推荐(0) 编辑
摘要:ResultMap结果集映射 多对一 按照查询嵌套处理:需要两个查询,被嵌套的<association>需要column以及select属性 按照结果嵌套处理:不需要column以及select属性 对于数据库的字段和pojo里面的字段一致时,不需要在繁琐的配置,只需要配置不一样的字段即可 <res 阅读全文
posted @ 2022-10-24 19:24 happy_in 阅读(22) 评论(0) 推荐(0) 编辑
摘要:Java代码的三个阶段 注解与反射 注解 @Target({ElementType.TYPE,ElementType.METHOD})//表示注解的作用域@Retention(RetentionPolicy.RUNTIME)//什么时候生效@Documented//表示方法已经过时,但是还能用@In 阅读全文
posted @ 2022-10-24 14:24 happy_in 阅读(27) 评论(0) 推荐(0) 编辑
摘要:观察者模式 观察者模式(Observer Design Pattern):在对象之间定义一个一对多的依赖,当一个对象状态改变的时候,所有依赖的对象都会得到通知并自动更新。 观察者模式通用代码 /** * 观察者 */ public interface Observer { // 更新方法 void 阅读全文
posted @ 2022-10-24 14:11 happy_in 阅读(23) 评论(0) 推荐(0) 编辑
摘要:单例模式 饿汉式 由于对象在类里面才能被创建,而且是静态的,所以,被创建的对象始终都是一个,由于在类装载时就被完成了实例化,所以没有线程安全问题,如果没有使用这个实例,会造成内存浪费 //饿汉式 class Singleton1{ public String name; private static 阅读全文
posted @ 2022-10-24 14:07 happy_in 阅读(16) 评论(0) 推荐(0) 编辑
摘要:Java当中的四种引用 强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)、虚引用(Phantom Reference)4 种,这 4 种引用的强度依次减弱。 一,强引用 Java中默认声明的就是强引用,比如: Object o 阅读全文
posted @ 2022-10-24 13:21 happy_in 阅读(16) 评论(0) 推荐(0) 编辑
摘要:IOC创建过程 @Override public void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShutdownMonitor) { // 准备工作,设置标志位,时间等等 阅读全文
posted @ 2022-10-23 22:54 happy_in 阅读(7) 评论(0) 推荐(0) 编辑
摘要:代理模式 静态代理 优点 业务类只需要关注业务逻辑本身,保证了业务类的重用性。这是代理的共有优点。代理使客户端不需要知道实现类是什么,怎么做的,而客户端只需知道代理即可(解耦合) 缺点 代理类和委托类实现了相同的接口,代理类通过委托类实现了相同的方法。这样就出现了大量的代码重复。如果接口增加一个方法 阅读全文
posted @ 2022-10-22 15:39 happy_in 阅读(18) 评论(0) 推荐(0) 编辑
摘要:七大原则 开闭原则:是指一个软件实体如类、模块和函数应该对扩展开放, 对修改关闭 依赖倒置原则:是指设计代码结构时,高层模块不应该依赖底层模块,二者都应该依赖其抽象而不依赖于具体。 单一职责原则:是指一 个 Class/Interface/Method 只负责一项职责。 接口隔离原则:是指用多个专门 阅读全文
posted @ 2022-10-22 14:08 happy_in 阅读(191) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示