- 博客(12)
- 收藏
- 关注
原创 复杂度分析
复杂度分析分析、统计算法的执行效率和资源消耗一、时间复杂度分析二、空间复杂度分析三、最好、最坏、平均、均摊时间复杂度分析四、均摊时间负责度分析分析、统计算法的执行效率和资源消耗一、时间复杂度分析只关注循坏次数最多的一段代码;加法法则:总的时间复杂度就等于量级最大的那段代码的时间复杂度,T(n)=T1(n)+T2(n)=max(O(f(n));乘法法则:嵌套代码的复杂度等于嵌套内外代码复...
2019-01-21 17:23:21
146
转载 单例设计模式
单例模式是一种常用的软件设计模式,在它的核心结构中值包含一个被称为单例的特殊类,即一个类只有一个对象实例。首先我们了解下单例模式的4大原则构造私有已静态方法或枚举返回实例确保实例只有一个,尤其是多线程环境确保反序列化时不会重新构建对象我们常用的单例模式有:饿汉模式,懒汉模式,双重锁懒汉模式,静态内部类模式,枚举模式1.饿汉模式:public class SingleTon{...
2018-12-14 17:56:50
95
转载 代理模式
代理模式代理模式就是给某个对象创建一个代理对象,而这个代理对象控制对原对象的引用,而创建这个代理对象就可以在调用原对象时增加一些额外的操作。下面是代理模式的结构:Subject:抽象主题,它是代理对象的真实对象要实现的接口,当然这个接口可以由多个接口组成。ProxySubject:代理类除了要实现抽象主题定义的接口外,还必须持有所代理对象的引用。RealSubject:被代理的类,目标...
2018-12-14 15:09:01
94
转载 策略模式
策略模式原理策略模式顾名思义就是做某事情的策略,在编程中通常指完成某个操作有多种方法,这些方法各有千秋,有相对应的适用场合,使用者根据需要选择合适的策略。策略模式结构:Context:使用不同的策略环境,它可以根据自身的条件选择不同的策略实现类来完成所要的操作。他持有一个策略实例的引用。创建具体策略对象的方法也可以由它完成。Strategy:抽象策略,定义每个策略要实现的策略方法Co...
2018-12-14 13:43:27
88
转载 Spring Aop
AOP是基于动态代理实现的,因此要了解AOP,首先要了解动态代理的原理。在JDK的java.lang.reflect的包下有个Proxy类,它正是构造代理类的入口,其类结构图如下:从上图可以发现,最后4个方法是公有方法,其中newProxyInstance方法就是创建代理对象的方法,其源代码如下:public static Object newProxyInstance(ClassLoad...
2018-12-14 11:46:41
87
转载 IOC容器如何工作
上篇文章介绍了 Core 组件、Bean 组件和 Context 组件的结构与相互关系,下面这里从使用者角度看一下他们是如何运行的,以及我们如何让 Spring 完成各种功能,Spring 到底能有那些功能,这些功能是如何得来的,下面介绍。如何创建BeanFactory工厂Ioc 容器实际上就是 Context 组件结合其他两个组件共同构建了一个 Bean 关系网,如何构建这个关系网?构建的入...
2018-11-30 17:32:40
218
转载 Spring核心组件详解
Bean组件Bean组件在org.springframework.beans包下,这个包下的所有类主要解决了三件事:Bean的创建,Bean的定义,Bean的解析,对Spring的使用者来说,唯一要关心的是Bean的创建,其他两个由Spring在内部自己完成Spirng Bean的创建是典型的工厂模式,它的顶级接口是BeanFactory,下面是这个工厂的继承关系:BeanFactory...
2018-11-26 11:39:36
171
1
转载 Spring架构简析
Spring框架总体架构图由此可以看出Spring的核心组件为Bean、Context和Core,它们是Spring架构的基础,AOP、Web、Transaction是建立在这基础之上的Spring设计核心理念Spring实际上是面向Bean的编程,因此Bean才是Spring中的主角,真正的核心。Bean在Spring中的作用就像Object对OOP的意义一样,没有对象的概...
2018-11-26 10:33:47
106
原创 SpringBoot单元测试
package com.lockinlife.test;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework...
2018-11-15 09:46:46
120
原创 java根据经纬度获取地址(百度地图)
先创建HttpClientUtils工具类package cn.crenative.lockinlife.util;import com.google.common.base.Function;import com.google.common.collect.FluentIterable;import com.google.common.collect.Lists;import org...
2018-11-12 11:52:37
6604
2
原创 获取特定范围内的随机数,保留2位
double类型保留小数位int max = 1int min = 0.7//保留的小数位int scale = 2 num = new Bigdecimal(Math.random() * (max - min) + min) .setScale(scale,BigDecimal.ROUND_DOWN)setScale(1,BigDecimal.ROUND_DOWN)直接删...
2018-11-12 11:43:56
1461
原创 Linux 下查看tomcat 控制台实时输出内容
Linux 下查看tomcat 控制台实时输出内容先进入tomcat的logs目录下cd home/tomcat-xxx/logs再输入命令tail -f catalina.out就可以看到了
2018-11-09 10:08:29
2948
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人