
Java
文章平均质量分 71
iamxi
这个作者很懒,什么都没留下…
展开
-
string,stringbuffer和stringbuilder的区别详解
简要的说,String类型和StringBuffer类型的主要性能区别其实在于 String 是不可变的对象,因此在每次对String类型进行改变的时候其实都等同于生成了一个新的 String对象,然后将指针指向新的String对象,所以经常改变内容的字符串最好不要用 String,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, JVM 的GC就会开始工作,那速度是一定会...原创 2011-05-27 22:03:18 · 80 阅读 · 0 评论 -
【转】Java内存查看与分析
业界有很多强大的java profile的工具,比如Jporfiler,yourkit,这些收费的东西我就不想说了,想说的是,其实java自己就提供了很多内存监控的小工具,下面列举的工具只是一小部分,仔细研究下jdk的工具,还是蛮有意思的呢: 1:gc日志输出 在jvm启动参数中加入 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGC...原创 2011-11-02 17:46:48 · 85 阅读 · 0 评论 -
【转】Java缓存技术介绍(JCS开源项目)-----索引磁盘备用缓存
对于JCS索引磁盘备用缓存是一个可选的插件,它主要的目的提供一个二级缓存,从而降低缓存对内存的压力。当内存缓存超出了最大值时,缓存处理会检查看是否为存储区配置了”disk”类型的备用缓存,如果使用了被索引的磁盘备用缓存,缓存中心会把从内存中删除的缓存项目保存到磁盘。磁盘索引 被索引的磁盘备用缓存(The Indexed Disk Auxiliary Cache)是磁盘缓存的最快模式...原创 2011-11-04 16:26:32 · 214 阅读 · 0 评论 -
【转】用Java缓存机制创建更快的Web应用----基本用法
学习JCS的基本原理的一个好的方法是看它的API的最一般的用法。从缓存区自身的初始化开始是最好的地方。通过初始化JCS缓存区对象,你会获得访问缓存区所需要的几乎所有的共通方法。下面列出了初始化JCS对象并取得默认的缓存区实例的方法: // Initialize the JCS object and get an instance of the default cache r...原创 2011-11-04 16:33:57 · 102 阅读 · 0 评论 -
【转】用Java缓存机制创建更快的Web应用----简介和配置
Web开发人员通过Java的缓存功能可以方便快捷的改善应用程序的性能。对于java应用程序来说,一个强大的分布式Java缓存系统(JCS),是用简单的API就可以进行高度配置的工具。这篇文章概要的介绍了JCS,并且展示了怎样用它为Web应用程序提速。 很多的桌面应用程序正在被重写成Web应用程序,理想情况下,被重写后的应用程序应该和桌面版本的应用程序一样快捷并且具有可伸缩性...原创 2011-11-04 16:36:12 · 112 阅读 · 0 评论 -
正确使用Volatile 变量
原文:http://www.ibm.com/developerworks/cn/java/j-jtp06197.htmlJava 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文介绍了几...原创 2012-01-19 13:26:15 · 95 阅读 · 0 评论 -
JAVA可变参数方法及它的重载
JAVA支持方法的可变参数。类似如下public void method1(String... arg1); 这样,调用method1时候,参数的数量是可变的,如method1("1","2","3")。注意可变参数只能是最后一个参数。JAVA内部是把这样的参数看成一个数组来处理。在获取多个参数的时候可以用数组遍历来完成。for (String temp : arg1) {...原创 2012-04-28 14:22:59 · 465 阅读 · 0 评论 -
apache jcs cache system 使用配置简介
一 词汇理解 Elements:目前的理解是要被放进 Caching System 的对象Regions:你可以将 Caching System艺命名空间区域划分提供基本的 namespace 功能。这样有什么样的好处呢?每一区的需要更新的频率不太一样,可以分开设定。Auxiliaries:Auxiliaries 是可以让 Regions 使用的 plug-in,基于磁盘序列...原创 2011-11-08 17:26:26 · 173 阅读 · 0 评论 -
Clone使用方法详解
Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别。和C语言一样,当把Java的基本数据类型(如int,char,double等)作为 入口参数传给函数体的时候,传入的参数在函数体内部变成了局部变量,这个局部变量是输入参数的一个拷贝,所有的函数体内部的操作都是针对这个拷贝的操作, 函数执行结束后,这个局部变量也就完成了它的使命,它影响不到作为输入参数...原创 2012-03-12 14:23:12 · 159 阅读 · 0 评论 -
【转】JAVA 单例模式与多线程
单例模式单例模式是一种常见的设计模式,分三种:懒汉式单例、饿汉式单例、内部类单例、登记式单例几种。单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。懒汉模式不是线程安全的,饿汉模式是线程安全的,内部内模式利用Classloader的特,注册表模式是线程安全的同时又提供运...原创 2011-11-02 17:29:32 · 90 阅读 · 0 评论 -
[转载]EJB3.0的各应用服务器提供的JNDI接口
原文出自.№爱の冰封的博客关于JNDI and EJB ,作者:冰封的爱 JNDI (The Java Naming and Directory Interface,Java 命名和目录接口) 是一组在Java 应用中访问命名和目录服务的API。为开发人员提供了查找和访问各种命名和目录服务的通用、统一的方式。借助于JNDI ...原创 2011-08-04 17:02:56 · 94 阅读 · 0 评论 -
Java语言中定义常量注意事项解析
一、常量定义的基本注意事项。 在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字)来定义常量。当常量被设定后,一般情况下就不允许再进行更改。如可以利用如下的形式来定义一个常量:final double PI=3.1315。在定义这个常量时,需要注意如下内容: 一是常量在定义的时候,就...原创 2011-07-19 22:06:17 · 292 阅读 · 0 评论 -
【转】JAVA死锁解密
一般来说,每一种使用线程的语言中都存在线程死锁问题,Java开发中遇到线程死锁问题也是非常普遍。笔者在程序开发中就常常碰到死锁的问题,并经常束手无策。本文分享笔者在JAVA开发中对线程死锁的一些看法。 一. 什么是线程 在谈到线程死锁的时候,我们首先必须了解什么是Java线程。一个程序的进程会包含多个线程,一个线程就是运行在一个进程中的一个逻辑流。多线程允许在程序中并发执行...原创 2011-06-17 11:17:49 · 89 阅读 · 0 评论 -
Servlet容器如何采用单实例多线程的方式来处理请
如题:servlet采用单实例多线程模式开发的 问题一:说明其Servlet容器如何采用单实例多线程的方式来处理请求 问题二:如何在开发中保证servlet是单实例多线程的方式来工作(也就是说如何开发线程安全的servelt) 一. Servlet容器如何同时来处理多个请求 先说明几个概念: 工作者线程Work Thread:执...原创 2011-06-21 19:28:36 · 225 阅读 · 1 评论 -
静态代码块(static{})详解
静态代码块:即在类中的标有static修饰符的代码块,如:[code="java"]static{ //代码}[/code]与一般代码块的异同: 相同点:都是在JVM加载类时且在构造方法执行之前执行,在类中都可以定义多个,一般在代码块中对一些static变量进行赋值。 不同点:静态代码块在非静态代码块之前执行。静态代码块只在第一次...原创 2011-06-27 16:28:37 · 662 阅读 · 0 评论 -
memcached全面剖析–PDF
今天看到了Memcached,虽然不是什么新技术,不过之前没用过,说以网上找了点资料,看着不错,就放到这里来了。是PDF文件,有需求的可以下载。转人家贴,至少要留个作者名原作者charlee、原始链接[url]http://tech.idv2.com/2008/08/17/memcached-pdf/[/url]原来的各篇翻译的地址如下: 第1章:[url]htt...原创 2011-06-30 15:07:02 · 269 阅读 · 0 评论 -
Java代码优化方案 J2ME内存优化
原文出处:[url]http://www.cnblogs.com/yangyh/archive/2009/08/13/1544819.html[/url]从几本书上,N个网站上整理的一些JAVA代码优化方案,最近的项目只有1M内存可用,必须很抠门了~J2ME项目更要注意的避免内存溢出l 不用的对象释放(置空)如 :a不为空时 a=new object()//这句...原创 2011-07-06 17:55:28 · 111 阅读 · 0 评论 -
Java异常处理之违背优秀编码规范的常见坏习惯
你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗?[code="java"]OutputStreamWriter out = ...java.sql.Connection conn = ...try { // ⑸ Statement stat = conn.createStateme...原创 2011-07-07 09:31:16 · 175 阅读 · 0 评论 -
【转】EJB3.0 EntityManager及相关概念
EntityManager概念图 基本概念EntityManager称为实体管理器,它由EntityManagerFactory所创建。EntityManagerFactory,作为EntityManager的工厂,包含有当前O-R映射的元数据信息,每个EntityManagerFactory,可...原创 2011-07-12 17:47:14 · 143 阅读 · 0 评论 -
对Final参数的的一些理解
今天在看《程序员修炼之道》的时候看到了以”final“来修饰的方法参数,想起了之前在项目中也有人这么写,当然知道final修饰的属性无法被变动的,但是用在参数中,除了无法让其修改参数外,还有什么深意么?处于好奇就google了下。 在《Thinking in Java》中有这么一句:Java允许在参数列表中以声明的方式将参数指明为final。这意味着你无法在方法中更改参数...原创 2011-07-14 14:46:40 · 180 阅读 · 0 评论 -
Mybatis返回特殊Map
想返回个特殊实体,一个Map,key是一个表的一个字段的值,value是另一个表的所有记录。参考了下网上的“攻略”,不过和攻略里面讲的有点不同,那里面key的值value的实体实在同一个表内,如果不同表,会报缺少set方法的异常。解决方法很简单,就是在实体里面加个字段对应的属性。但是并不愿意为了一个查询语句就要去改变实体。 无聊看了下session的select,提供了通过ResultHa...原创 2012-08-04 22:33:21 · 348 阅读 · 0 评论