Java技术
文章平均质量分 80
BU_BetterYou
请用一段话来描述您自己,如性格、爱好、生活态度、工作情况、受教育状况等。让大家更了解你,不要超过1000个汉字。
展开
-
由数据库的锁机制想到的——使用读写锁实现应用服务器数据缓存
可能你碰到过需要在服务器中缓存数据的情况。缓存数据用来对查询的请求做出响应。在其中可能会使用一个线程来监听对缓存的更新事件。该线程作为这些事件的响应最终对缓存数据进行修改。 这就产生了一个问题,也就是不太可能让服务于查询请求的线程和更新缓存的线程同时对缓存进行操作。当然,可以使用诸如Java同步之类的排他锁来处理这个问题。但这种方法从性能的角度来考虑几乎是最差的。本博文将使用效率更高原创 2008-05-06 17:04:00 · 1991 阅读 · 1 评论 -
Java EE应用中的性能问题解决方案 — 第二部分 Java EE线程池调整优化(A)
声明:本文禁止未经本人同意的任何形式转载!如有转载需求,可与本人通过个人资料中的电子邮箱联系。对于未经同意的转载,本人将保留进一步行动的权利线程池当Web应用服务器接收到一个请求后,它将请求放置到请求队列,让执行线程来处理,这就是Web应用服务器的主要入口途径。在对内存进行调优后,对应用影响较大的调优选项就是对执行线程池的尺寸配置。线程池的大小控制着并发处理请求的能力。如果线程池太小,请求翻译 2008-06-02 10:19:00 · 1247 阅读 · 0 评论 -
Java EE应用中的性能问题解决方案 — 第二部分 Java EE线程池调整优化(B)
声明:本文禁止未经本人同意的任何形式转载!如有转载需求,可与本人通过个人资料中的电子邮箱联系。对于未经同意的转载,本人将保留进一步行动的权利Java的调优文档中很少建议确切的线程池大小的值。因为该值关系到应用的具体情况,比如简单和复杂类型的应用就不能混为一谈。 一个应用从内存中检索字符串并转发到JSP页面做展现。 另一个应用,从数据库中检索1000条记录,并计算翻译 2008-06-03 10:49:00 · 1759 阅读 · 0 评论 -
Java EE应用中的性能问题解决方案 — 第三部分 JDBC调整优化
声明:本文禁止未经本人同意的任何形式转载!如有转载需求,可与本人通过个人资料中的电子邮箱联系。对于未经同意的转载,本人将保留进一步行动的权利JDBC连接池大部分Java EE应用都需要通过JDBC连接后台数据库。因为创建数据库连接的消耗的资源巨大,所以应用服务器都选择缓存一定数量的连接对象并在各个请求处理之间共享。如果请求需要数据库的连接,但连接池中已经不能提供空间的连接,也不能创建一个新翻译 2008-06-04 13:12:00 · 1220 阅读 · 0 评论 -
Java字节码揭秘——第二部分
Java字节码分类JVM字节码集合基本上是分为几个不同的大类的。我们不会逐一介绍字节码的操作符,我们讨论类别,然后着重拿出一些常用的操作符,其余的均可通过JVM规范来获取详情。 堆栈操作。 pop、pop2:将堆栈的值弹出。pop2用来弹出64位的值,pop用来弹出32位的。 dup、dup2:复制堆栈顶端的值。用来形成高效的pop/push/push组翻译 2008-06-17 11:09:00 · 3788 阅读 · 0 评论 -
Java字节码揭秘——第一部分
写在前面这一两年,在JVM上使用其他替代语言越来越热门了。现在至少有三门语言有幸在Java Community Process中得到了官方认可:JRuby、Groovy和Bean-Shell。另外,代号为野马(Mustang)的Java 6发布了包含了一个专为封装不同脚本引擎的API层,就像JDBC访问数据库的模式一样。再加上Java版本5也在语言本身上做了很大的调整。总之,就像我之前翻翻译 2008-06-16 14:12:00 · 13502 阅读 · 7 评论 -
Java字节码揭秘——第三部分
接上一部份: 以下是一个简单的异常处理例子: public class ExFun{ public static void main(String[] args) { try { System.out.println("In tr翻译 2008-06-18 13:41:00 · 3092 阅读 · 0 评论 -
Java字节码揭秘——第四部分
实践中的Java字节码对Java字节码有了一定了解之后,我们可以来看看一些常用的和熟悉的Java语言的内容是如何与字节码映射的,也可以获得一些Java实现的细节内容。 Java 5:自动封装(autoboxing)Java 5版本的一个新特性是自动封装(autoboxing),基础数据类型因语义环境的需要能转换成为对象类型,例如: public class Autobox翻译 2008-06-19 10:09:00 · 4065 阅读 · 0 评论 -
RIA(Rich Internet Application)的现状和未来
影响软件开发的因素RIA的降临很大程度上导致了web应用开发的复杂化。传统的web应用使用标准HTML建立,通过相对简单的软件架构设计开发,管理也相对简单。而RIA在SLM(软件级别管理)方面的新问题,直到现在也没有完全解决。RIA的架构使以下方面的管理过程复杂化: 复杂度的增加导致开发难度加大。将代码搬到客户端上,让设计和开发人员能够充分发挥它们的创造力。但是,这样所导致的开翻译 2008-06-24 17:09:00 · 1345 阅读 · 0 评论 -
Java EE应用中的性能问题解决方案 — 第一部分 内存溢出的解决办法及JVM内幕(D)
声明:本文禁止未经本人同意的任何形式转载!如有转载需求,可与本人通过个人资料中的电子邮箱联系。对于未经同意的转载,本人将保留进一步行动的权利可能较多数量的对内存泄露的错误判断来自会话部分。会话部分并不会泄露任何内存。它消耗内存,表面上很像内存泄露,但最终会话内存还是会被回收的。如果应用服务器内存溢出,要想知道这个溢出情况是由于内存泄露引起的还是由于对会话管理不善造成的,最好的办法是停止对应用翻译 2008-05-30 10:07:00 · 1601 阅读 · 0 评论 -
Java EE应用中的性能问题解决方案 — 第一部分 内存溢出和JVM内幕(A)
声明:本文禁止未经本人同意的任何形式转载!如有转载需求,可与本人通过个人资料中的电子邮箱联系。对于未经同意的转载,本人将保留进一步行动的权利!Java EE的应用,无论部署至哪种应用服务器上,都可能遇到一些性能的问题。在此,我们将介绍一些通用的性能问题及解决方案。在性能调整和优化中,首先需要了解客户的问题。通过架构、现象等方面寻找可能影响Java EE性能的可能方面。所以本文中列举的是一些翻译 2008-05-27 16:01:00 · 2246 阅读 · 4 评论 -
意图去Java化的Sun(看见一篇BLOG,翻译后与大家共享)
Sun公司的CEO Jonathan Schwartz(乔纳森·斯瓦茨)在今年2月份的“SugarCRM Customer and Developer Conference”(SugarCRM客户与开发人员大会)上的一段表述并没有引起人们的兴趣:“我认为大家能从Sun的身上看见我们正在将‘JVM’中的‘J’去掉,让它成为‘VM’。” 等等,下面进行倒带。他的意思是要把Java剔出JVM?翻译 2008-05-26 16:05:00 · 1273 阅读 · 0 评论 -
Java EE集群技术初探——第二部分(什么是Java EE的集群)
Java EE集群 总的来讲,Java EE集群技术包括“负载均衡”和“失败转移”两个部分。 在上图中,“负载均衡”即指由许多客户端对象(Client Object)同时请求目标对象(Target Object)。负载均衡器位于调用方和被调用方中间,可以将请求分发至功能相同但位置不同的目标对象中。高性能和高可用性都可通过这种方法实现。 如上图,“失败转翻译 2008-05-15 12:57:00 · 3165 阅读 · 0 评论 -
Java EE集群技术初探——第六部分(JNDI集群的实现)
JNDI集群的实现 Java EE规范要求Java EE容易需要提供对JNDI规范的实现。在Java EE应用中,JNDI的主要角色就是提供了一个中间层,资源可通过较为透明的方式获得。这使Java EE组件提高了重用度。 具有完整功能的集群JNDI是Java EE集群的重要内容,因为几乎每个EJB组件都从查找(lookup)其JNDI树的home接口开始。各个厂商实现JNDI翻译 2008-05-15 13:22:00 · 2036 阅读 · 0 评论 -
Java EE集群技术初探——第一部分(对一些术语的解释)
Java EE集群技术初探 越来越多的任务关键型与大规模应用运行在Java EE技术上。有的应用例如银行的或者是记费系统需要越来越高的高可用性(HA),另外一些应用比如像Google或者是Yahoo则需要越来越好的可扩展性。eBay在99年的22小时宕机,造成230万笔交易的中断,影响其股价下跌9.2%。这个示例充分证明了高可用性和可扩展性在今天变得越来越重要。 Java E翻译 2008-05-15 12:52:00 · 3062 阅读 · 1 评论 -
Java EE集群技术初探——第三部分(Web层集群的实现)
Web层集群实现Web层的集群技术是Java EE集群技术中最基础且最重要的部分。Web集群技术包括:Web负载均衡与HTTPSession失败转移。 Web负载均衡Java EE的供应商通过多种方式实现Web负载均衡。总的来说,负载均衡器在浏览器和Web服务器之间进行监听,如下图:诸如F5负载均衡器这样的硬件产品可以担当这个工作,也有可能是一个有负载均衡插件的另一翻译 2008-05-15 13:05:00 · 1878 阅读 · 0 评论 -
Java EE集群技术初探——第四部分(各大厂商的产品如何Web层集群)
“JavaGroups”是目前JBoss 和Tomcat集群使用的通信层。JavaGroups是一套可靠的组合通信和管理工具包。其中的核心功能,如“组员协议”与“消息多播”技术,是支持集群正常工作的重要基础。具体内容可以参考http://www.jgroups.org/javagroupsnew/docs/index.html。 Tomcat:多服务器复制有很多种内存复制的办法,翻译 2008-05-15 13:12:00 · 1397 阅读 · 1 评论 -
Java EE集群技术初探——第五部分(Web层集群实现技术中尚需要考虑的问题)
性能问题考虑一下这样的场景:一台Web服务器可能驻留了很多Web应用,每个Web应用都同时有几百个并发用户,每个用户将生成特定的浏览器会话。所有这些会话信息都将被备份下来以防服务器实例失败。更有甚者,会话时时刻刻都在改变:会话创建、过期;会话中的属性添加、修改与移除;为了判断会话何时过期,会话最后修改时间也随着访问时间而改变。所以性能就成为会话失败转移解决方案中的关键问题。厂商总会为你提翻译 2008-05-15 13:17:00 · 1228 阅读 · 0 评论 -
Java EE集群技术初探——第七部分(EJB集群的实现)
EJB集群的实现EJB是Java EE重要的组成部分,实现EJB的集群也是最具挑战的部分。 EJB技术也来源于分布式计算,可在独立的服务器上运行。Web服务器组件或胖客户端能从其他计算机通过标准RMI/IIOP协议访问EJB组件。调用远程EJB的方法和调用本地Java对象的方法一样。实际上,RMI-IIOP完全实现了对本地/远程调用的透明性。上图展示了调用远程EJ翻译 2008-05-15 13:28:00 · 1614 阅读 · 0 评论 -
Java EE集群技术初探——第八部分(关于Java EE集群的误区)
关于Java EE集群的误区 失败转移能完全避免错误。——否在JBoss的文档中,我看见一段警告:“真的需要HTTPSession复制么?”当然,有的时候不带失败转移的高可用解决方案是可接受,而且也很划算。而且,失败转移的功能并不像想象中的那样强大。 那到底失败转移能带来些什么呢?有的人认为失败转移能避免错误。事实上,如果没有失败转移,当服务器失败时会因会话数据的丢失产生翻译 2008-05-15 13:30:00 · 1691 阅读 · 1 评论 -
RIA(Rich Internet Application)的现状和未来
RIA简介 RIA最近提得比较火了,在前面的博客文章《意图去Java化的Sun》中提到的JavaFX和Adobe Flex、Adobe AIR都是属于RIA的范畴。那究竟什么RIA,RIA的现状和将来的发展道路如何,在这里可以简单聒噪两句。 RIA,英文原文是Rich Internet Application,是旨在提供传统桌面型应用功能的web应用。RIA通常将用户接口(U翻译 2008-06-23 16:11:00 · 1820 阅读 · 0 评论