- 浏览: 414957 次
- 性别:
- 来自: 北京
最新评论
-
jackson200:
讲解的狠不错!谢谢!
spring注入原理 -
阳光泛滥的日子:
讲的很透彻,受教了 。
spring中注解的实现原理 -
liudechao9:
最近在研究这方面,很不错,但是多线程并发的时候可能会出问题,而 ...
spring中注解的实现原理 -
小帅1127:
厉害啊 我的哥
spring中注解的实现原理 -
phoenixpaul:
...
Oracle存储过程和程序包
文章列表
1、作用:在软件系统中,经常面临“一系列相互依赖对象”的创建工作,为了绕过常规对象的创建方式(即用new创建),利用工厂模式,提供一种“封装机制”来减少功能调用程序和“多系列具体对象创建工作”的耦合性。
通常程序员在编写代码时,需要一个产品(对象)时,都是自己去创建(也就是new一个对象),显然这对于程序员来说很不方便,
我们能不能将创建产品(对象)的工作交给其他事物来做,于是我们就提出了一种创建模式:工厂模式,当然创建模式还有单例模式、原型模式、builder模式。
2、核心思想:实例化具有共同接口的多个类,不同产品(对象)的创建由工厂统一完成。
3、工厂模式分 ...
说明:如果要保证系统里一个类最多只能存在一个实例时,我们就需要单例模式。
这种情况在我们应用中经常碰到,例如缓存池、数据库连接池、线程池、一些应用服务实例等。
在高并发环境中,可能会创建多个对象实例,这 ...
1、类加载器负责将.class文件(可能在磁盘上,也可能在网络上)加载到内存中,并为之生成一个java.lang.Class对象。
JVM在运行时会产生三个ClassLoader:根装载器、扩展类装载器(ExtClassLoader)、系统应用类装载器(AppClassLoader)。
现分别对这几个类的装载器说明如下:
(1)、根装载器(bootstrap class Loader):计算机本地语言所编写(汇编、C/C++),加载jre最核心的类,如JRE扩展目标下的rt.jar、charsets.jar...,如java.lang.String类;
imp ...
一、AOP是Aspect Oriented Programing 的简称,面向方面(切面)编程。
(1)、AOP的应用场合:适用于那些具有横切逻辑的应用场合,如:性能检测、访问控制、事务管理以及日志记录。
(2)、面向切面编程的概念:假设我们将ForumService业务类看成一段圆木,将removeTopic()方法和createForum()方法看成圆木的一截,我们会发现性能检测和事务管理的代码就好像一个年轮,而业务代码就是圆木的树心,这也正是横切代码概念的又来。而AOP希望将这些分散的各个业务逻辑代码中的相同代码,通过横向切割的方式抽取到一个独立的模块中,
还业务逻辑一个清 ...
Spring AOP使用了两种代理机制,一种是基于JDK的动态代理,另一种是基于CGLib的动态代理,之所以需要两种代理机制,很大程度上是因为JDK本身只提供基于接口的代理,不支持类的代理。
切入点一般是方法调用之前,之后或者两端。
1、要代理的类
package com.yt.manager.proxy;
public class ServicesImpl {
public void outPut() {
// TODO Auto-generated method stub
System.out ...
一、静态代理
package com.yt.manager.proxy;
/**
* @Description: 要代理的接口
* @ClassName: Service
* @Project: spring-aop
* @Author: zxf
* @Date: 2011-6-2
*/
public interface Service {
public void outPut();
public void putOut();
public void outPut1(String v);
}
package com.yt.man ...
synchronized关键字如果应用于方法,代表这个方法加锁,相当于不管哪个线程A每次运行到这个方法的时候,都要检测有没有其它正在使用这个方法的线程B(C或者D等),有的话要等正在使用这个方法的线程B(C或者D等)运行完这个方法后在运行线程A,没有的话,直接运行。
它包括两种用法:synchronized方法和 synchronized 块。
1. synchronized 方法:
通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。如:
public synchronized void access ...
IOC(Inverse of Control)可翻译为“控制反转”,但大多数人都习惯将它称为“依赖注入”。在Spring中,通过IOC可以将实现类 、参数信息等配置在其对应的配置文件中 ,那么当需要更改实现类或参数信息时,只需要修改配置文件即可,这种方法在上例的基础上更进一步的降低了类与类之间的耦合。我们还可以对某对象所需要的其它对象进行注入 ,这种注入都是在配置文件中做的,Spring的IOC的实现原理利用的就是Java的反射机制,Spring还充当了工厂的角色,我们不需要自己建立工厂类 。Spring的工厂类会帮我们完成配置文件的读取、利用反射机制注入对象等工作,我们可以通过be ...
1、在eclipse安装abator插件http://ibatis.apache.org/tools/abator
2、新建java工程,在eclipse菜单栏中兴建一个 abator 配置文件
3、配置abatorConfig.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE abatorConfiguration PUBLIC "-//Ap ...
applicationContext.xml
<!-- ibatis 配置-->
<bean id="sqlMapClient"
class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation">
<value>classpath:SqlMapConfig.xml</value>
</property&g ...
Java线程:概念与原理
一、现在的操作系统是多任务操作系统
多线程是实现多任务的一种方式。进程是指内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如,在
windows系统中,一个运行的exe就是一个进程。线程是指进程的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行多个线程,线程总
是属于某个进程,进程中的多个线程共享进程的内存。
二、Java中的线程
在Java中,“线程”指两件不同的事情:1、java.lang.Thread类的一个实例;2、线程的执行。
使用java.lang.Thread ...
1、由于spring3已经对ajax支持的很好了,前端就可以使用html+jquery,后台使用spring,两者之间用json交换数据就可以了。放弃原来使用的jsp+struts了。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" cont ...
枚举(enum)类型是Java
5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全
的形式来表示。
枚举在什么地方适用呢?一条普遍规则是,任何使用常量的地方,例如目前用 switch
代码切换常量的地方。如果只有单独一个值(例如,鞋的最大尺寸,或者笼子中能装猴子的最大数目),则还是把这个任务留给常量吧。但是,如果定义了一组值,
而这些值中的任何一个都可以用于特定的数据类型,那么将枚举用在这个地方最适合不过。
package com.yt.manager.tenum;
public enum FirstEnum {
// 定义时 ...
1、到tomcat/bin目录下,执行service.bat install 命令
回顾2010年,经历了很多,总的来说,还是有点儿浮躁和懒惰。在新的2011年,要努力克服,丰富知识;
1、坚定不移的走稳定发展道路,认真踏实做项目,对问题一丝不苟,克服懒惰和浮躁;
2、巩固和深入理解Java基础知识;
3、精通JavaScript和Jquery客户端框架;
4、熟练使用linux系统;
5、提高英语阅读水平,提高语言表达能力和交流理解能力;
6、坚持在JavaEye上写博客,记录开发当中遇到的问题和技术知识点;
7、关注经济、体育、民生、少吃,多运动;
总觉得少了点儿什么东西,就是想不起来,以后再补上吧!