- 浏览: 27121 次
- 性别:
- 来自: 北京
最新评论
-
bxf12315:
晕了,怎么能吧这篇文章转到论坛里啊!
如何借助“策略模式”才能避免程序中的if else -
bxf12315:
哦 ror我还没搞过。这个只是想用来带着我负责项目组的成员学学 ...
基于URL的契约式简易MVC框架 -
linhong_1001:
怎么都像是ROR,Grails就是这样做的
基于URL的契约式简易MVC框架 -
fmjasper:
你确定这个程序能通过? 不会跑出access exceptio ...
可更新的注册式的单实例模式 -
chian_xxp:
能否请楼主简要介绍下RegSingleton 类中static ...
可更新的注册式的单实例模式
文章列表
基于6.2新特性的开发示例
首先需要列举下,6.2的一些新特性。
1 runtime permission of process
2 基于CDI的 process life cycel listener
3 基于CDI的 task life cycel listener
4 基于mvn的project build
5 task admin
[置顶] Jvm内存分配(6)
- 博客分类:
- java
下面的内容全部来自网络,基本无原创。只是学习笔记而已。
3.3.1.3 帧数据区
帧数据区除了局部变量区和操作数栈外,Java栈帧还需要一些数据来支持常量池解析、正常方法返回以及异常派发机制。
A这些数据都保存在Java栈帧 的帧数据区中。当JVM执行到需要常量池数据的指令时,它都会通过帧数据区中指向常量池的指针来访问它。
jvm中的许多指令都涉及到常量
[置顶] Jvm内存分配(7)
- 博客分类:
- java
下面的内容全部来自网络,基本无原创。只是学习笔记而已。
3.4 Java 堆
Java程序在运行时创建的所有类实或数组都放在同一个堆中。而一个Java虚拟实例中只存在一个堆空间,因此所有线程都将共享这个堆。每一个java程序独 ...
[置顶] Jvm内存分配(5)
- 博客分类:
- java
下面的内容全部来自网络,基本无原创。只是学习笔记而已。
3.3 栈-Stack
保存局部变量的值,包括:a.用来保存基本数据类型的值;b.保存类的实例,即堆区对象的引用(指针)。也可以用来保存加载方法时的帧。
A jvm为每个 ...
[置顶] Jvm内存分配(4)
- 博客分类:
- java
下面的内容全部来自网络,基本无原创。只是学习笔记而已。
3.2.2 方法区的使用
为了显示jvm如何使用方法区中的信息,我们据一个例子,我们看下面这个类:
class Lava {
private int speed = 5; // 5 kilometers per hour
void flow() {
}
}
class Volcano {
public static void main(String[] args) {
Lava lava = new Lava();
lava.flow() ...
[置顶] Jvm内存分配(3)
- 博客分类:
- java
下面的内容全部来自网络,基本无原创。只是学习笔记而已。
3 Run time data area 结构
Runtime data area 主要包括五个部分:Heap (堆), Method Area(方法区域), Java Stack(java的栈), Program Counter(程序计数器), Native method stack(本地方法栈)。Heap 和Method Area是被所有线程的共享使用的;而Java stack, Program counter 和Native method stack是以线程为粒度的
[置顶] jvm内存分配(2)
- 博客分类:
- java
下面的内容全部来自网络,基本无原创。只是学习笔记而已。
2 JVM虚拟机的规格描述
JVM虚拟机是Java平台的核心, 为了让编译产生的字节码能够更好的解释和执行,JVM主要分为6个部分【这里只是带过,想要了解JVM整体执行原理的读者可以去参考《Inside JVM》】:
2.1
JVM解释器:
即这个虚拟机处理字段码的 CPU。
JVM指令系统:该系统与计算机很相似,一条指
[置顶] jvm内存分配(1)
- 博客分类:
- java
做个java程序员n多年了,一直以来没搞明白jvm的内存分配。静下心来琢磨下。
下面的内容全部来自网络,基本无原创。只是学习笔记而已。
1 JVM整体架构
JVM specification中的JVM整体架构。
如下图
主要包括两个子系统和两个组件: Class loader(类装载器) 子系统,Execution engine(执行引擎) 子系统;Runtime data area (运行时数据区域)组件, Native interface(本地接口)组件。
1.1
Class loader子系统的作用 :
如何避免使用if else语句,这是个问题困扰自己很久了。
看过不少文章,貌似使用策略模式是较好的解决方法。
但是使用策略模式针的就能够避免if else吗?
一 首先我们假设一个场景。有这样一个txt文件。
name type worktime
huahua A 100
zhuzhu B 120
gougou C 130
renzha D 140
每列分别代表名字,类型,工作时间。然后通过他们不同的类型来区分进行工资计算。
A salary= worktime*50
C salary= worktime*70
...
一直以来对0配置的mvc框架很感兴趣。
最近,突发奇想,想试验一下如何利用url来实现契约式的mvc零配置框架。
首先,我们以一个普通的url为例。
"http://ipaddress:prot/project_name/business_name/moudle_name/action_name/"
我们假定从business_name开始我们对应的是java中的类包,moudle_name我们对应成 相应业务的对象名称。
而action_name则是 这个对象中的方法名称。
上面是我们假定的规则。
然后我们可以通过reflect可以找到这个请求相关的方法。 ...
如何应用到企业系统中
谈到如何应用到企业系统中,首先我们需要关注一些知识域。
1 如何与企业SSO系统集成
jbpm本身使用的Http的表单认证,可以在web。xml中看到
写道
<login-config> <auth-method>FORM</auth-method> <form-login-config> <form-login-page>/login.jsp</form-login-page> <form-error-page>/login.jsp?message=Log ...
jbpm 安装部署
1 首先下载
http://www.jboss.org/downloads/
这里需要注册,估计大部分人懒的搞这些。
http://www.jbpm.org/download/download.html
这里只有6.1版本
如果想得到最新的版本个人认为还是老老实实上Git hub吧
https://github.com/droolsjbpm/droolsjbpm-build-bootstrap
上面有比较详细的介绍,如何下载如何build.
如果搞不定mvn git 咋办
https://repository.jboss.org/nexu ...
开始使用jBPM的工作有一年多的时间了,其中参与社区开发也有5个月了。终于找个机会把最近看到的学到的展示一下。
首先先列个大纲吧。
1 jBPM6 安装部署
2 如何应用到企业系统中。
3 基于6.2新特性的开发示例
4 jbpm进阶功能介绍
4.1 notfaction
4.2 signal
最近,遇到这样一个应用。在系统中需要大量的配置信息,为了不每次都找数据库或者配置文件。需要一个生命周期和App一样的容器(=静态变量),但是在配置信息被修改时还需要去更新这个容器。
首先选用的是单实例模式。单实例模式中又可分为恶汉,懒汉,以及一种基于饿汉型的注册型。
个人感觉懒汉型单例模式没什么,而饿汉型的更能体现java特点。然注册行的可扩展性较强,个人感觉有点像
一个实例工厂.下面来一一列举。
恶汉:
public class EagerSingleton {
private static final EagerSing ...
java 代码
这段时间,想学习些关于IOC和反射以及注释方面的东西。
想通过一个简单的例子来学习一下,我设想的例子是这样的。
1 首先 通过castor来读取bean配置信息
2 然后注册bean的class信息到容器中。
3 在client获取bean的时候,去检查bean是否需要通过代理来实现
4 然后分配不同的代理来实现一些诸如事务 log的功能。
这是一个初步的想法,但是我知道ioc容器应该不止是实现一个简单的反转控制的问题,希望能在以后加进去(说实话,还有点啥我都不知道)。
1 bean配置:
xml 代码
<?xml version="1.0&quo ...