
Java
mesie美希
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Vue.js如何实现跨域请求?
最近两天听朋友说Vue调后台接口有跨域问题,没搞过Vue开发 研究了一晚上,终于可以成功调用。其实和Vue没有任何关系,只需要在后台设置一下就好。我用的是ssm框架,服务是Tomcat。具体操作如下:1.重新 HandlerInterceptor 的方法设置headerpackage cn.mesie.utils; import org.springframework.web.servlet.H...原创 2018-04-04 13:32:18 · 1430 阅读 · 0 评论 -
Java代理模式之静态代理
1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法。 举个例子来说明代理的作用:小明是一个普通的码农,一天经理...原创 2018-10-02 13:10:48 · 179 阅读 · 0 评论 -
Java代理模式之动态代理
1.动态代理 上一章介绍了静态代理,什么是动态代理呢? 动态代理有以下特点: 1.代理对象,不需要实现接口; 2.代理对象的生成,是利用JDK的API,动态的在内存中构建代理对象(需要我们指定创建代理对象/目标对象实现的接口的类型); 3.动态代理也叫做:JDK代理,接口代理。 JDK中生成代理对象的API 代理类所在包:java.lang.reflect.Proxy。 JDK实现代理只需要...原创 2018-10-02 13:43:30 · 186 阅读 · 0 评论 -
Java代理模式之Cglib代理
1.Cglib代理 前面的静态代理和动态代理模式都是要求目标对象是实现一个接口的目标对象,但是有时候目标对象只是一个单独的对象,并没有实现任何的接口,这个时候就可以使用以目标对象子类的方式类实现代理,这种方法就叫做:Cglib代理 Cglib代理,也叫作子类代理,它是在内存中构建一个子类对象从而实现对目标对象功能的扩展. JDK的动态代理有一个限制,就是使用动态代理的对象必须实现一个或多个接...原创 2018-10-02 14:31:38 · 224 阅读 · 0 评论 -
Cglib动态代理实现Superclass has no null constructors but no arguments were given错误处理
因为Spring通过Cglib生成代理类对象时,并没有将目标对象的构造函数的参数及其类型进行设定,导致了Cglib在生成代理类对象时,会使用默认的构造函数生成,结果目标对象类没有默认构造函数,Cglib生成子类时,也没有加入默认构造函数,所以,异常的发生成为必然。 解决方法: 1.目标对象,定义一个无参数构造函数,通过生产setter或者getter方法注入. package cn.me...原创 2018-10-02 14:37:05 · 3471 阅读 · 1 评论 -
Java多线程之一
在 Java程序中,有三种种方法创建线程: (1)继承Thread类,重写Thread类中的run()方法,直接创建线程; (2)实现Runnable接口,在通过Thread类和Runnable的实现类间接创建一个线程; (3)使用Callable和Future接口间接创建线程。 线面分别用着三种方法创建线程: 1.继承Thread类 package cn.mesie.thread...原创 2018-10-04 16:54:42 · 197 阅读 · 0 评论 -
Java设计模式之工厂模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 这里以制画图形shape的例子开始工厂模式设计之旅。 我们知道shape只是一种泛举,图形有很多种类:长方形、正方形、圆形等等。 Shap...原创 2018-10-07 14:02:29 · 174 阅读 · 0 评论 -
Java LinkedList实现
链表是由一个个节点连接在一起,这里就先创建一个节点类: package cn.mesie.dataStructure.list; public class Node<T> { /**新元素与链表结合节点**/ Node<T> next; /**新元素数据**/ T data; public Node() { } ...原创 2019-03-24 15:38:56 · 841 阅读 · 0 评论 -
HashMap 底层分析
更多 HashMap 与 ConcurrentHashMap 相关请查看这里。 HashMap 底层分析 以下基于 JDK1.7 分析。 如图所示,HashMap 底层是基于数组和链表实现的。其中有两个重要的参数: 容量 负载因子 容量的默认大小是 16,负载因子是 0.75,当 HashMap 的 size > 16*0.75 时就会发生扩容(容量和负载因子都可以自由调整)。 p...原创 2019-04-28 00:01:28 · 196 阅读 · 0 评论