java
鹅
这个作者很懒,什么都没留下…
展开
-
[Drools]JAVA规则引擎 -- Drools
Drools是一个基于java的规则引擎,开源的,可以将复杂多变的规则从硬编码中解放出来,以规则脚本的形式存放在文件中,使得规则的变更不需要修正代码重启机器就可以立即在线上环境生效。 本文所使用的demo已上传 http://download.csdn.net/source/30022131、Drools语法开始语法之前首先要了解一下drools的基本工作过程,通常而言我们使用一个转载 2013-10-22 17:20:25 · 18036 阅读 · 1 评论 -
JAVA的各种O (PO、VO、BO......)
本文由疯狂Java为你整理 PO(persistantobject) 持久对象 在 o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了。通常对应数据模型(数据库),本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。 VO(valueobj转载 2013-12-24 17:56:51 · 1007 阅读 · 0 评论 -
笔记_并发编程实践_十三
显式锁原创 2014-01-08 19:30:39 · 557 阅读 · 0 评论 -
笔记_并发编程实践_十四
构建自定义的同步工具1.除了系统提供的类库可以提供阻塞,通过使用语言和类库提供的底层机制:条件队列,显示的condirion对象,和AbstractQueuedSynchronizer构建属于自己的synchronizer原创 2014-01-09 20:13:08 · 484 阅读 · 0 评论 -
Java 动态代理机制分析及扩展,第 2 部分
本文希望将 Java 动态代理机制从接口扩展到类,使得类能够享有与接口类似的动态代理支持。设计及特点新扩展的类名为 ProxyEx,将直接继承于 java.lang.reflect.Proxy,也声明了与原 Proxy 类中同名的 public 静态方法,目的是保持与原代理机制在使用方法上的完全一致。图 1. ProxyEx 类继承图与原代理机制最大的区别在于,动态生成的代理类转载 2013-12-28 09:53:28 · 494 阅读 · 0 评论 -
笔记_并发编程实践_十五
原子变量与非阻塞同步机制1.锁的劣势:原创 2014-01-11 22:46:57 · 500 阅读 · 0 评论 -
如何实现一个与数据库表字段松耦合的j2ee应用
在软件项目的分析设计过程中,我们首先分析数据实体,例如确定类,类成员变量或者画ER图。再详细设计UI界面上有哪些输入框,文本框等,紧接着我们还会确定方法的参数个数和类型。这些过程紧密地依赖于数据实体的稳定性,比如在数据库设计中,我们需要多少表,每个表的字段有多少,它们的类型是什么等。但是当这个稳定性失去了怎么办?用户很有可能说目前我只能为我的表大概确定这些字段。项目组是否该等到用户确定之后再做?如转载 2013-12-28 09:11:50 · 549 阅读 · 0 评论 -
使用xslt动态生成javabean的代码
In some commercial software projects, you cannot afford to cast in stone the structure of business objects. For example, different companies may have different and even mutually exclusive requirements转载 2013-12-27 11:49:09 · 1460 阅读 · 0 评论 -
笔记_并发编程实践_十六
java存储模型1.什么是存储模型:(1)存储模型要回答这样一个问题:当一个线程为某变量赋值,什么时候其他线程可以看到这个值?(2)平台的存储模型每一个处理器都有自己的缓存,并周期性地保持与主内存一直,助力器架构提供了不同级别的缓存一致性,几乎在任何时间内都允许处理器在相同的存储位置上看到不同的值。一种架构的存储模型告诉了应用程序可以从它的系统中获得何种担保,同时详细定义了原创 2014-01-13 11:09:17 · 561 阅读 · 0 评论 -
字符编码笔记:ASCII,Unicode和UTF-8
今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。1. ASCII码我们知道,在计算机内部,所有的转载 2014-01-21 10:41:28 · 539 阅读 · 0 评论 -
笔记_并发编程实践_十二
测试并发程序原创 2014-01-06 19:57:41 · 525 阅读 · 0 评论 -
Java栈与堆
----对这两个概念的不明好久,终于找到一篇好文,拿来共享 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可转载 2014-01-07 10:21:09 · 415 阅读 · 0 评论 -
在你的企业级java应用中使用Drools
一花一世界,一叶一菩提一 前言 最早对Drools感兴趣,是起源于规则引擎.当时是希望能找一个开源工具来做一些规则的处理. 在官方网站上翻了半天资料,却发现Drools一直在强调它不只是一个简单的规则引擎,而是更多的引入工作流的概念. 之后最大的感触就是Drools牵涉到的东西比较多,甚至有一种依照Drools可以创造整个世界的感觉--转载 2013-10-22 17:32:22 · 4203 阅读 · 0 评论 -
Calendar.set用法的深入探讨
一般来说,用Calendar做日期处理的时候,都习惯于使用add方法:Calendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.add(Calendar.SECOND, 1); 最近代码Review的时候看到有人用set方法来做日期的处理:Calendar calendar = Ca转载 2013-10-31 14:10:16 · 982 阅读 · 0 评论 -
揭开正则表达式的神秘面纱
引言 正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 'a' 和 任意个 'b' ”,那么 'ab', 'abb', 'abbbbbbbbbb' 都符合这个特征。转载 2013-11-27 15:15:59 · 429 阅读 · 0 评论 -
Java获取系统信息(cpu,内存,硬盘,进程等)的相关方法
1.利用jdk自带的API获取信息:(只支持jdk1.60以上的版本啊) import java.io.InputStreamReader;import java.io.LineNumberReader;import java.util.ArrayList;import java.util.List;import mytools.com.sun.management.Ope转载 2013-11-14 11:11:34 · 1089 阅读 · 0 评论 -
使用 Eclipse Memory Analyzer 进行堆转储文件分析
概述对于大型 JAVA 应用程序来说,再精细的测试也难以堵住所有的漏洞,即便我们在测试阶段进行了大量卓有成效的工作,很多问题还是会在生产环境下暴露出来,并且很难在测试环境中进行重现。JVM 能够记录下问题发生时系统的部分运行状态,并将其存储在堆转储 (Heap Dump) 文件中,从而为我们分析和诊断问题提供了重要的依据。通常内存泄露分析被认为是一件很有难度的工作,一般由团队中的资深人士进转载 2013-12-06 13:49:51 · 511 阅读 · 0 评论 -
使用 JFreeChart 来创建基于 web 的图表
JFreeChart 项目简介JFreeChart 是开放源代码站点 SourceForge.net 上的一个 JAVA 项目,它主要用来各种各样的图表,这些图表包括:饼图、柱状图 ( 普通柱状图以及堆栈柱状图 )、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。这些不同式样的图表基本上可以满足目前的要求。为了减少篇幅本文主要介绍前面三种类型的图表,读者可以触类旁通去开发其他样式的图表转载 2013-12-06 15:19:15 · 537 阅读 · 0 评论 -
java中float/double浮点数的计算失精度问题
ava中浮点数的计算今天在数值计算时碰到一个问题.程序如下: double a = (3.3-2.4)/0.1; System.out.println(a);你可能认为结果很简单,不就是9嘛,是事实上,结果为:8.999999998,为什么呢?我翻阅了一些资料,终于找出了原因.为什么浮点数会丢失精度? 十进制数的二进制表示可能不够精确浮点数或是双精度浮点数无法精确转载 2013-12-10 20:03:07 · 1136 阅读 · 0 评论 -
jsp JFreeChart使用心得与例子
一、JFreeChart的介绍与获取 JFreeChart开发包是一个开源的Java图形开发包,它从柱形图,饼形图,到雷达图,蜡烛图等等无所不包,可以在c/s,b/s,甚至是实时环境都能一显身手。当前的JFreeChart的最新版本为jfreechart-1.0.11.zip。可以到http://www.jfree.org/jfreechart/index.html找到二、JFre转载 2013-12-06 16:12:05 · 1152 阅读 · 0 评论 -
对象序列化为何要定义serialVersionUID的来龙去脉
在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的Session对象,当有10万用户并发访问,就有可能出现10万个Session对象,内存可能吃不消,于是Web容器就会把一些seesion先序列化到内存,等要用了,再还原到对象中,说白了,就是能将一个2进制文件变成内存中的对象。在JAVA中,要实现这种机制,只要实现Serializ转载 2013-12-20 14:22:24 · 478 阅读 · 0 评论 -
深入分析java web 技术内幕_笔记_三
深入分析javaweb中的中文编码问题1.几种常见的编码(1)为什么要编码?计算机中的最小存储单元是字节byte即8个bit,最多是2的8次方,0~255个人类要表示的字符太多,无法用一个字节来完全表示所以由byte到char必须编码(2)如何翻译:(1)提供多种翻译方式(编码),相当于字典,根据字节中的信息查找对应的字符(2)几种编码:ASCII码原创 2014-01-19 21:00:30 · 1002 阅读 · 0 评论 -
Java.过滤流(包装流)
包装类的概念与作用各种字节节点流类,它们都只具有读写字节内容的方法,以FileInputStream与FileOutputStream为例,它们只能在文件中读取或者向文件中写入字节,在实际应用中我们往往需要在文件中读取或者写入各种类型的数据,就必须先将其他类型的数据转换成字节数组后写入文件,或者从文件中读取到的字节数组转换成其他数据类型,很麻烦的!!通过FileOutputStream将一个浮转载 2014-01-19 20:07:01 · 680 阅读 · 0 评论 -
JProfiler入门笔记
1 前言 开始之前,我问自己,为什么要学习jProfiler? 回答之前先让我们来看看什么是jProfiler:JProfiler是一个商业授权的Java剖析工具,由EJ技术有限公司,针对Java EE和Java SE应用程序开发的。它允许两个内存剖面评估内存使用情况和动态分配泄漏和CPU剖析,以评估线程冲突。JProfiler直觉式的GUI让你可以找到性能瓶颈、抓出内存漏失转载 2014-06-25 15:52:45 · 959 阅读 · 0 评论 -
OSGi 和 Spring,第 1 部分: 使用 Apache Felix 构建和部署 OSGi 包
引言本文是本系列的第 1 部分,我们将开发包含客户端和服务器端组件的订单应用程序。然后将这些组件打包为 OSGi 包。客户端调用服务组件处理订单。服务组件具有处理订单和打印订单 ID 的方法。阅读本文后,您可以应用 Apache Felix 的概念和功能来将 Java 组件类构建和打包为 OSGi 包。系统要求要运行本文中的示例,请确保已在计算机上安装和设置了以下软件: Jav转载 2014-11-15 09:19:43 · 831 阅读 · 0 评论 -
堆和栈(Java数据结构)
堆常见使用场景:(英语:heap)亦被称为: 优先队列 (英语:priority queue),是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。在队列中,调度程序反复提取队列中第一个作业并运行,因而实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。n个元素转载 2015-01-27 15:34:11 · 549 阅读 · 0 评论 -
sun.jnu.encoding
Java Platform EncodingThis came up at $WORK recently. We had a java program that was given input through command line arguments. Unfortunately, it went wrong when being passed UTF-8 characters (U+转载 2015-07-20 21:44:13 · 2862 阅读 · 0 评论 -
Java的UUID生成工具并发测试
Java的UUID生成工具并发测试 一、认识UUID UUID 维基百科,自由的百科全书通用唯一识别码 (Universally Unique Identifier, UUID) 是一个软件建构的标准,亦为自由软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Envi转载 2015-08-17 09:34:46 · 1415 阅读 · 0 评论 -
NIO 入门
Greg Travis (mito@panix.com), 程序员和技术撰稿人简介: JDK 1.4 中引入的新输入输出 (NIO) 库在标准 Java 代码中提供了高速的、面向块的 I/O。本实用教程从高级概念到底层的编程细节,非常详细地介绍了 NIO 库。您将学到诸如缓冲区和通道这样的关键 I/O 元素的知识,并考察更新后的库中的标准 I/O 是如何工作的。您还将了解只能通过 NIO转载 2013-08-28 17:30:01 · 491 阅读 · 0 评论 -
NIO.2 入门,第 1 部分: 异步通道 API
了解支持异步 I/O 的新通道Catherine Hope, Apache Harmony 开发人员, IBMOliver Deakin, Apache Harmony 开发人员, IBM简介: Java 7 主要的新功能域之一是增加用于 Java™ Platform(NIO.2)的 More New I/O API,为该语言增加异步通道功能和新的文件系统 API。开发人员可以转载 2013-08-28 17:32:57 · 1670 阅读 · 0 评论 -
Java SecureRandom的合理使用
Proper use of Java SecureRandomAugust 14, 2009 Categories: Security Best Practices, Software Security Tags: java, securerandom When generating random numbers in Java for cryptogr转载 2015-09-06 16:03:37 · 8709 阅读 · 0 评论 -
secureRandom 实现 之 SHA1PRNG
SecureRandom Implementation (sun.security.provider.SecureRandom – SHA1PRNG)January 15, 2014Categories: Developer, Security Best PracticesTags: java, securerandom, software developmentMy pr转载 2015-09-07 08:58:24 · 12344 阅读 · 0 评论 -
Java 语言中 Enum 类型的使用介绍
Enum 类型的介绍枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中。而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义相似。不过相比较常量类型,枚举类型可以为申明的变量提供更大的取值范围。举个例子来说明一下,如果希望为彩虹描绘出七种颜色,你可以在 Java 程序中通过常量定义方式来实现。清单 1.转载 2014-04-27 11:10:22 · 478 阅读 · 0 评论 -
基于x86和JVM浅谈32bit与64bit的区别
前言32位和64位系统在计算机领域中常常提及,但是仍然很多人不知道32位和64位的区别,所以本人在网上整理了一些资料,并希望可以与大家一起分享。对于32位和64位之分,本文将分别从处理器,操作系统,JVM进行讲解。IA介绍 简介说到处理器,大家用的最多的莫过于Intel的处理器了,所以本文主要从Intel的处理器讲解32位和64位的处理器之分。 通常将采用Intel(英特尔)转载 2014-04-11 19:47:36 · 674 阅读 · 0 评论 -
全面认识UML-类图元素(java)
开发Java应用程序时,开发者要想有效地利用统一建模语言(UML),必须全面理解UML元素以及这些元素如何映射到Java。本文重点讨论UML类图中的元素。类图是最常用的UML图,它用于描述系统的结构化设计。其中包括类关系以及与每个类关联的属性及行为。类图能出色地表示继承与合成关系。为了将类图作为一种高效的沟通工具使用,开发者必须理解如何将类图上出现的元素转换到Java中。下面来进一步探索这转载 2014-01-19 20:40:12 · 470 阅读 · 0 评论 -
判断字符串或者文章是何种编码的方法
(转载的关于编码范围,是PHP的程序,注意UTF-8和UTF-16都使用Unicode,下面utf-8的范围是unicode的范围)核心提示,判断中文是gbk还是utf8,还是gb2312php判断中文和编码有关 gbk是双字节,utf8是三字节,可以根据 中文的范围来判断编码范围1. GBK (GB2312/GB18030)\x00-\xff GBK双字节编码范围\x20转载 2014-01-21 09:59:04 · 708 阅读 · 0 评论 -
VisualVM
visualVM集成到Eclipse针对性能监控:http://www.blogjava.net/Nirvana/archive/2012/09/13/387618.html本文原文:http://blog.csdn.net/hujunsong/article/details/6860303【51CTO独家译稿】令人意想不到的宝贝,其实往往已经早就在你眼前,只不过你没发现它。Visua转载 2014-02-12 13:56:45 · 678 阅读 · 0 评论 -
java实现在线支付
国内电子商务系统实现的基本流程如下: 客户在系统内下订单 -> 系统根据订单生成支付宝接口url -> 客户通过url使用支付宝(网上银行)付款 -> 支付宝将客户的付款完成信息发送给电子商务系统 -> 系统收到支付宝信息后确定客户订单已经付款 -> 进行发货等后续流程。在开始下面的内容之前,你要先有一个支付宝账户,如果要集成支付宝接口,你还必须申请开通服务(关于如何开通,可以直接到支转载 2014-02-28 17:33:52 · 754 阅读 · 0 评论 -
从伪word格式的doc文件中提取文本内容
从mht文件中提取html内容最近做的一个程序中,需要把从51job导出来的简历进行解析,51job支持doc和mht格式。开始时以为该doc文件是Word文件,于是采用Apache POI中提供的WordExtractor来进行,从word文件中提取文本内容。 Java代码 import org.apache.poi.hwpf.extractor.WordExt转载 2014-03-12 15:15:17 · 1704 阅读 · 0 评论 -
[Google Guava] 2.1-不可变集合
[Google Guava] 2.1-不可变集合原文链接译者:沈义扬范例01public staticfinal ImmutableSet COLOR_NAMES = ImmutableSet.of(02 "red",03 "orange",转载 2014-04-07 15:36:13 · 668 阅读 · 0 评论