- 浏览: 22059 次
- 性别:
- 来自: 杭州
最新评论
-
zyq070:
基于接口的动态代理无法 转化为子类 楼主人品真好
一个经典的Spring IOC 疑难症状释疑 -
zyq070:
楼主写的不错 可惜没人看 赞一个
工厂模式个人理解 -
zyq070:
不错 学习了
观察者模式个人理解 -
zyq070:
文章不错,如果实际用到的话 应该会有更好的理解
(转)正确使用 Volatile 变量
文章列表
roketmq 启动不起来问题
- 博客分类:
- java 基础
今天在启动 rocketMq 时候 一直报 找不到或无法加载主类 org.apache.rocketmq.namesrv.NamesrvStartup
后来发现是 启动的目录错误了 不应该是 rocketmq-all-4.3.0/distribution/bin 这个是安装目录,应该去编译目录
rocketmq-all-4.3.0/distribution/target/apache-rocketmq/bin下去启动服务
dubbo 官网 架构图
1 左侧浅蓝色背景的是 消费端接口,右侧浅绿色背景的属于 服务端接口 中间区域属于 共有接口
2 图片从下到上分十层 单向依赖,绿色方块属于 扩展接口 蓝色方块上 实现类,此图仅仅展示了 各层相关实现类
3 蓝色虚线箭头 系统启动时候 执行初始化链路,红色虚线 是运行时调用链,紫色箭头继承父类 可以像父类一样调用子类。箭头线上的文字是 调用方法名称
各个层 描述:
配置层 : 外部配置接口 ,ServiceConfig and ReferenceConfig 是配置层的核心类,使用者可以直接初始化配置类 ,也可以通过Spring 生成配置类进行使用 ...
阿里认证的java编码规范 学到了不少东西 ,学习没有尽头 再接再厉
1 java 类注释 file header
Preferences->Editor->File and Code Templates->Class
在最有侧出现的 类头格式里 填写格式内容
右下角 Description 提供了 变量使用
2 java 方法注释
Lives Templates 点击 + 号添加 Template Group ,再点击 + 添加Live Template
注意 Live Template 的名字应为 * 这样点击 /* tab 才会出现方法的注释信息
java 中的可重入锁
- 博客分类:
- java 基础
首先 可重入锁的概念 即线程可以进入任何一个它所拥有的锁同步的代码块.
举个可重入锁例子
public class AccountService{
private int account;
private ReentrantLock lock = new ReentrantLock();
public void inCreaseAccount(){
lock.lock();
account++;
lock.unlock();
}
...
每个程序员都必读的10篇文章
- 博客分类:
- java 基础
见此
http://www.importnew.com/21527.html
synchronized
- 博客分类:
- java 基础
synchronized 有两种用法
第一种是修饰 方法 , 此时是对此对象加锁 ,如果此对象有多个方法 加上关键字synchronized ,一个线程访问一个synchronized 方法时候,其他线程该对象 的其他 synchronized 方法 只有等 当前同步方法结束时候才能访问 同一对象 在多个线程内 synchronized 方法是互斥的 , 即同一时刻只有一个synchronized 方法可执行
第二种修饰 块 是对 修饰方法的一种简化 可以在减少锁资源占用的情况下 给某一方法块加锁
实际请参考
http://www.cnblogs.com/devinzha ...
现在开始研究ofbiz,今天在做网站demo时候 在web.xml文件忘记配置servlet 及转发规则 导致服务器不识别url,低级错误真不应该
一个经典的Spring IOC 疑难症状释疑
- 博客分类:
- web 相关
论坛里的 拿过来 以做备用 :http://www.iteye.com/topic/1131444
java 引用概述
- 博客分类:
- java 基础
- java 基础(转)
1.Java垃圾回收器概述
Java2平台里面引入了java.lang.ref包,这个包中的类可以让我们引用对象,而是的这些对象不用停留在内存中。不仅仅如此,这些类和Java本身的垃圾回收器还存在一定的交互。我们平时开发的时候有时候会 ...
通常所说的工厂模式涉及到 简单工厂模式 , 工厂方法模式和抽象工厂模式。 对于简单工厂模式,理解很简单,把类的实例化的操作通过一个工厂类来操作,实例的使用类尽管使用而不关心对象是如何创建,这样减少了类与类之间的耦合性。相对简单。下面来集中讨论下工厂方法和抽象工厂模式:
工厂方法:定义了一个创建对象的接口,由子类具体去实例化不同的类,把实例化推迟到了子类。 相当于在简单工厂模式中加入了一个工厂接口,这样具体的不同的工厂实现类可以生成不同的类。简单工厂模式工厂类的数量是一个,而工厂方法模式具体的工厂类可以有一个或者多个。
打个比方,
1.简单工厂类就是就 ...
观察者模式定义了一对多的依赖关系,让一个或多个观察者对象订阅一个主题对象。主题对象状态上或内容上的变化会通知观察者。主题对象及观察者对象拥有相对的独立性。
与<策略模式个人理解>中相似,观察者对象实现了一个观察者接口,这样就把与主题对象独立开来。具体观察者的个数和内容可以自定义增加或者删除。
主题是一个抽象类或者接口,有addObserver、deleteObserver、notifyObservers方法。具体的主题对象实现抽象主题。
public interface Observer{
public void update(Obs ...
策略模式把要使用算法的‘客户’,跟具体的‘算法’ 分离开来,这种分离通关了中间的一个接口(或抽象类)
来实现。一般情况下,会配合简单工厂模式使用,简单工厂模式负责生产不同的对象实例,而策略模式则负
责实现不同的对象对应的实现算法。
举例如下:
假如小明有自行车、摩托、电动车三种交通工具,三种交通工具发动靠不同的算法实现
自行车双脚一蹬,摩托依靠汽油为动力,电动车依靠充电电池。这三种交通工具都用startMove方法,
我们 把其定义为
public interface RunTools{
public void startMove();
}
...
策略模式讲解:
http://www.cnblogs.com/justinw/archive/2007/02/06/641414.html
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文介绍了几种有效使 ...