随笔分类 - java
摘要:在com.sun.imageio.plugins.bmp包中的BMPImageReader类中 public void readHeader() throws IOException { if (gotHeader) return; if (iis == null) { throw new IllegalStateException("Input source not set!"); } int profileData = 0, profileSize = 0; ...
阅读全文
摘要:package sun.tools.javap; import java.util.*;
import java.io.*; /** * Central data repository of the Java Disassembler. * Stores all the information in java class file. * * @author Sucheta Dambalkar (Adopted code from jdis) */
public class ClassData implements RuntimeConstants { private ...
阅读全文
摘要:这几天新项目每次发布,都发现load在jetty重启过程中突然load会从0.1突然升高到15以上,3分钟后慢慢降到正常非常,cpu使用率也升高了一些,但是jvm内存线程,gc都比较正常,所以怀疑应用已启动,执行了一些耗CPU的处理过程,查看了代码之后,应用已启动,执行最多的方法是dowork,而这个方法里面会有解析xml的过程: public OfferInfo parseXml(String content) throws NumberFormatException, XMLStreamException { if (content == null || conten...
阅读全文
摘要:接之前的博客http://zhwj184.iteye.com/admin/blogs/1630756关于asm使用的示例,这次使用asm来动态统计每个方法的执行时间,实现AOP功能。AOP的更通用的做法是对原始类动态生成子类,调用子类的方法覆盖父类,来实现AOP的功能。著名的 Hibernate 和 Spring 框架,就是使用这种技术实现了 AOP 的“无损注入”。下面我们就通过一个示例来对方法Foo.execute调用时动态注入方法执行前后的时间统计来统计方法的执行时间import java.io.FileOutputStream;
import java.io.IOException;
阅读全文
摘要:asm 4.0 版本http://forge.ow2.org/plugins/scmsvn/index.php?group_id=23asm是java的字节码操作框架,可以动态查看类的信息,动态修改,删除,增加类的方法。下面基于4.0版本的一个使用示例,演示了对类Foo进行修改方法名称,增加方法,修改方法内容等import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method
阅读全文
摘要:今天使用velocity在java后台渲染一个map<Long,String>对象到vm模板上,通过get(111)获取不到map的对象的值分析。这是velocity1.6.4的处理,以后版本是不是解决了这个问题可以再查,个人认为在vm文件支持跟java一样加个L表示long之类的处理应该不难。具体代码如下:后台java生成设置代码Map<Long,String> map = new HashMap<Long,String>(); map.put(101L,"aaa"); map.put(102L,"bbb"); co
阅读全文
摘要:继上次分析了java的序列化过程之后,对于serialVersionUID的处理还不是很清晰,今天再看下代码,对serialVersionUID的处理进行了了解,上次的序列化过程分析可以参考另外一篇文章:http://zhwj184.iteye.com/blog/1550699ObjectOutputStream.java调用writeObject的时候会调用到下面的代码:这是调用ObjectStreamClass.java的writeNonProxy方法,写入非代理类的元数据信息在写入类的元数据的时候会把serialVersionUID写入: /** * Writes non-p...
阅读全文
摘要:接上面java actor模型框架ujavaactorhttp://zhwj184.iteye.com/admin/blogs/1613351,上面的示例比较复杂,写一个简单点的示例:import java.util.HashMap;
import java.util.Map; import com.ibm.actor.AbstractActor;
import com.ibm.actor.Actor;
import com.ibm.actor.DefaultActorManager;
import com.ibm.actor.DefaultMessage;
import com.ibm.a.
阅读全文
摘要:ReentrantReadWriteLock 可重入的读写锁什么叫可重入:就是同一个线程可以重复加锁,可以对同一个锁加多次,每次释放的时候回释放一次,直到该线程加锁次数为0,这个线程才释放锁。什么叫读写锁: 也就是读锁可以共享,多个线程可以同时拥有读锁,但是写锁却只能只有一个线程拥有,而且获取写锁的时候,其他线程都已经释放了读锁,而且在该线程获取写锁之后,其他线程不能再获取读锁。我们先看下下面两个示例:ReentrantReadWriteLock.java自带的两个示例 * class CachedData { * Object data; * volatile boolean c...
阅读全文
摘要:今天项目发布,在预发布机器上居然出现应用启动不到10分钟 CPU使用率从不到1%飙升到95以上,load从不到1升到15以上,然后当然应用就不可用了,第一次还奇怪为什么10分钟后就变成这样,然后找不到原因,异常还一堆其他的异常,而且还有其他的需求一起发布,所以还怀疑其他需求的问题,然后就单独发布自己的需求代码,重新发布后大概10分钟后又出现这个问题,想了想,一堆的超时,应用访问也是超时,开始怀疑线程的问题,通过jstack dump java进程的线程栈信息,通过分析日志发现了 34个线程有16个线程的状态处于同样一处代码上的runnable状态,"qtp1041301507-215
阅读全文
摘要:import org.*;
import org.v1.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import javax.swing.
阅读全文
摘要:fundamental networking in java:
1.summary
用java开发网络编程应用优势在于:
1.跨平台型
2.轻量级线程模型 网络编程跟多线程结合
3.安全性 没有指针,垃圾回收机制;很好的异常处理机制,oom异常也能捕获;未捕获的运行时异常只影响所在的线程,不影响进程。
4.可扩展性灵活性,以及良好丰富的类库。java的网络库更简单易用。 2 IP:
Socket:一台机器的通讯节点称为socket,在java中,socket是java.net包里面的Socket,ServerSocket,DataGramSocket,MultiSocket的实例。
IP地..
阅读全文
摘要:表结构:create table view(id int unsigned NOT NULL AUTO_INCREMENT, catid int,title varchar(256),picture MEDIUMBLOB, content TEXT,PRIMARY KEY (id));java类操作:import java.awt.Image;
import java.io.*;
import java.nio.ByteBuffer;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQ
阅读全文
摘要:import java.awt.*;
import java.awt.image.BufferedImage;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel; public class ScaleIcon implements Icon { private BufferedImage i = null; private Icon icon = null; public ScaleIcon(Icon...
阅读全文
摘要:Socket:一台机器的通讯节点称为socket,在java中,socket是java.net包里面的Socket,ServerSocket,DataGramSocket,MultiSocket的实例。IP地址java中用java.net.InetAddress来表示。java network address class包括:InetAddress:ip地址或者域名,指向远程地址。如果域名解析不了,则出错。 抽象类,有两个子类:Inet4Address和Inet6Address。这两个类智能通过InetAddress的静态方法获取,不能直接构造。包可见。InetSocketAddres...
阅读全文

浙公网安备 33010602011771号