Java
文章平均质量分 90
白马非马M
这个作者很懒,什么都没留下…
展开
-
Spring事务的属性
事务属性的种类: 传播行为、隔离级别、只读和事务超时 a) 传播行为定义了被调用方法的事务边界。PROPERGATION_MANDATORY表示方法必须运行在一个事务中,如果当前事务不存在,就抛出异常PROPAGATION_NESTED表示如果当前事务存在,则方法应该运行在一个嵌套事务中。否则,它看起来和 PROPAGATION_REQUIRED 看起来没什么俩样PRO...转载 2018-09-04 12:02:36 · 140 阅读 · 0 评论 -
动态代理设计模式
在看动态代理设计模式之前我们先来了解一下基础代理设计模式,通俗来讲就是你想干一件事,又不想直接去干,要借别人的手来干这个事,我们直接通过一个例子来讲这个事:interface ISubject{ public void eat();//核心业务}class RealSubject implements ISubject{ @Override public voi...原创 2018-09-06 16:24:48 · 218 阅读 · 0 评论 -
用一个例子来解释ThreadLocal
ThreadLocal叫线程本地变量,他为每个线程都创建了一个副本变量,每个线程都只能访问自己的副本变量。 我们直接用一个例子来解释ThreadLocal。class Message{ private String note; public void setNote(String note) { this.note = note; } pu...原创 2018-09-04 01:15:19 · 1840 阅读 · 2 评论 -
自定义类加载器
Java中类加载器系统有四层,自上往下为:Bootstrap ClassLoader:引擎核心加载器,主要是加载系统程序类Extension ClassLoader:扩展类加载器,加载第三方程序类Application ClassLoader:加载classpath下的类Custom ClassLoader:加载自定义的类,可以自己选择加载路径前三个没什么好说的,主要来看一下怎么...原创 2018-09-03 13:44:33 · 169 阅读 · 0 评论 -
关于工厂设计模式的问题(反射机制)
首先来写一个传统的工厂:interface IFruit1{ public void eat();}class Apple1 implements IFruit{ @Override public void eat() { System.out.println("吃苹果"); }}class Orange implements IFr...原创 2018-09-02 23:12:35 · 219 阅读 · 1 评论 -
Servlet
(1)Servlet生命周期:加载:容器通过类加载器使用Servlet类对应的文件来加载Servlet创建:通过调用Servlet的构造函数来创建一个Servlet实例初始化:通过调用Servlet的init()方法来完成初始化工作,这个方法是在Servlet已经被创建,但在向客户端提供服务之前调用。处理客户请求:Servlet创建后就可以处理请求,当有新的客户端请求时,Web容器都会...转载 2018-09-04 15:57:44 · 198 阅读 · 0 评论 -
volatile关键字与单例模式
大家都知道,单例模式有两种,一种叫懒汉式,一种叫饿汉式,由于现在要说的是volatile与单例,所以就不用看饿汉式的单例了。先来看一个简单的懒汉式单例:package java1_1;class Singleton{ private static Singleton singleton; private Singleton(){ System.out.pr...原创 2018-09-07 12:38:58 · 382 阅读 · 0 评论