摘要:
算法竞赛入门经典第二版 P234 关于字符编码问题 ,二叉树可以解决前缀冲突,左右节点分别为0或1 ,因此每个叶子节点都可以表示一个字符,且01字符串不会重复。 但是最优字符编码需要考虑频率,也就是权值,如果用等长编码表示(等长不会产生前缀冲突),则权值小的字符会占用额外编码。 因此理想状态应该是频 阅读全文
摘要:
动态代理: 将serviceImpl与其他事务日志等无关代码分离,专注于业务代码,减少重复代码。前动态代理的一篇文章已经详细描述过jdk的实现方式,需要提供service接口。 AOP是动态代理的规范化,统一标准。 Ascept:代理类中的增强功能,非业务代码,如事务日志等。 Pointcut:切面 阅读全文
摘要:
步骤: 1,spring-context依赖spring-aop 2,类中加入注解 3,spring配置文件中加入组件扫描器的标签,说明注解在项目中的位置。 @Component(value="?") 类声名前,创建对象 value= 可省略,指明对象名,不声名则默认类名首字母小写。 compone 阅读全文
摘要:
依赖注入表示创建对象,给属性赋值。 实现方式: 配置文件,xml 注解 语法分类: 调用类自身的set方法(先调用空参构造方法) 调用类的有参构造 基本数据类型和String用name-value对,引用类型用name-ref对。 1, set:通过name找到setName()方法,value为参 阅读全文
摘要:
version5.2.7 Download Link ioc:Inversion of Control 控制反转自动创建对象,例如Tomcat容器自动创建servlet等对象。 di:dependency injection 依赖注入提供对象名称即可实现该对象,利用反射机制。 maven配置了好久, 阅读全文
摘要:
Git已经接触很久了,因为自学还没怎么用到git来管理代码,用终端命令控制也比较复杂,idea的图形化简单,现在将最近学习时写的入门代码提交到GitHub来练练手。 由于是直接将本地代码上传,因此只需先在云端创建仓库,在本地项目目录创建.git文件 commit将代码存至本地管理仓库,目前add对应 阅读全文
摘要:
Dao实现类用xml配置代理,Dao与xml放在同一包下,文件名、namespace、id要一一对应。 service接口与实现类为委托类,仅写业务代码,在main中用动态代理来处理事务等。 当需要在service中增加一个方法时,依次添加service接口-->service实现类-->Dao接口 阅读全文
摘要:
动态代理在无需创建具体代理类的情况下,创建代理对象。 接口+委托类(实现接口)-->代理类(调用代理类中方法) 动态代理无需对每一个委托类创建代理类,且修改接口时无需对代理类批量修改。 //动态代理类只能代理接口(不支持抽象类),代理类都需要实现InvocationHandler类,实现invoke 阅读全文
摘要:
LeetCode201 视频解析 给定范围 [m, n],其中 0 ⇐ m ⇐ n ⇐ 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点)。 示例 1: 输入: [5,7] 输出: 4 示例 2: 输入: [0,1] 输出: 0 该题在于找出m和n的公共前缀,在按n的位数往 阅读全文
摘要:
堆排序 参考链接 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。 由于堆只能保证根节点最大或最小,对左右节点的顺序无要求,因此需要多次重构堆,取出根节点并舍弃。 对二叉树层序遍历依次编号,对应着数组的 阅读全文