- 浏览: 51618 次
- 性别:
- 来自: 浙江台州
最新评论
-
lqvc2011:
这个代码有时会出错,范例3×9-9-2×9,,lz可以解释一下 ...
java计算器的核心算法
文章列表
1.当我们需要为一个类加上特殊的能力的时候,可以使用接口。
2.找出应用中可能变化的地方,把他们独立出来,不要和那些不需要变化的东西混淆起来。
3.面向接口编程而不是面向实现编程。
4.一种行为也可以表示成一个类,例如fly()的方法也可以定义他的最大高度和速度等。
5.多用组合少用继承,组合有更多的灵活性。
6.为了交互对象之间的松藕设计而努力。
1.EJB Enterprise Java Bean 企业bean,为了简化企业级的开发
2.EJB主要分为SeesionBean和MessageDrivenBean
3.(1)远程客户端:和EJB运行在不同的JVM上。
(2)本地客户端:和EJB在同一个JVM上
远程访问是需要消耗的,所以我们一定要减少方法的调用,要进行粗粒度的数据访问。
4.EJB的编写方法
(1)编写EJB的接口
(2)实现EJB的接口类
(3)定义EJB类型和EJB的访问类型
(4)部署到JBOSS
5.Client的编写方法
(1)建立一般的javaProject
(2) ...
package com.ioc;
import java.util.HashMap;
import java.util.Map;
/**
* 服务器定位,查询需要的服务和组件
* 他和工厂的主要区别是 他提供了整个应用所有
* 服务和组件对象的获取入口
*
*/
public class ServiceLocator {
private static ServiceLocator locator;
private Map<String,Object> services=new HashMap<String,Object>();
...
装饰器模式(网站借鉴的)
- 博客分类:
- 设计模式
package com.decorator;
/**
* 面包类
* @author Administrator
*
*/
public class Bread extends Ingredient {
private String description ;
public Bread(String desc){
this.description=desc ;
}
public String getDescription(){
return descri ...
package com.Adapter;
//适配器模式的作用是实现功能的增加和接口的匹配
//和装饰起来说,一个是对功能的丰富,一个是对功能的增加
public class AdapterTest {
public static void main(String[] args)
{
//利用继承的方式实现
Target t=new AddAdapter();
System.out.println(t.add(1));
System.out.println(t.add(1,2));
//利用组合的方式来实现
Target t2=new AddAd ...
package com.identity;
public class Animal {
}
package com.identity;
public class Cat extends Animal{
}
package com.identity;
import static com.identity.Food.*;//静态属性的引入
public class Feeder {
public void feed(Animal animal,Food food)
{
System.out.println(animal.getClass().g ...
1.基本的内部类
package com.innerclass;
//1.内部类可以访问外部类的成员,但是外部类不可以访问内部类的成员
//2.想到方位内部类的变量,只有通过内部类的实例来实现
//3. 内部类不能定义静态成员
public class Outer {
private int a1;
private int a2;
static int a3;
public Outer(int a1,int a2)
{
this.a1=a1;
this.a2=a2;
}
protected int methodA(){return a ...
1.java线程的运行机制
每个线程都有一个程序计数器和方法调用栈。
(1)计数器指向方法区中下一条要执行的指令。
(2)方法调用栈,跟踪线程运行的的调用过程。每次调用一个方法的时候就会往里面压入一个新帧。(包括局部变量区:存放局部变量和方法参数。操作数区:存放运算过程中生成的临时数据。栈数据区:为线程执行提供相关的信息,如何正常退出,异常中断等。)
程序运行的时候,创建一个主线程main(),计数器不断的往下走,每个方法运行完毕之后,也会pop掉,局部变量的生命周期也就到了。
堆区:对象。方法区:方法的内容。栈区:方法的push和pop。
1.最简单的单例模式:
package com.singleton;
/**这是最简单的单例模式,实现的效果的是在一个jvm中只有一个实例
* 类在加载的时候静态变量只会初始化一次。
* 1.这种模式的问题在于不能够延迟加载,当SimpleSingleton加载到内存的时候
* 实例就会自动生成,不能够延迟加载
*
*/
public class SimpleSingleton {
private SimpleSingleton(){};
private static SimpleSingleton instance=new SimpleSingleton() ...
1.jbpm_processdefiniton 流程定义表
记录了不同版本流程的基本信息和流程初始的状态,也就是第一个节点的状态
2.jbpm_node节点表
记录了节点的类型和属性等
3.jbpm_transition节点过渡表
form one node to another
4.jbpm_action流程动作
记录流程动作的类型,动作脚本定时器等
5.jbpm_task任务表
记录了任务的属性,定时等
6.jbpm_processinstance流程实例
当前执行的流程实例
7.jbpm_token令牌
记录了当前流程实例的状态
8.Jbpm_runtimeactio ...
该框架的使用需要结合hibernate
1.创建基本的数据库表
JbpmConfiguration.getInstance().createSchema();
2.定义流程 例如
<?xml version="1.0" encoding="UTF-8"?>
<!-- 定义文档 -->
<process-definition name="文档测试流程">
<!-- 文档开始 -->
<start-state name="开始">
<tra ...
1.component组件
2.dispatcher调度员
3.via通过
4.alternative替换物
5.facility设施设备
6.unified统一的
7.distrubuted分布式的
8.transaction事务处理
9.profiled描绘
10.terminated终止
11.mechanism机制 途径
12.retrieved恢复
13.architecture建筑 架构
14.customized自定义
15.implicit objects内置对象
16.maintain维护
17.interact 相互影响
...
1.首次创建servlet时,会调用init方法,因此,init是防止一次性设置代码的地方。在这之后每一次用户请求,都会创建一个线程,该线程调用前面创建实例的service方法。
2.service方法检查用户请求的类型,get,post.delete等。
3.servlet一定要保证是线程安全的,可以使servlet继承singlethreadmodel
4.用户发送来的请求信息全部在httprequest里面,request header里面放着请求的报头信息
5.response.sendError sendRedirect
6.Resources are anything c ...
package multithreading;
public class ProductConsumer {
public static void main(String[] args)
{
Stack stack=new Stack("s1");
Productor p1=new Productor("p1",stack);
Consumer c1=new Consumer("c1",stack);
}
}
class Consumer extends Thread
{
privat ...