自定义博客皮肤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 165

原创 动态代理

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

2018-11-23 22:59:45 681

原创 静态代理

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

2018-11-23 18:28:33 102

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

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

2018-11-22 21:33:40 146

原创 正则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 152

原创 工厂模式

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

2018-11-15 20:14:37 89

原创 简单工厂

首先创建一个种类 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 69

原创 单例模式(CountDownLatch)

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

2018-11-15 18:16:38 266

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

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

2018-11-15 18:01:42 486

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

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

2018-11-15 17:49:40 828

原创 单例模式(枚举式)

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

2018-11-15 16:58:44 1005

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

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

2018-11-15 16:50:41 1096

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

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

2018-11-15 16:38:53 513

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

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

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

空空如也

空空如也

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

TA关注的人

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