自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 笔记-spring aop。

横切关注点在应用中分布于多处的与业务逻辑代码无关的处理逻辑,最经典的就是日志记录,记录每个请求以及请求的时间。这些代码和业务逻辑混合在一起造成了我们的代码结构混杂以及难以维护的后果。如果能把这些关注点全部抽取出来那不是很好么,因此想到之前java的动态代理和cglib代理,其实这并不是很难的事情。代理类拦截方法,记录日志,然后调用业务逻辑方法。而这件事情,而专门干这件事情的就是AO

2017-09-30 11:52:34 264

原创 CGLib代理

前篇说过,java自身动态代理是基于接口的。真正的业务逻辑必须实现你要代理的接口,java在运行时根据接口动态生成一个实现类,该实现类代理了真正的业务逻辑(内部调用业务方法)。因此是面向接口代理,业务类和代理接口之间是实现关系。而CGLib则是面向对象代理的,底层是jvm用一个类的字节码创建一个子类,子类代理了真正的业务逻辑,子父类之间是继承关系,所以你要代理的类最好不要申明成

2017-09-29 15:21:20 233

原创 设计模式-代理模式

代理模式有三个主体,代理,委托代理,具体实例。它最大的作用就是做到了代理和具体实例的解耦,让代理与具体实例之间没有直接关系。举个栗子:最近刚好ipx出来,你高高兴兴的买了回来,刚买好回到家没想到一不小心就掉地上,碎屏了,那当然不开心了,找到专卖店去必须让他们维修。因为你知道专卖店是可以搞定这个事情的,具体是给你换一个呢还是修一下呢,你不知道也不用清楚。第二天来拿果然是好了,美滋

2017-09-25 16:44:16 173

原创 笔记-java基础,静态代码块,构造代码块,构造函数。

1.构造代码块:直接被两个{}叫做构造代码块,既然有构造两个字,那就和类构造有着关系,构造代码会在每次调用类的构造函数之前先执行一遍。也就是说构造代码块是对所有对象的统一构造。{}2.静态代码块:被static修饰的代码块叫做静态代码块,当类被加载带jvm虚拟机时执行且只执行一遍。而类什么时候会被加载。当你new对象或者直接调用类中的静态方法时jvm就会加载这个类。static

2017-09-18 19:22:53 361

原创 笔记-ThreadLocal简单理解

这几天翻阅ThreadLocal的资料,以及翻阅了jdk源码,下面整理一下思绪说说我的理解。就像字面意思一样,ThreadLocal就是线程本地的意思,他存在的意义是为每个线程存储单独的变量,该变量在线程内可见。网上很多资料有提到说也是为了线程完全问题,这么说其实也是对的,因为他确实可以避免线程安全问题,但是以我个人理解来看,ThreadLocal类其实已经和线程完全问题完全分离开来了,这

2017-09-17 13:19:30 325

原创 笔记-java四大引用(强引用,软引用,弱引用,虚引用)

一个系统里有成千上万个类,如果不及时清理的话,就会造成内存溢出。java在jdk1.2版本的时候优化了提供了类来和GC进行交互,回收长时不用的对象,释放内存空间。避免内存溢出。这些类都在java.lang.ref包下。而一个类的清理则分为四个等级,依次是强,软,弱,虚四个等级。强引用下面这行代码就是强引用。Object obj = new Object();...

2017-09-14 18:16:26 254

原创 笔记-java线程基础

多线程为多个代码执行单元获取cpu执行自己专属的代码。方式一:extends java.lang.Thread 实现Thread的子类,这种方式的线程,new是创建多个实例。方式二:implement java.lang.Runnable实现Runnable接口。1.继承Runnable接口必须要实现run方法,而继承Thread类则不需要。

2017-09-01 19:47:46 302

jquery-2.1.1

JQuery是继prototype之后又一个优秀的Javascript库。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需要定义id即可。 jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多)。jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave Methvin率领团队进行开发。如今,jQuery已经成为最流行的javascript库,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。 jQuery是免费、开源的,使用MIT许可协议。jQuery的语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能。除此以外,jQuery提供API让开发者编写插件。其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态或动态网页。 jQuery,顾名思义,也就是JavaScript和查询(Query),即是辅助JavaScript开发的库。

2015-09-18

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

TA关注的人

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