java
文章平均质量分 86
iteye_13353
这个作者很懒,什么都没留下…
展开
-
java的继承与上溯
整理了下代码,这样看的会更清楚了。如下; Java代码 class Parent {int i = 1;String j = "Parent J";StringBuffer k = new StringBuffer("Parent:");public String getJ() {return j;}public int getI() {retu...2008-05-22 14:59:27 · 112 阅读 · 0 评论 -
说说单例模式
单例模式?多么简单!也许吧,可是要通过简单的现象,看到问题的本质,就比较难,知其然而不知其所以然,这种态度不好。 一:看看最简单的public class SingleInstance{ private static instance=new SinleInstance(); public static SingleInstance get...原创 2011-05-23 11:12:22 · 118 阅读 · 0 评论 -
关于hashcode和equals
前几天有个同事问我,String a="123",String b=new String("123");它们的hashcode相等吗?我当时愣了一下,首先它们的equals肯定是true的,“==”是false的,但是还真没注意到两个的hashcode是否相等。 后来我查了一下jdk文档,发现对String的hashcode是这样描述的:hashCodepub...2010-04-19 14:58:30 · 124 阅读 · 0 评论 -
java线程安全总结
最近想将java基础的一些东西都整理整理,写下来,这是对知识的总结,也是一种乐趣。已经拟好了提纲,大概分为这几个主题:java线程安全,java垃圾收集,java并发包详细介绍,java profile和jvm性能调优。慢慢写吧。本人jameswxx原创文章,转载请注明出处,我费了很多心血,多谢了。关于java线程安全,网上有很多资料,我只想从自己的角度总结对这方面的考虑,有时...2010-11-09 20:48:03 · 169 阅读 · 0 评论 -
线程安全总结(二)
关于线程安全总结(-)请看http://www.iteye.com/topic/806990 ,发该贴后,很多朋友都发站内消息问我一些问题,我把回复整理成一篇帖子。敬请高人手下留情,小可谢过了。 站内很多人都问我,所谓线程的“工作内存”到底是个什么东西?有的人认为是线程的栈,其实这种理解是不正确的。看看JLS(java语言规范)对线程工作内存的描述...2010-11-11 12:36:12 · 75 阅读 · 0 评论 -
说说new Integer和Integer.valueOf
看看这两个语句 Integer a=new Integer(1)Integer a=Integer.valueOf(1);两个都是得到一个Integer对象,但是Integer.valueOf的效率高。为什么呢?因为Integer.valueOf用到了缓存。看看Integer.valueOf的代码: public static Integer valueOf(...2010-11-11 15:04:02 · 215 阅读 · 0 评论 -
java动态代理随笔一
先说一下java class的加载机制和与class文件的关系:Java 程序的工作机制: Java 对象都以单独的 class 文件存在,java 虚拟机将其载入并执行其虚拟机指令。 class的加载与实例化 ...原创 2010-06-22 14:49:46 · 82 阅读 · 0 评论 -
java动态代理随笔二
jdk的动态代理是基于接口的,必须实现了某一个或多个任意接口才可以被代理,并且只有这些接口中的方法会被代理。看了一下jdk带的动态代理 api,发现没有例子实在是很容易走弯路,所以这里写一个加法器的简单示例。// Adder.javapackage test;public interface Adder { int add( int a, int b...原创 2010-06-22 16:29:06 · 111 阅读 · 0 评论 -
java动态代理之cglib
cglib是一个强大的高性能的代码生成包,他广泛的被许多的AOP框架使用,例如Spring AOP 和dynaop ,为他们提供方法的拦截(interception),最流行的OR Mapping 工具hibernate也使用CGLIB来代理单端single-ended(多对一和一对一)关联。在这里要说明的是,jdk提供了动态代理功能,但是被代理类必须要有接口,否则是生成不了代理的...原创 2010-06-22 17:27:53 · 113 阅读 · 0 评论 -
memcached客户端源码分析
memcached的java客户端有好几种,http://code.google.com/p/memcached/wiki/Clients 罗列了以下几种spymemcached * http://www.couchbase.org/code/couchbase/java o An improved Java API maintained by Matt I...原创 2011-09-08 17:28:36 · 381 阅读 · 0 评论 -
java内存查看与分析
业界有很多强大的java profile的工具,比如Jporfiler,yourkit,这些收费的东西我就不想说了,想说的是,其实java自己就提供了很多内存监控的小工具,下面列举的工具只是一小部分,仔细研究下jdk的工具,还是蛮有意思的呢:) 1:gc日志输出 在jvm启动参数中加入 -XX:+PrintGC -XX:...原创 2010-08-07 17:03:16 · 1011 阅读 · 0 评论 -
jstack和线程dump分析
一:jstackjstack命令的语法格式: jstack <pid>。可以用jps查看java进程id。这里要注意的是:1. 不同的 JAVA虚机的线程 DUMP的创建方法和文件格式是不一样的,不同的 JVM版本, dump信息也有差别。本文中,只以 SUN的 hotspot JVM 5.0_06 为例。2. 在实际运行中,往往一次 dump的信息,还不足以确认问题...原创 2011-05-12 13:48:57 · 2188 阅读 · 1 评论 -
java加密技术
在站内看到了一个java加密系列的好文章,博主很棒,一共有10篇第一篇地址:http://snowolf.iteye.com/blog/379860其他几篇都可以在第一篇里找到。原创 2010-02-08 15:32:50 · 76 阅读 · 0 评论 -
java堆栈
1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,J...2009-06-05 12:05:44 · 59 阅读 · 0 评论 -
深入研究Servlet线程安全性问题
Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的安全性问题。然而,很多人编写Servlet/JSP程序时并没有注意到多线程安全性的问题,这往往造成编写的程序在少量用户访问时没有任何问题,而在并发用户上升到一定值时,就会经常出现一些莫明其妙的问题。...2009-06-05 12:09:03 · 88 阅读 · 0 评论 -
常见笔试题目
前段时间因为要参加一个笔试,在准备期间在网上找到了两条关于笔试题目的文章,其中一篇为<<有感:应聘Java笔试时可能出现问题>>,还有一篇忘了名字,读后深受启发。 在寻找这些答案的过程中,我将相关答案记录下来,就形成了以下这些东西。需要说明的是以下答案肯定有很多不完整甚至错误的地方,需要各位来更正与完善它,千万不要扔我的鸡蛋啊。 希望本文能够给即将奔赴笔试考场的同仁些许帮助...原创 2008-10-09 12:11:03 · 271 阅读 · 0 评论 -
xml解析之四种方式
在平时工作中,难免会遇到把XML作为数据存储格式。面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历XML这块来测试,因为遍历XML是工作中使用最多的(至少我认为)。XML文件格式如下: <?xml version="1.0" encoding="GB2312"?><RESULT><VALUE> <NO>A1234</NO> ...原创 2008-10-09 12:16:40 · 111 阅读 · 0 评论 -
javamail 详解
摘要:JavaMail API是读取、撰写、发送电子信息的可选包。我们可用它来建立如Eudora、Foxmail、MS Outlook Express一般的邮件用户代理程序(Mail User Agent,简称MUA)。让我们看看JavaMail API是如何提供信息访问功能的吧!JavaMail API被设计用于以不依赖协议的方式去发送和接收电子信息,文中着重:如何以不依赖于协议的方式发送接收...2008-10-09 12:21:21 · 168 阅读 · 0 评论 -
使用了第三方类库的ejb如何打包
在实际项目中,我们经常需要使用第三方的类库。这些类库应该放在哪里?EJB应用一般都有被“卸出”(这里指装入的反向过程)的能力,这种能力由部署时装入它们的类装载器支持。如果我们把第三方类库放入应用服务器的标准类路径([jboss安装目录]\server\all\lib),这些类很可能完全失去被卸出的能力。这样,如果EJB应用要更新某个第三方类库的版本,重新部署EJB应用时,第三方...原创 2008-10-09 14:14:58 · 165 阅读 · 0 评论 -
jboss远程调试
一:修改JBoss启动配置 打开JBOSS_HOME/bin目录下的run.conf文件,找到: #JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y" 将其修改为: ...2008-10-09 14:17:02 · 102 阅读 · 0 评论 -
jboss下配置ssl
前提:在Windows XP/2000/2003 下安装并配置了JDK和JBoss4.0.5.GA,并能正常使用JBoss。即http://localhost:8080/能够出现Jboss页面。步骤:1.生成keystore开始->运行->cmd打开控制台,输入keytool -genkey -alias tomcat -keyalg RSA根据提示输入对应内容,效果如下:E:\...2008-10-09 14:20:02 · 131 阅读 · 0 评论 -
一波三折的rmi调用
很久以前写了基于rmi的分布式java程序,现在基本都忘记了,只有一个大概印象。今天写了个小例子复习了下,比较简单,主要在于使自己熟悉下api和部署过程。一共有4个java文件。 TestRemote.java import java.rmi.Remote; import java.rmi.RemoteException; p...原创 2010-08-18 18:02:52 · 209 阅读 · 0 评论 -
随便说说
这两天给系统加了一个基于hessian的远程服务,本来很简单的一个东西,却因为种种原因,发布过程颇为坎坷,确实系统业务和流程非常庞大复杂,我刚开始来,也确实对系统不熟悉,但是不管怎样,我应该反思。 和rmi,ejb等等分布式计算框架一样,hessian也是为了分布式计算。简单来说,一个基本的分布式计算应该解决如下的基本问题:1:远程服务的透明调用...原创 2010-09-01 19:29:48 · 115 阅读 · 0 评论 -
ThreadPoolExecutor相关类的分析
一:ThreadPoolExecutor 从 Java 5 开始,Java 提供了自己的线程池。线程池就是一个线程的容器,每次只执行额定数量的线程java.util.concurrent.ThreadPoolExecutor 就是这样的线程池。它很灵活,但使用起来也比较复杂。首先是构造函数。以最简单的构造函数为例:public ThreadPo...原创 2010-09-02 19:27:31 · 98 阅读 · 0 评论 -
CountDownLatch
java的并发包真是很好玩,有很多很有意思的东西。我比较懒,下面直接将jdk doc 对CountDownLatch的描述直接翻译过来。 CountDownLatch是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 用给定的计数 初始化 CountDownLatch。由于调用了 countDown()方法,所以在当前计数到达零之前,...原创 2010-09-02 20:03:17 · 84 阅读 · 0 评论 -
HashMap深入分析
java.util.HashMap是很常见的类,前段时间公司系统由于对HashMap使用不当,导致cpu百分之百,在并发环境下使用HashMap而没有做同步,可能会引起死循环,关于这一点,sun的官方网站上已有阐述,这并非是bug。HashMap的数据结构 HashMap主要是用数组来存储数据的,我们都知道它会对key进行哈希运算,...原创 2010-09-03 19:36:43 · 101 阅读 · 0 评论 -
hadoop架构
该文章我转自IBM开发者社区 Hadoop 是一个受到 Yahoo!、Google 和 IBM 等公司支持的 Apache 项目。本文将介绍 Hadoop 框架,并展示它为什么是最重要的基于 Linux® 的分布式计算框架之一。Hadoop 由 Apache Software Foundation 公司于 2005 年秋天作为 Lucene ...原创 2010-09-07 19:41:39 · 151 阅读 · 0 评论 -
dubbo问题总结
任何诡异的现象必然能找到问题原因,程序是不会骗人的一:特征一个对象远程传输,服务端是有值的,到客户端后该字段始终是空原因这个是序列化引起的,之前的文章里分析过hessian的序列化问题二特征今天同事碰到一个奇怪的问题,调用一个远程服务,客户端得到的对象某字段有时有值,有时为空,数据肯定是存在的,从服务端代码来看...原创 2012-03-14 10:00:03 · 315 阅读 · 0 评论