
JAVA
iteye_8162
这个作者很懒,什么都没留下…
展开
-
基于Java的全文索引引擎Lucene简介
基于Java的全文索引引擎Lucene简介 (1) 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明http://www.chedong.com/tech/lucene.html关键词:Lucene java full-text search engine Chinese word segment内容摘要:Lucene是一个基于Java的全文索...2009-04-12 11:23:00 · 111 阅读 · 0 评论 -
java jvm 调优实战
1.eclipse 打印gc日志 eclipse根目录eclipse.ini 中设置如下:-XX:+PrintGCTimeStamps -XX:+PrintGCDetails -verbose:gc -Xloggc:gc.log 2. Java中,栈的大小通过-Xss来设置,当栈中存储数据比较多时,需要适当调大这个值,否则会出现java.lang.StackOve...原创 2012-11-13 10:01:48 · 93 阅读 · 0 评论 -
static class 静态类(Java)
一般情况下是不可以用static修饰类的。如果一定要用static修饰类的话,通常static修饰的是匿名内部类。在一个类中创建另外一个类,叫做成员内部类。这个成员内部类可以静态的(利用static关键字修饰),也可以是非静态的。由于静态的内部类在定义、使用的时候会有种种的限制。所以在实际工作中用到的并不多。...原创 2012-11-23 20:20:38 · 118 阅读 · 0 评论 -
spring组件扫描<context:component-scan/>使用详解 (
关于spring自动检测组件的使用方式网上太多了,而且也不是我记录的重点,我想说下一点可能你还不知道的经验我们知道如果不想在xml文件中配置bean,我们可以给我们的类加上spring组件注解,只需再配置下spring的扫描器就可以实现bean的自动载入。 先写一个小例子,剩下的在下面解释<!--定义扫描根路径为leot.test,不使用默认的扫描方式 --&g...原创 2012-11-28 08:57:01 · 173 阅读 · 0 评论 -
spring组件扫描<context:component-scan/>使用详解
关于spring自动检测组件的使用方式网上太多了,而且也不是我记录的重点,我想说下一点可能你还不知道的经验我们知道如果不想在xml文件中配置bean,我们可以给我们的类加上spring组件注解,只需再配置下spring的扫描器就可以实现bean的自动载入。 先写一个小例子,剩下的在下面解释<!--定义扫描根路径为leot.test,不使用默认的扫描方式 --&g...原创 2012-12-05 19:14:08 · 98 阅读 · 0 评论 -
web.xml配置总结
一、关于webAppRootKey的定义默认情况下webAppRootKey属性的值为webapp.root(就是说系统会把“web目录的路径”压入一个叫webapp.root的系统变量,也就是说我们可以在以后的properties文件设置中,使用${webapp.root.webtools}来代替“web目录的路径”,此例为tomcat/webapp/webtools...原创 2012-12-05 20:50:09 · 120 阅读 · 0 评论 -
copy项目是容易出现的错误--webAppRootKey错误
Tomcat 发布多个项目时抛的webAppRootKey错误Xml代码 在tomcat的目录conf\Catalina\localhost下,可以增加xml文件,来指向file系统中任意一处作为网站系统的子根目录,例如: atcs.xml文件: <!-- Context configuration file for the Tomcat Host Manager Web...原创 2012-12-05 21:18:15 · 139 阅读 · 0 评论 -
JAVA字符串占位符
包 java.text.MessageFormatjava.text.MessageFormat 正好用的是 {0}, {1} 这样,也正好是从 0 开始的,呵呵。String str = MessageFormat.format("我是{0},我来自{1},今年{2}岁", "中国人", "北京", "22");...原创 2012-12-06 08:24:06 · 564 阅读 · 0 评论 -
JVM学习之:虚拟机中的运行时栈帧总结(一)
每个人都知道,各种各样的动画视频,都是由一帧一帧图片连续切换结果的结果而产生的,其实虚拟机的运行和动画也类似,每个在虚拟机中运行的程序也是由许多的帧的切换产生的结果,只是这些帧里面存放的是方法的局部变量,操作数栈,动态链接,方法返回地址和一些额外的附加信息组成,在虚拟机中包含这些信息的帧称为“栈帧”,每个方法的执行,在虚拟机中都是对应的栈帧在虚拟机栈中的入栈到出栈的过程。其中比...原创 2012-12-12 19:45:42 · 173 阅读 · 0 评论 -
JVM学习之:虚拟机中的运行时栈帧总结(二)
在 JVM学习之:虚拟机中的运行时栈帧总结(一) 虚拟机栈的情况做了一个简单的介绍,也对虚拟机栈中的局部变量表做了简单的介绍,本篇文章主要是简单的总结一下在虚拟机栈帧的其他组成部分.虚拟机栈帧除了局部变量表,还包括操作数栈,动态连接,以及方法的返回地址等结构(一)操作数栈:首先根据名称可以看出操作数栈是一个基本的栈来实现数据结构,那么它自然也遵守栈的后入先出的原...原创 2012-12-12 19:46:16 · 158 阅读 · 0 评论 -
JAVA中的继承分析
为什么写这篇博客,之前对继承的理解知识大体理论上,最近有个同事问了个问题,发现对JAVA继承的底层实现相当模糊,结合《深入理解Java虚拟机:JVM高级特性与最佳实践》以及上网查的资料进行了一下深入学习。 程序:现在又两个父子类如下 class Parent{ public String str = "Parent"; private int a = 10; p...原创 2012-12-27 11:43:32 · 160 阅读 · 0 评论 -
[转载]JDMK 基本JMX配置( html adaptor)
原文地址:JDMK 基本JMX配置( html adaptor)作者:macgJDMK概述JDMK(Java Dynamic Management Kit)是由JAVA的一个应用程序接口(JAVAAPI)和一套开发工具组成的。JDMK是JMX的第一个商业化产品,它是JMX(Java Managementextensions)的一个实现,它...原创 2013-01-07 13:37:19 · 606 阅读 · 1 评论 -
java jstack dump 线程 介绍 解释
hi,all: 最近抽时间把JVM运行过程中产生的一些线程进行了整理,主要是围绕着我们系统jstack生成的文件为参照依据。 前段时间因为系统代码问题,造成性能到了天花板,于是就dump了一份stack出来进行分析。 看stack其实也需要一定的经验,毕竟它里面很多线程不可能都是有问题,所以,需要对他们有一定认识。 现在市面上很少有人对这一块做整理,所以,导致很多新人...原创 2013-02-05 15:52:38 · 184 阅读 · 0 评论 -
Eclipse 相同变量的高亮 及颜色
在Eclipse/MyEclipse中如果不小心把变量的高亮显示弄丢了可真是件愁人的事,不过看到这你就不用愁了 进入windows-> preferences-> java-> Editor-> Mark Occurences 最上边的大标题的复选框勾上,下面的就都可以高亮显示了,Local variables是变量的高亮显示 ...原创 2013-02-18 17:26:03 · 297 阅读 · 0 评论 -
记一次JVM GC日志分析
这几天在准备升级JDK版本到1.6,对目前线上JVM(版本是1.5.0_08-b03) GC日志进行了分析,发现一些参数设置不太合理的地方,有待后续通过数据来进行验证。1.原始GC日志(通过JVM配置GC Print参数获取GC日志)...695.775: [GC 695.776: [ParNew: 130944K->0K(131008K), 0.0174100 secs]...原创 2013-03-08 21:36:24 · 124 阅读 · 0 评论 -
Zookeeper的一致性协议:Zab
Zookeeper使用了一种称为Zab(Zookeeper Atomic Broadcast)的协议作为其一致性复制的核心,据其作者说这是一种新发算法,其特点是充分考虑了Yahoo的具体情况:高吞吐量、低延迟、健壮、简单,但不过分要求其扩展性。下面将展示一些该协议的核心内容:另,本文仅讨论Zookeeper使用的一致性协议而非讨论其源码实现Zookeeper的实现是有Cl...原创 2012-11-04 16:14:07 · 138 阅读 · 0 评论 -
WorkbookFactory 找不到
在最近的POI版本中,poi-3.9.jar包中找不到WorkbookFactory这个类,该类在创建一个存在的Excel文件并读取内容时会用到,而这个类存在于:poi-ooxml-3.9.jar中,因此如果在apapche网站下载poi包时,需要引入这两个jar包; 本人在写程序的过程中遇到这个问题,特在此记录一下。...原创 2013-11-08 10:46:53 · 1607 阅读 · 0 评论 -
Struts 开发的最佳实践
Struts:简介Struts 是一种开源框架,可用来构建 Web 应用程序,它基于流行的 Model-View-Controller (MVC2) 设计范型。该框架构建在一些标准的技术之上,比如 Java Servlets、JavaBeans、ResourceBundles 和 XML,并且可提供灵活和可扩展的组件。Struts 以 ActionServlet 的形式实现了 Co...2009-04-15 10:39:00 · 82 阅读 · 0 评论 -
Java多线程同步设计中使用Metux
Mutex是互斥体,广泛地应用在多线程编程中。本文以广为流程的Doug Lea的concurrent工具包的Mutex实现为例,进行一点探讨。在Doug Lea的concurrent工具包中,Mutex实现了Sync接口,该接口是concurrent工具包中所有锁(lock)、门(gate)和条件变量(condition)的公共接口,Sync的实现类主要有:Mutex、Semaphore及其子类、...2012-01-14 00:03:00 · 143 阅读 · 0 评论 -
JAVA 条件表达式 陷阱
代码:Map<String, Integer> map = new HashMap<String, Integer>();map.put("count", null);Integer it = map == null ? 0 : map.get("count"); 注意:在第三行,会抛出java.lang.NullPointerException信...2012-07-25 18:34:12 · 170 阅读 · 0 评论 -
bloom filter 的Java 版
属于转贴:http://www.cnblogs.com/hitwtx/archive/2011/08/24/2152180.html一、 Bloom-Filter算法简介。 Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中,其优点是空间效率和查询时间都远远超过其他算法,其不足在于Bloom- Filter存在着误判。 二、...原创 2012-07-26 21:50:32 · 114 阅读 · 0 评论 -
源码剖析之sun.misc.Unsafe
首先介绍一下什么是Compare And Swap(CAS)?简单的说就是比较并交换。CAS 操作包含三个操作数 —— 内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值。否则,处理器不做任何操作。无论哪种情况,它都会在 CAS 指令之前返回该位置的值。CAS 有效地说明了“我认为位置 V 应该包含值 A;如果包含该值,则将 B 放...原创 2012-04-15 12:42:43 · 187 阅读 · 0 评论 -
Java 中的 wait 和 notify 实现的源码分析
在Oracle JVM 1.6 里面实现的object的wait 和notify方法是在synchronizer.cpp里实现。 先介绍2个对象:1. ObjectMonitor 对象 主要用来监视创立的Object 在synchronizer.cpp 里定义了,ObjectMonitor 的对象,我们来看ObjectMonitor的对象的结构体ObjectMonitor::ObjectMoni...原创 2012-04-15 14:30:25 · 109 阅读 · 0 评论 -
JVM分代垃圾回收策略的基础概念
由于不同对象的生命周期不一样,因此在JVM的垃圾回收策略中有分代这一策略。本文介绍了分代策略的目标,如何分代,以及垃圾回收的触发因素。文章总结了JVM垃圾回收策略为什么要分代,如何分代,以及垃圾回收的触发因素。为什么要分代分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。在Jav...原创 2012-08-15 12:43:08 · 78 阅读 · 0 评论 -
淘宝MetaQ开源消息队列安装
前提:: 安装zookeeper 首先你需要搭建自己的zookeeper集群,meta利用zookeeper做服务的注册和发现,以及默认情况下offset的存储。 安装java运行环境 第一步:下载安装包 从这里下载最新的metamorphosis服务器可运行包并在某个目录解压缩(或者checkout源码按上面的步骤打包出来)。解压出来的结构大概是这样 -你的目录 -taobao -m...原创 2012-05-14 20:11:03 · 186 阅读 · 0 评论 -
通过ApplicationContextAware获取spring容器中的bean
import java.util.Map; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; / * 以静态变量保存Spring ApplicationContext, 可在任何代码任何地方任何时候中取出Applica...原创 2012-05-15 09:26:46 · 166 阅读 · 0 评论 -
LINUX时间戳转换成日期
//Convert Unix timestamp to normal date style public String TimeStamp2Date(String timestampString){ Long timestamp = Long.parseLong(timestampString)*1000; String date = new java.text.S...原创 2012-05-18 13:53:52 · 411 阅读 · 0 评论 -
Spring中 继承
Spring 中的继承只是属性继承,定义为Abstract="true"的bean不会进行是实例化。实例分析:例1: <bean id="absDao" abstract="true" class="com.baidu.sns.base.dao.SnsbaseDao" > <property name="hibernateTemplate&qu2012-05-23 21:03:58 · 123 阅读 · 0 评论 -
c3p0详细配置
<c3p0-config> <default-config><!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --><property name="acquireIncrement">3</property><!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 --&g原创 2012-05-23 21:05:29 · 94 阅读 · 0 评论 -
Spring--quartz中cronExpression配置说明
字段 允许值 允许的特殊字符秒 0-59 , - * /分 0-59 , - * /小时 0-23 , - * /日期 1-31 , - * ? / L W C月份 1-12 或者 JAN-DEC , - * /星期 1-7 或者 SUN-SAT , - * ? / L C #年(可选) 留空, 1970-2099 , - * /Th...原创 2012-05-24 10:02:54 · 96 阅读 · 0 评论 -
浅谈java内存模型
不同的平台,内存模型是不一样的,但是jvm的内存模型规范是统一的。其实java的多线程并发问题最终都会反映在java的内存模型上,所谓线程安全无非是要控制多个线程对某个资源的有序访问或修改。总结java的内存模型,要解决两个主要的问题:可见性和有序性。我们都知道计算机有高速缓存的存在,处理器并不是每次处理数据都是取内存的。JVM定义了自己的内存模型,屏蔽了底层平台内存管理细节,对于j...原创 2012-10-30 19:29:57 · 100 阅读 · 0 评论 -
项目代码质量控制
在以后的开发项目时可以适当使用工具进行程序检查:1、FindBugs: 一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题–FindBugs发现的问题,大部分都是在Runtime过程中,会造成程序异常、错误的–FindBugs可以联系class所在包的上下文,对代码进行穿透检查,对隐藏的比较深层次的逻辑错误、资源操作问题等进...原创 2014-10-20 17:15:34 · 337 阅读 · 0 评论