自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 面向切面编程--AOP

1、aop:aspect oriented programming 面向切面编程2、aop在spring中作用     提供声明式事务(声明式服务)      允许用户实现自定义切面3、aop:在不改变原有代码的情况下,增加新的功能      传统的编程模式: 自上而下纵向的编程      jsp      action      service       d...

2018-11-24 01:13:38 169

原创 动态代理

1动态代理和静态代理的角色是一样的(真是角色,抽象角色,代理类)2动态代理的代理类是动态生成的。3分为两类:一类基于接口动态代理和基于类的动态代理            1):基于接口动态代理:jdk动态代理            2):基于类的动态代理:cglib            现在都用javasist来生成动态代理4jdk动态代理---proxy类和Invoca...

2018-11-23 22:59:45 685

原创 静态代理

1、静态代理的角色解析    抽象角色->通常使用接口或者抽象类来实现    真是角色->被代理的角色    代理角色->代理真实角色->代理真实角色后通常会做一些附属操作。    客户->使用代理角色来进行一些操作                                        AbstractSubject          ...

2018-11-23 18:28:33 112

原创 spring-bean的作用域和自动装配

scope指的是bean的作用域,在配置bean,由scope属性来配置bean的作用域  singleton单例 :整个容器中只有一个对象实例 spring配置默认是单例prototype原型 每次获取bean都产生一个新的对象request每次请求时创建一个新的对象session在会话的范围内时一个对象global session 只在portlet下有用,可以看做是a...

2018-11-22 21:33:40 150

原创 正则1

标准字符集合:能够与'多种字符'匹配的表达式注意区分大小写,大写是相反的意思\d :任意一个数字,0~9中的任意一个\D:,0~9以外的全部\w:任意一个字母或数字或下划线,就是说A~Z,a~z,0~9,_  中任意一个\W:任意一个字母或数字或下划线,就是说A~Z,a~z,0~9,_以外的全部\s:包括空格、制表符、换行符等空白字符的其中任意一个\S:空格、制表符...

2018-11-15 21:51:07 159

原创 工厂模式

先创建一个汽车的功能接口,让汽车都实现它的基本功能public interface Car {    void run();}创建一个汽车工厂的接口,用于生产不同品牌的汽车public interface CarFactory {    Car createCar();}创建一个audi车和auto车都要事先Car接口,具备汽车的基本功能才能叫做汽车public clas...

2018-11-15 20:14:37 92

原创 简单工厂

首先创建一个种类public interface Car {    void run();}创建一个audi类public class Audi implements Car{    @Override    public void run() {        System.out.println("audi跑起来了");    }    }再创建一个Auto类...

2018-11-15 19:53:11 73

原创 单例模式(CountDownLatch)

* CountDownLatch * 同步辅助类,在完成一组正在其他线程中执行的操作之前,他允许一个或多个线程一直等待 * countDown()当前线程调用此方法,则计数-1<放finally里执行要好一点> * await()调用此方法会一直阻塞线程,直到计数器为0 public class Client3 {    public static void main(...

2018-11-15 18:16:38 268

原创 单例模式(防止反序列化破解单例模式)

public class Client2 {    public static void main(String[] args) throws Exception {        //通过反序列化的方式构造多个对象        LazySingletonVSSyn ls1 = LazySingletonVSSyn.getInstance();        LazySingletonV...

2018-11-15 18:01:42 492

原创 单例模式防止反射破解单例模式

测试懒汉式    单例模式(如何防止反射漏洞)public class Client2 {    public static void main(String[] args) throws Exception {        //通过反射方式直接调用私有构造器        Class<LazySingletonVSSyn> clazz = (Class<LazySi...

2018-11-15 17:49:40 834

原创 单例模式(枚举式)

枚举式实现单例模式:测试枚举式实现单例模式(线程安全、调用效率高、没有延时加载。并且具有天然的防止反射和反序列化漏洞)public enum enumSingleton {    //这个元素,本身就是单例对象    E;    //添加自己需要的操作    public void singletonOperation() {            }}public cla...

2018-11-15 16:58:44 1014

原创 单例模式(静态内部类实现)

静态内部类实现方式(也是一种懒加载方式) 要点:外部类没有static属性,则不会像饿汉式那样立即加载对象只有真正调用了getInstance()才会加载静态内部类,加载类时是线程安全的。sc是static final类型,保证了内存中只有一个实例存在,而且只能被赋予一次从而保证了线程安全性。兼备了并发高效调用和延迟加载的优势。 public class StaticClass...

2018-11-15 16:50:41 1102

原创 单例模式(双重检测锁实现)

双重检测锁: 这个模式将同步内容下放到if内部,提高了执行效率,不必每次获取对象时都进行同步,只有第一次才同步创建了以后就没必要了。 由于编译器优化原因和jvm底层内部模型原因 ,有时候会出问题,不建议使用public class DoubleCheckSynSingleton {    private static DoubleCheckSynSingleton dcss = ...

2018-11-15 16:38:53 520

原创 单例模式(懒汉+饿汉)

单例模式的特点:      由于单例模式只生产一个实力,减少了系统性能开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可以在应用启动时直接产生一个单例对象,然后永久驻留内存的方式来解决。      单例模式可以在系统设置全局的访问点,优化环共享资源访问,例如可以设计一个单例类,负责所有数据表的映射处理常见的五种单例模式实现方式:  主要:      ...

2018-11-15 16:18:26 165 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除