- 博客(32)
- 收藏
- 关注
原创 Rhyme/IDEA Spring Boot 项目 application.yml 文件不加载的问题
IDEA Spring Boot 项目 application.yml 文件不加载的问题确保JxcApplication在Java的一级子目录下,如图,如果你把这个类和其他包一样放在二级目录中,就会出现配置文件没有加载的情况
2017-12-31 15:08:11 2001
原创 Rhyme/冥运算(分治策略)Java版
冥运算(分治策略)Java版算法原理举个例子我们求 X62=(X31)2{X^{62}} =(X^{31})^2 X31=(X15)2X{X^{31}} =(X^{15})^2X X15=(X7)2X{X^{15}} =(X^{7})^2X X7=(X3)2X{X^{7}} =(X^{3})^2X
2017-12-24 09:04:32 748
原创 Rhyme/欧几里得算法 计算最大公因数 Java版
欧几里得算法 计算最大公因数 Java版时间复杂度分析根据定理 如果M>N,则M mod N < M/2,所以迭代次数为2logN所以 T(N) = O(logN)
2017-12-24 09:00:57 460
原创 Rhyme/二分查找(binary search)Java版
二分查找(binary search)时间复杂度分析中间while循环的次数为log(N-1)+2T(N)=O(logN)二分查找的拓展分析我们要知道二分查找除了在刚开始的查找速度中不赖,在执行插入操作的时候所需时间均为O(N),很稳定,所以,可以这么说,只需要排序一次,之后的访问便会很快速。
2017-12-24 08:54:27 302
原创 Rhyme/最大子序列和(分治策略)Java版
最大子序列和(分支策略)Java版算法思想:我们采用分支策略,不断的将问题二分,这个时候最大和子序列分别可能存在三个地方,一个是左边的最大和序列,一个是右边的最大和子序列,还有一个是中间部分的最大和子序列。算法时间复杂度分析T(N) = 2T(N/2)+N使用主分析法可得T(N) = O(nlogn)
2017-12-24 08:32:15 380
原创 Rhyme/Hibernate load()与get()的区别
Hibernate load()与get()的区别 1、使用get获取对象时,会立马发出sql语句,并把相对的数据封装到对象当中 2、使用load获取对象时,会采用懒加载的方式,并且返回的是代理对象,等到真正用到对象内容的时候才会发出sql语句,所以在在session关闭之后获取对象内容就会导致错误所以这也是为什么get会报错而load方法不报错
2017-12-22 23:59:39 255
原创 Rhyme/hibernate 对象的三种状态
hibernate 对象的三种状态 1、首先我new出一个对象时,其他操作都不执行时,此时对象的状态为transient游离态 2、当我执行session.save()或update()方法时,会为该对象生成一个指定的id,保存在session里头,session内部使用了一个Map结构的数据结构来保存对象信息,Map的key为这个创建出来的id号,Map的value为new出来的对象
2017-12-22 19:54:10 237
原创 Rhyme/Hibernate JTA与thread上下文的区别
Hibernate JTA与thread上下文的区别JTA(Java Transaction API)简介JTA主要应用于分布式数据库的场景,如下图,当我一个数据的事物涉及的不仅仅一个数据库的时候,这个时候就需要用到JTAJTA与thread的区别thread是根据单个数据库的connection来界定事务 jta 根据分布式来界定事务 jta需要ApplicationServer服务器的分布式
2017-12-22 18:00:50 368
原创 Rhyme/Hibernate getCurrentSession()与openSession()的区别
Hibernate getCurrentSession()与openSession()的区别 sessionFactory.getCurrentSession()会查看当前上下文环境中有没有session,没有则创建,,在这个session没有提交之前,获得的session永远是同一个session,session一旦提交,则会获取新的session,另外使用getCurrentSession(
2017-12-22 17:26:55 256
原创 Rhyme/Java 选择问题算法SelectionProblem(冒泡与选择性插入篇)
Java 选择问题算法SelectionProblem(冒泡与选择性插入篇) 设有一组N个数确定第k个最大者方法一优化版冒泡排序方法二选择性插入法先将数组中前k个数进行排序,再将剩下的元素依次读入,如果新元素小于排序部分数组的第k个元素则跳过,否则进行插入排序
2017-12-21 22:51:09 392
原创 Rhyme/Java 设计模式之原型模式prototype通过clone方法和反序列化实现深复制
Java 设计模式之原型模式prototype通过clone方法和反序列化实现深复制原型模式适用于什么场景?1、当创建一个对象需要消耗较多的系统资源时2、一次性创建多个对象spring中就有单例singleton和protoptype两种bean的作用范围,通常原型模式会和工厂模式结合起来使用clone()方法实现深复制这里需要注意的一点是,clone()方法并不是Cloneable接口中的方法,而
2017-12-18 16:11:20 345
原创 Rhyme/Java 设计模式之工厂模式
Java 设计模式之工厂模式 模式 优点 缺点 简单工厂模式 简单,类少 没有满足OCP开闭原则 工厂模式 满足OCP原则 类多,成本高 抽象工厂模式 满足OCP原则,产品族的工厂创建 复杂,成本高以下是三种模式的简单实现1、简单工厂模式 2、工厂模式3、抽象工厂模式
2017-12-17 15:34:20 313
原创 Rhyme/Struts2源码解析以及拦截器原理模拟
Struts2源码解析以及拦截器原理模拟简单分析已上图就是1、Struts2的filter过滤请求,调用了Dispatcher的serviceAction()2、serviceAction()方法创建了ActionProxy,并执行了ActionProxy对象的execute()方法3、execute()方法又调用了ActionInvocation对象的invoke()方法,ActionInvoca
2017-12-16 21:53:24 298
原创 Rhyme/Java 打印递归堆栈轨迹
Java 打印递归堆栈轨迹这里以打印递归阶乘函数为例, 可以使用Throwable对象获取StackTraceElement数组进而进行分析,先关API可以查阅StackTraceElement文档
2017-12-16 10:55:59 528
原创 Rhyme/Java getClass()与instanceof的区别以及如何编写一个完美的equals()
Java getClass()与instanceof的区别以及如何编写一个完美的equals()和hashCode()方法1、首先我们来看下Java规范中的equals()要求有哪些特性自反性 对于任何非空引用有 x.equals(x)=true对称性 y.equals(x)=true;x.equals(y)=true传递性 x.equals(y)=truy ; y.equals(z)
2017-12-11 23:20:36 586 1
原创 Rhyme/归并排序Java版
归并排序Java版package com.maple.mergesort;import java.util.Arrays;/** * merge sort * * @author RhymeChiang * @date 2017/12/07 **/public class MergeSort { /** * merge sort main method *
2017-12-07 18:54:59 242
原创 Rhyme/Spring bean的实例化 1.3.2. Instantiating beans
Spring bean的实例化 1.3.2. Instantiating beans A bean definition essentially is a recipe for creating one or more objects. The container looks at the recipe for a named bean when asked, and uses the conf
2017-12-06 23:32:25 361
原创 Rhyme/Spring Bean的命名 1.3.1. Naming beans
Spring Bean的命名 1.3.1. Naming beans Every bean has one or more identifiers. These identifiers must be unique within the container that hosts the bean. A bean usually has only one identifier, but if it
2017-12-06 22:28:03 255
原创 Rhyme/Spring是如何简化Java开发的(POJO、DI、AOP、模板)
Spring是如何简化Java开发的Spring是为了解决企业及应用的复杂性而创建的,使用spring创建的pojo对象,也就是简单的java类,可以完成原来只有重量级的EJB对象才能完成的操作。Spring 简化java开主要体现在四个方面1、基于POJO对象的轻量级和最小化侵入式编程2、依赖注入DI与面向接口编程实现松耦合3、基于切面和惯例进行声明式编程4、基于切面和模板减少样板式代码1、基于P
2017-12-05 13:06:57 496
原创 Rhyme/Spring Bean概述 1.3. Bean overview
Spring Bean概述 1.3. Bean overview A Spring IoC container manages one or more beans. These beans are created with the configuration metadata that you supply to the container, for example, in the form o
2017-12-04 22:58:38 267
原创 Rhyme/Java自定义队列
Java自定义队列package com.maple.myqueue;import java.util.Arrays;/** * the implements of my queue * @author RhymeChiang * @date 2017/12/04 **/public class MyQueue { /** * the size of currrnt
2017-12-04 22:15:24 296
原创 Rhyme/Quick Sort 快速排序Java版
Quick Sort 快速排序Java版package com.maple.quicksort;/** * quick sort implements * @author RhymeChiang * @date 2017/12/02 **/public class QuickSort { private static int [] data; public QuickSor
2017-12-02 14:23:48 284
原创 Rhyme/Spring 1.2.3. Using the container 容器的使用
Spring 1.2.3. Using the container 容器的使用The ApplicationContext is the interface for an advanced factory capable of maintaining a registry of different beans and their dependencies. Using the method T ge
2017-12-02 10:45:56 287
原创 Rhyme/Spring 容器的实例化 1.2.2. Instantiating a container
Spring 容器的实例化 1.2.2. Instantiating a containerInstantiating a Spring IoC container is straightforward. The location path or paths supplied to an ApplicationContext constructor are actually resource str
2017-12-02 10:21:39 371
原创 Rhyme/Spring 1.2.1. Configuration metadata学习笔记
1.2.1. Configuration metadata学习笔记As the preceding diagram shows, the Spring IoC container consumes a form of configuration metadata; this configuration metadata represents how you as an application dev
2017-12-02 09:20:53 400
原创 Rhyme/Spring 1.2. Container overview
1.2. Container overviewThe interface org.springframework.context.ApplicationContextrepresents the Spring IoC container and is responsible for instantiating, configuring, and assembling the aforemention
2017-12-01 23:16:51 338
原创 Rhyme/算法之简单版桶排序
算法之简单版桶排序1、原理讲解桶排序可以这样理解,例如我们要对0-100范围之内的数进行排序,那么我们首先准备101只桶,并将这些桶从0-100分别编上号。准备好了桶,现在我有 50 4 18 18 37这一组数据,现在开始排序,首先是数字50,那么我们就将50放入编号为50的桶内,4放入编号为4的桶内,18放入编号为18的桶,18继续放入编号为18的桶,37放入编号为37的桶。最后的结果是编号4的
2017-12-01 11:18:42 393
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人