02 2022 档案

摘要:BeanFactory是个Factory,也就是IOC容器或对象工厂。负责生产和管理bean的一个工厂。 FactoryBean是个Bean。在Spring中,所有的Bean都是由BeanFactory(也就是IOC容器)来进行管理的。但对FactoryBean而言,这个Bean不是简单的Bean, 阅读全文
posted @ 2022-02-26 11:44 一刹流云散 阅读(58) 评论(0) 推荐(0) 编辑
摘要:scope="singleton" scope的属性为singleton的时候,则是单例模式,如果不添加scope属性的话,默认也是单例模式。在单例模式下,bean对象是同一个,通过同一个bean拿出来的对象是一样的,哈希地址也是一样的。 scope="prototype" scope的属性为pro 阅读全文
posted @ 2022-02-26 11:39 一刹流云散 阅读(240) 评论(0) 推荐(0) 编辑
摘要:mysql和redis一致性问题 保证数据一致性问题最终都是通过一些最终一致性思想 我们最常见的方法就是 把缓存给删掉,然后将db数据同步到我们的redis数据中 可以使用双写,更新完db之后又去更新我们的redis 通过延迟双删,但是有很大缺陷因为他要删除两次,而且第二个删除的这个时间点很难去控制 阅读全文
posted @ 2022-02-26 11:32 一刹流云散 阅读(133) 评论(0) 推荐(0) 编辑
摘要:byte:1字节有符号整数的补码 short:2字节有符号整数的补码 int:4字节有符号整数的补码 long:8字节有符号整数的补码 float:4字节IEEE754单精度浮点数 double:8字节IEEE754双精度浮点数 char:2字节无符号Unicode字符 boolean:单个bool 阅读全文
posted @ 2022-02-26 11:25 一刹流云散 阅读(137) 评论(0) 推荐(0) 编辑
摘要:计数排序 计数排序是一个非基于比较的排序算法,该算法于1954年由 Harold H. Seward 提出。它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法。 [1] 当然这是一种牺牲空间换取时间的做法,而且当O(k)>O(nlog(n)) 阅读全文
posted @ 2022-02-26 11:16 一刹流云散 阅读(99) 评论(0) 推荐(0) 编辑
摘要:策略模式(Strategy),定义了一组算法,将每个算法都封装起来,并且使它们之间可以互换。UML结构图如下: 其中,Context是上下文,用一个ConcreteStrategy来配置,维护一个对Strategy对象的引用;Strategy是策略类,用于定义所有支持算法的公共接口;Concrete 阅读全文
posted @ 2022-02-26 09:55 一刹流云散 阅读(27) 评论(0) 推荐(0) 编辑
摘要:###作用:实现了创建者和调用者分离 ###分类: 简单工厂模式:用来生产同一等级结构中的任意产品(对于新增的产品,需要扩展已有代码) public interface Car { void name(); } //静态工厂模式 //对于增加一个新的产品,如果不修改代码就做不到 //大多数情况下就是 阅读全文
posted @ 2022-02-26 09:47 一刹流云散 阅读(49) 评论(0) 推荐(0) 编辑
摘要:子类创建对象时必定会调用父类的构造方法 采用super显示声明了,就调用这个显示声明的父类构造方法。 没有显示super,则默认调用父类的空构造方法。(类声明了带参数的构造方法,默认的就要显示写出) 阅读全文
posted @ 2022-02-25 20:27 一刹流云散 阅读(39) 评论(0) 推荐(0) 编辑
摘要:用户自己写一个String类会发生什么? 会找不到响应的执行main方法 基于JVM的双亲委派机制,类加载器收到了加载类的请求,会把这个请求委派给他的父类加载器。而只有父类加载器自己无法完成加载请求时,子类才会自己加载。(而String类在根加载器(rt.jar)下的java.lang包中已经加载) 阅读全文
posted @ 2022-02-25 16:52 一刹流云散 阅读(185) 评论(0) 推荐(0) 编辑
摘要:#Java实现八大排序算法 本文对常见的排序算法进行了总结。 常见排序算法如下: 直接插入排序 希尔排序 简单选择排序 堆排序 冒泡排序 快速排序 归并排序 基数排序 它们都属于内部排序,也就是只考虑数据量较小仅需要使用内存的排序算法,他们之间关系如下: 稳定与非稳定: 如果一个排序算法能够保留数组 阅读全文
posted @ 2022-02-25 13:51 一刹流云散 阅读(67) 评论(0) 推荐(0) 编辑
摘要:#mysql函数的介绍 聚集函数 平均值:avg 计算行数:count 最大值:max 最小值:min 总合:sum 用于处理字符串的函数 合并字符串函数:concat(str1,str2,str3…) 比较字符串大小函数:strcmp(str1,str2) 获取字符串字节数函数:length(st 阅读全文
posted @ 2022-02-25 13:33 一刹流云散 阅读(40) 评论(0) 推荐(0) 编辑
摘要:在使用数据库查询语句时, 单表的查询有时候不能满足项目的业务需求 在项目开发过程中, 有很多需求都是要涉及到多表的连接查询. 连接查询:也可以叫跨表查询,需要关联多个表进行查询 以下通过两表实例来详细介绍连接的使用方式. 所有操作基本department表和employee表 department表 阅读全文
posted @ 2022-02-25 12:30 一刹流云散 阅读(218) 评论(0) 推荐(0) 编辑
摘要:#MySQL InnoDB支持三种行锁定方式:InnoDB的默认加锁方式是next-key 锁。 1:行锁(Record Lock):锁直接加在索引记录上面,锁住的是key。 InnoDB 实现了以下两种类型的行锁。 共享锁(S):又称为读锁,简称S锁,共享锁就是多个事务对于同一数据可以共享一把锁, 阅读全文
posted @ 2022-02-22 15:37 一刹流云散 阅读(334) 评论(0) 推荐(0) 编辑
摘要:#相关配置 MySQL 5.6 以前的版本,只有 MyISAM 存储引擎支持全文索引; MySQL 5.6 及以后的版本,MyISAM 和 InnoDB 存储引擎均支持全文索引; 只有字段的数据类型为 char、varchar、text 及其系列才可以建全文索引; #操作全文索引 创建 create 阅读全文
posted @ 2022-02-22 15:07 一刹流云散 阅读(346) 评论(0) 推荐(0) 编辑
摘要:阅读博客 http://blog.codinglabs.org/articles/theory-of-mysql-index.html MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。 我们知道,数据库查询是 阅读全文
posted @ 2022-02-21 20:55 一刹流云散 阅读(316) 评论(0) 推荐(0) 编辑
摘要:#truncate和delete区别与联系 delete from `表名` truncate `表名` 都能删除全部数据但不会删除表结构 truncate重新设置自增列,计数器归0 truncate不会影响事务 使用方面 delete 写日志,大量删除记录时比较慢,不是真的从数据库里面删除数据,只 阅读全文
posted @ 2022-02-21 20:40 一刹流云散 阅读(122) 评论(0) 推荐(0) 编辑
摘要:Java中方法的参数传递只有按值调用,没有c++中的按引用调用。也就是说,方法得到的是所有参数值的⼀个副本。 方法参数共有两种类型: 基本数据类型(8种) 引用类型 阅读全文
posted @ 2022-02-21 20:27 一刹流云散 阅读(20) 评论(0) 推荐(0) 编辑
摘要:String类型是不可变的 java中用双引号括起来的字符串 为什么把字符串存储在一个字符串常量池中? 字符串在实际开发中使用频繁 要提高执行效率,所以把字符串放到了方法区中的字符串常量池中 String、StringBuilder、StringBuffer 部分源码解读 String 底层数组⽤ 阅读全文
posted @ 2022-02-21 20:26 一刹流云散 阅读(82) 评论(0) 推荐(0) 编辑
摘要:#ArrayList juc线程安全 Vector Collections.synchronizedList(); new CopyOnWriteArrayList(); ArrayList 底层就是⼀个 Object[] 数组 ArrayList 底层数组默认初始化容量为 10 1、jdk1.8 阅读全文
posted @ 2022-02-21 20:10 一刹流云散 阅读(35) 评论(0) 推荐(0) 编辑
摘要:HashMap继承了AbstractMap类,实现了Map,Cloneable,Serializable接口 HashMap的容量,默认是16 HashMap的加载因子,默认是0.75 /** * The default initial capacity - MUST be a power of t 阅读全文
posted @ 2022-02-21 20:00 一刹流云散 阅读(304) 评论(0) 推荐(0) 编辑
摘要:#数据库设计规范 第一范式:数据库表中的每一列都是不可分割的原子数据项 第二范式:满足第一范式的条件下,所有非主属性都完全依赖于主键 第三范式:满足第一范式和第二范式的条件下,数据不能存在传递关系,即每个属性都跟主键有直接关系而不是间接关系(每张表只描述一个事物) #数据库引擎 MyISAM(早年使 阅读全文
posted @ 2022-02-21 19:34 一刹流云散 阅读(24) 评论(0) 推荐(0) 编辑
摘要:###1、在MyBatis 的映射配置文件中,动态传递参数有两种方式: 1.#{} 占位符 2.${} 拼接符 ###2、#{} 和 ${} 的区别 1.#{} 为参数占位符 ?,即sql 预编译 ${} 为字符串替换,即 sql 拼接 2.#{}:动态解析 → 预编译 → 执行 ${}:动态解析 阅读全文
posted @ 2022-02-18 19:25 一刹流云散 阅读(44) 评论(0) 推荐(0) 编辑
摘要:1)Java BIO : 同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销。 2)Java NIO : 同步非阻塞,服务器实现模式为一个线程处理多个请求(连接),即客户端发送的连接请求都 阅读全文
posted @ 2022-02-10 17:15 一刹流云散 阅读(45) 评论(0) 推荐(0) 编辑
摘要:双删加超时 在写库前后都进行redis.del(key)操作,并且设定合理的超时时间。 这样最差的情况是在超时时间内存在不一致,当然这种情况极其少见,可能的原因就是服务宕机。 此种情况可以满足绝大多数需求。 当然这种策略要考虑redis和数据库主从同步的耗时,所以在第二次删除前最好休眠一定时间,比如 阅读全文
posted @ 2022-02-10 12:24 一刹流云散 阅读(246) 评论(0) 推荐(0) 编辑
摘要:Spring能够轻松的解决属性的循环依赖正式用到了三级缓存,在AbstractBeanFactory中有详细的注释。 一级缓存:singletonObjects,存放完全实例化属性赋值完成的Bean,直接可以使用。 二级缓存:earlySingletonObjects,存放早期Bean的引用,尚未属 阅读全文
posted @ 2022-02-10 11:49 一刹流云散 阅读(315) 评论(0) 推荐(0) 编辑
摘要:动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的, 对于动态规划问题,我将拆解为如下五步曲,这五步都搞清楚了,才 阅读全文
posted @ 2022-02-09 19:25 一刹流云散 阅读(29) 评论(0) 推荐(0) 编辑
摘要:##跳跃游戏 class Solution { public boolean canJump(int[] nums) { if(nums.length==1) return true; int cover=0; //覆盖范围, 初始覆盖范围应该是0,因为下面的迭代是从下标0开始的 //在覆盖范围内更 阅读全文
posted @ 2022-02-08 21:27 一刹流云散 阅读(14) 评论(0) 推荐(0) 编辑
摘要:贪心的本质是选择每一阶段的局部最优,从而达到全局最优 贪心没有套路,说白了就是常识性推导加上举反例。 贪心算法一般分为如下四步: 将问题分解为若干个子问题 找出适合的贪心策略 求解每一个子问题的最优解 将局部最优解堆叠成全局最优解 ##分发饼干 class Solution { public int 阅读全文
posted @ 2022-02-07 21:46 一刹流云散 阅读(24) 评论(0) 推荐(0) 编辑
摘要:##子集 class Solution { List<List<Integer>> sum=new LinkedList<>(); LinkedList<Integer> path=new LinkedList<>(); public List<List<Integer>> subsets(int[ 阅读全文
posted @ 2022-02-06 21:50 一刹流云散 阅读(21) 评论(0) 推荐(0) 编辑
摘要:##组合 class Solution { List<List<Integer>> sum=new LinkedList<>(); LinkedList<Integer> path=new LinkedList<>(); public List<List<Integer>> combine(int 阅读全文
posted @ 2022-02-05 11:54 一刹流云散 阅读(19) 评论(0) 推荐(0) 编辑
摘要:##左叶子之和 class Solution { public int sumOfLeftLeaves(TreeNode root) { if(root==null) return 0; int result=0; if(root.left!=null&&root.left.left==null&& 阅读全文
posted @ 2022-02-04 09:00 一刹流云散 阅读(23) 评论(0) 推荐(0) 编辑
摘要:##移除元素 class Solution { public int removeElement(int[] nums, int val) { int slow=0; int fast=0; for(fast=0;fast<nums.length;fast++) { if(nums[fast]!=v 阅读全文
posted @ 2022-02-03 12:04 一刹流云散 阅读(23) 评论(0) 推荐(0) 编辑
摘要:![](https://img2022.cnblogs.com/blog/2646563/202202/2646563-20220202214747245-1666824570.png) ![](https://img2022.cnblogs.com/blog/2646563/202202/2646563-20220202215055255-1253291245.png) 阅读全文
posted @ 2022-02-02 21:51 一刹流云散 阅读(59) 评论(0) 推荐(0) 编辑
摘要:##有效的字母异位词 class Solution { public boolean isAnagram(String s, String t) { int[] record=new int[26]; for(char c:s.toCharArray()) { record[c-'a']++; } 阅读全文
posted @ 2022-02-02 20:56 一刹流云散 阅读(31) 评论(0) 推荐(0) 编辑
摘要:##NC105 二分查找-I 请实现无重复数字的升序数组的二分查找 给定一个 元素升序的、无重复数字的整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标(下标从 0 开始),否则返回 -1 数据范围:0≤len(nums)≤2×10 阅读全文
posted @ 2022-02-01 19:13 一刹流云散 阅读(76) 评论(0) 推荐(0) 编辑

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