`
文章列表
JNDI集群 Jndi集群对于EJB也是非常重要的,因为几乎所有的EJB都是从JNDI调用开始的   共享全局JNDI树 Weblogic和JBOSS都使用一个全局的、共享的、分布在整个集群系统的JNDI树,对象被绑定到全局上下文,使用ip多播方式拷贝JNDI数据 图十四:全局共享JNDI
J2EE集群原理 什么是集群呢?总的来说,集群包括两个概念:“负载均衡”(load balancing)和“失效备援”(failover) 图一:负载均衡 多个客户端同时发出请求,位于前端的负载均衡器根据特定算法,将请求分担给比较空闲 ...
linux环境下,尝试了如下方法获得javacore文件,便于分析线程的状态: #./jstack <pid> >>javacore.001 然后通过jca软件进行分析。   通过如下命令获得dump文件,便于分析内存分配情况: #./jmap -dump:format=b,file=dump.001 <pid> 然后通过jca、MemoryAnalyzer等软件分析内存分析情况。   留作记号。
由于数据量的巨大,大部分Web应用都需要部署很多个数据库实例。这样,有些用户操作就可能需要去修改多个数据库实例中的数据。传统的解决方法是使用分布式事务保证数据的全局一致性,经典的方法是使用两阶段提交协议。 ...
数据库使用:隐式转换-》索引失效-》严重性能问题 程序中使用隐式转换是一个很不好的编程习惯,不仅不能客观反应出数据库如何真正地处理数据,而且还会带来一些隐藏的性能问题,下面就是一个示例,说明varchar2与number之间隐式转换导致索引失效,最终导致可以使用索引的地方使用全表扫描,带来严重的性能问题… 下面做个小试验: SQL> set autotrace on explain   <---打开执行计划监控 SQL> create table t ( id varchar2(20)); Table created. Elapsed: 00:00:00.04 SQL> ...
今天帮助项目组分析websphere 7下的线程挂起问题,现象如下:   后台日志抛出类似下面的异常: 线程“WebContainer : 6”(0000001f)已保持活动状态 621077 毫秒,此线程可能已挂起。在服务器中共有 1 个线程可能处于挂起状态。   问题分析: 线程或数据库存在锁的现象,决定采用jca分析工具分析javacore文件,看哪个线程有锁。   问题排查过程: websphere服务器端(suse Linux)执行如下命令: ps -ef|grep java   查找webpshere的进程,再调用: kill -3 pid   动态生成 ...
使用 UE 打开 class 文件,第一行内容:00000000h: CA FE BA BE 00 00 00 32 00 A9 07 00 02 01 00 37 前四个字节为固定的 CA FE BA BE ,接下来的四个字节为次版本号(0000)和主版本号(00032)。32:JDK1.631:JDK1.530:JDK1.42F:JDK1.3
编码无处不在。Database, file, editor, IDE, compiler, browser。 代码(比如java, jsp, asp, php, python, ruby etc)里面的字符串比较麻烦,涉及到editor, compiler, interpreter等等。 所以,我的做法是,从来不在代码里面直接写字符串资源,尤其是双字 ...
最近为公司框架提供了基于ID的单例的任务调度基类,用于集群的环境下,一个任务同一时间只能被调度一次。   接口声明继承该基类的任务需要覆盖两个抽象函数:        protected abstract String getServiceID();//服务ID,与数据库中的和timeservice.xml中的要配置相同                protected abstract void doTask();//执行任务,需覆盖的业务方法   实现机理 每个任务要有唯一的ServiceId,该任务在t_s_sys_timeservice 中有一条记录,同时有一个state记录 ...
提供了jps,jmap,jconsole,jstat几个比较实用的小工具,试用了jps和jmap感觉比较有用。   jps用来查看当前java的进程,其实它的功能可以基本上由ps来实现。例如:   jps -mlvV   jmap用来查看给定一个进程或者是调试服务器共享对象之间的映射以及堆中的细节,比较常用的命令:    jmap -histo <pid> > <out.log>  //<pid>为进程号,<out.log>为输出文件 比如:    jmap -histo 3312 > a.log
大家在开发J2EE应用时可能经常碰到OOM的问题。出现这种问题的原因就是内存消耗殆尽,创建新的对象时没有可分配的内存了。为了找到真正导致OOM的原因,这里将使用IBM heapAnalyzer工具进行定位。   首先要知道,IBM heapAnalyzer是通过分析OOM后的Java heap dump文件的,通过对dump文件的分析找到内存可能泄露的点。了解这个之后,我们首先需要生成dump文件,这里我可以编写一个小程序,如: public class Test { /**  * @param args  */ public static void main(String[] args) ...
项目中遇到这类问题,比如“优褅股份”,采用GBK编码可以,如果采用GB2312编码的话,XML文件中会生成“优&#x8905;股份”,显然“褅”超出了他的编码范围,那么按照XML标准,将其采用UINCODE的统一编码格式进行编码。 这样对于公司EDI产品,如果编码采用GB2312编码,解码采用GBK,那么由于编码时生成“优&#x8905;股份”,能正常解码,如果编码采用GBK,解码用gb2312,那么由于gb2312无法识别“褅”,将解码失败。   如下示例:db2xml(gb2312)-->String(Unicode)-->bytes(gb2312)---传 ...
访问https提示证书不可信的问题 1、从CA中心下载根证书,安装根证书到“受信任的根证书颁发机构”2、检查Internet选项中的高级设置,注意SSL和TLS的版本,可适当降低TLS的版本,如下所示:  
公司的数据交换平台产品,采用的系统星型结构,底层基于成熟的消息中间件进行数据传输,由于星型结构,中心节点比较容易形成性能的瓶颈,为例解决这个问题,采用了MQ Cluster的方式,部署结构如下所示:     在 Cluster ...
防止SQL注入的一种方法是称为参数化查询的技术。   这种方法非常有效,因为它可以非常严密地控制SQL语句的组成结构。   具体java程序而言就是采用PreparedStatement。
Global site tag (gtag.js) - Google Analytics