Java
cza55007
这个作者很懒,什么都没留下…
展开
-
EJB调用机制
由于EJB的调用过程对开发者来说是透明的,以至于我们错误地认为lookup()方法返回的对象就是Bean实例。实际上,客户端与Session Bean交互时,它并不直接与Bean实例打交道,而是经由Bean的远程或本地接口。当调用远程或本地接口的方法时,接口使用的是存根(Stub原创 2011-09-06 13:07:12 · 913 阅读 · 0 评论 -
基于Dev C++开发JNI
1.准备一JAVA类package basesdk.tech.jni;public class TestHello { static { //TestHello2.dll文件需要放到jre/bin目录下,否则报文件找不到. System.loadLibrary("TestHello2"); } public static native void hello(String原创 2012-03-02 17:31:24 · 1029 阅读 · 0 评论 -
JVM学习笔记--语法糖之 自动装箱的陷阱
JVM的自动装箱、自动拆箱语法糖看起来虽然简单,但也不见得就没有任何值得我们注意的地方,下面代码演示了自动装箱的一些错误用法:public class SyntaxSugarTest { public static void main(String[] args) { Integer a = 1; Integer b = 2; Integer c = 3; Inte原创 2011-11-27 13:52:37 · 1000 阅读 · 0 评论 -
java case 3:方法区(PermGen)内存快速飙升问题
欢迎访问:http://www.cloudnoter.com/?p=143自从平台升级到3.0后,应用的JVM变得非常不稳定,主要体现为以下三个问题:1.内存泄漏:2G的JVM,2天就崩。2.方法区内存持续飙升,最终导致频繁的触发FullGC3.class load频繁导致CPU有30%的资源浪费在写之前先吐槽下:这个自研的JPA组件真TM坑人,放着开源的不用,非得自己原创 2015-05-27 01:56:46 · 5173 阅读 · 1 评论 -
嵌套删除SQL引起的死锁问题分析
应用系统后台有两个计划任务每天1:00定时删除N天前的计划日志表数据每隔5分钟统计AP终端在线用户数并更新计划日志表某一条记录的状态原创 2016-02-27 14:00:20 · 1066 阅读 · 0 评论 -
JNI引起的堆外内存泄漏问题分析
欢迎访问独立博客:tech.simiam.com背景客户现场的监控系统中有一个网络听诊器功能,其每隔1分钟会对全网设备进行ping操作,以此来尽可能快的发现设备及网络是否出现异常。暂且不说通过该功能来对设备及网络作健康检测是否靠谱。由于JAVA对于网络层以下的协议是无能为力的,而ping操作涉及ICMP与ARP协议,因此监控系统只能借助JNI机制来搞定。BUG现象监控系统的java.exe进程每隔几原创 2016-02-27 14:06:22 · 4130 阅读 · 2 评论 -
Java小问题汇总
欢迎访问本人博客(http://cloudnoter.com)查看中文版本1. 新版Eclipse Neon运行Junit报NPE问题描述:在Eclipse中创建单元测试用例(项目依赖的版本为junit-4.4)时,报如下错误java.lang.NullPointerException at org.eclipse.jdt.internal.junit4.runner.SubForest原创 2017-05-03 16:14:52 · 373 阅读 · 0 评论 -
[Guava源码阅读笔记]-Basic Utilities篇-1
写该系列文章的目的是记录Guava源码中个人感觉不错且值得借鉴的内容。一、MoreObjects类//MoreObjects.ToStringHelper类的toString()方法:对于字符串拼接的写法蛮不错的,此前本人一直用比较挫的方式:不管三七二一,先拼接然后再subString()@Override public String toString() { /原创 2015-06-06 20:38:12 · 1211 阅读 · 0 评论 -
Ant学习笔记1
以前一直都用eclipse进行项目构建、编译、测试、部署,所有的一切都依赖于IDE。如果离开IDE(比如需要在某台linux机器上进行开发,没有GUI界面),则想调试将比较难(因为本地有时无法模拟生产机器的环境),于是最近利用空余时间看了下Ant构建方面的资料,整出如下build.xml: <!-- =============================================原创 2011-06-22 20:44:00 · 457 阅读 · 0 评论 -
apache.commons.NET.FTP使用小结
啥也不说,先上代码:/** * Desc:FTP工具,实现上传、下载功能 * Author:chenza * Date:Feb 17, 2011 3:27:42 PM **/package com.chenza.ftp;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;原创 2011-12-14 14:22:28 · 1245 阅读 · 0 评论 -
JDK高级特性--有限通配符泛型
详见代码:/** * 类功能描述: * Author:chenza * Date:2011-12-23 上午12:17:53 */package basesdk.tech.generic;import java.util.ArrayList;import java.util.List;import basesdk.tech.Human;import原创 2011-12-23 00:37:12 · 868 阅读 · 0 评论 -
JAVA语法:子类成员覆盖父类成员时的现象
1.重温JAVA语法:如父类Father与子类Son:class Son extends Father{ public String name = "son"; public void say(){ System.out.println("i am " + this.name); } public static void main(String[] args){ F原创 2012-01-21 00:53:05 · 1703 阅读 · 0 评论 -
关于JAVA多线程编程的一点笔记
1.Future类的使用:用于跟踪线程池中某一线程的执行状态2.抽象类可以有构造方法,该构造方法可供子类的构造方法调用,但该抽象类不能直接实例化。相关代码如下:/** * 类功能描述: * Author:chenza * Date:2012-4-26 下午10:23:36 */package test.tech.concurrent;public interface IR原创 2012-04-26 23:59:42 · 752 阅读 · 1 评论 -
Linux下JAVA开发常见问题
Q:【JDK安装配置】Linux发行版本默认使用openjdk,如何使用sun jdk?A:1.下载sun版本jdk-xxxxx-xxx.tar.gz,解压至某目录(如:/opt/java/jdk),并设置JAVA_HOME2.sudo update-alternatives --install /usr/bin/java java $JAVA_HOME/bin/java 777原创 2014-09-01 21:20:42 · 937 阅读 · 0 评论 -
log4j日志记录简析
log4j的日志系统包含两个主要概念:Logger与Appender,前者负责触发日志记录动作,后者决定日志输出至何处。各个Logger实例之间可能存在父子关系,所有实例都有一个共同的root Logger实例,如下文的第一行的rootCategory就是root Logger实例。log4j示例文件如下:log4j.rootCategory=info,stdout# CONSO原创 2014-06-11 15:15:36 · 2946 阅读 · 0 评论 -
JVM学习笔记-虚拟机栈和本地方法栈溢出
关于虚拟机栈和本地方法栈,在JAVA虚拟机规范中描述了两种异常:1.如果线程请求的栈深度大于虚拟机所允许的最大深度,将抛出StackOverflowError异常:个人感觉应该分为栈深度导致,及该线程所用栈内空间溢出所致。2.如果虚拟机在扩展栈时无法申请到足够的内存空间,则抛出OutOfMemoryError异常。 上述虽把异常分2种,但需要注意:当栈空间无法继续分配时,到底是内存原创 2011-10-12 16:48:02 · 1515 阅读 · 0 评论 -
JVM学习笔记--垃圾收集机制(1)
一、对象何时可回收: 由于JAVA堆中存放着应用中的大部分对象实例,垃圾收集器在对堆进行收集前需要确定哪些对象实例应该回收,哪些不需要,这时就有相关的判断对象是否可回收的方法:引用计数算法、根搜索算法,其中后者是主流算法。这个算法的基本思路是通过一系列的GC ROOT对象作为搜索起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当从GC ROOT到某一个对象不可达时,则证明此对象是可原创 2011-09-05 22:25:31 · 522 阅读 · 0 评论 -
JVM学习笔记--Java运行时数据区域
---------------------声明:本学习系列主要为学习周志明先生的《深入java虚拟机--JVM高级特性与最佳实践》的笔记,并非原创,特此声明。 根据《java虚拟机规范》的规定,Java虚拟机运行时所管理的内存将会包括以下几个运行时数据区域:1、程序计数器:顾名思义,其作用是作为当前线程所执行的字节码的行号指示器,它是线程私有的。2、java虚拟机栈:它描述原创 2011-08-22 21:47:45 · 1448 阅读 · 0 评论 -
基于Spring的动态多数据源组件使用文档
基于Spring的动态多数据源组件使用文档1. 项目源码https://github.com/monkeychen/xspring xspring是个组件集,后续会不断增加新的通用组件,本文所介绍的动态多数据源组件位于xspring项目的xspring-data模块中,其maven坐标如下(尚未上传至maven中央库):<dependency> <g...原创 2018-05-05 11:14:03 · 372 阅读 · 0 评论