当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 提高Java程序内存效率 原创:忘记理想 2004-11-1我
 

 

 ·struts的一个小错误    »显示摘要«
    摘要:javax.servlet.servletexception: cannot find actionmappings or actionformbeans collection 有时候大家会可能碰到这一个错误吧.. 看看你的web.xml中是不是有: <servlet> <servlet-name>action</servlet-name> <......
    摘要:在上一节中,我们知道模板元素的一种:模板变量,并知道如何在程序中给它赋值,使之呈现我们想要的东西.这对一般的简单网页来说,或许就已经够用了.现在我们设想一稍微复杂的一种情况,在template目录下新建一个second.html模板文件,内容为:<!doctype html public "-//w3c//dtd html 4.0 transitional//en">......


提高Java程序内存效率
提高java程序内存效率

【程序编程相关:(转载)ms 的 Filter Driv

原创:忘记理想 2004-11-1 【推荐阅读:关于半途接手项目的对话

【扩展信息:◆[转]Linux的文件结构 选

我们都知道java程序之所以被广大程序员青睐,很大的一个原因是因为java有gc(垃圾收集),不用程序员花很大的精力来解决内存释放与泄漏问题.而这些问题总是c/c++程序员需要花很大精力来认真地面对的.

问题总是双面的,gc给我们带来了很大的快乐,释放了程序员很多的精力与时间,但是在某些时候也会给我们带来一些小小的麻烦.java里的object并非交给gc去释放就可高枕无忧了,下面从jdk1.4的demo中java2d的memory monitor说起.

先看看memory monitor单独运行的效果.

可以看到因为有个while循环,gc释放内存有一定的时间,在这个时间中间,内存消耗的很厉害.峰值达到923k.程序代码的如下:

//sysgcmain.java created on 9:15:59

package com.gx2.system;

/**

 * @author frank gao  @version 1.00

 * copy right by gx2 studio 2003

 * copyright (c) 2003 sun microsystems, inc. all  rights reserved.

 *

 * redistribution and use in source……以后省略

 */

 

/*

 * @(#)memorymonitor.java   1.32 03/01/23

 */

 

import java.awt.*;

import java.awt.event.*;

import java.awt.image.bufferedimage;

import java.awt.geom.line2d;

import java.awt.geom.rectangle2d;

import java.util.date;

import javax.swing.*;

import javax.swing.border.etchedborder;

import javax.swing.border.titledborder;

 

 

/**

 * tracks memory allocated & used, displayed in graph form.

 */

public class sysgcmain extends jpanel {

 

    static jcheckbox datestampcb = new jcheckbox("output date stamp");

    public surface surf;

    jpanel controls;

    boolean docontrols;

    jtextfield tf;

 

    public sysgcmain() {

        setlayout(new borderlayout());

        setborder(new titledborder(new etchedborder(), "memory monitor"));

        add(surf = new surface());

        controls = new jpanel();

        controls.setpreferredsize(new dimension(135,80));

        font font = new font("serif", font.plain, 10);

        jlabel label = new jlabel("sample rate");

        label.setfont(font);

        label.setforeground(color.black);

        controls.add(label);

        tf = new jtextfield("1000");

        tf.setpreferredsize(new dimension(45,20));

        controls.add(tf);

        controls.add(label = new jlabel("ms"));

        label.setfont(font);

        label.setforeground(color.black);

        controls.add(datestampcb);

        datestampcb.setfont(font);

        addmouselistener(new mouseadapter() {

            public void mouseclicked(mouseevent e) {


...   下一页
    摘要:五、实现爆炸效果、并加入道具导弹 大多数游戏都有着丰富的效果类,在精灵移动类游戏中曾一度以此为一个重要的卖点,。光光是一些丰富的特效是不能够产生一个好的游戏的,但是一个好的游戏是万万不能缺少好的效果的。 很多人认为游戏的效果层有时和跟游戏逻辑本身并没有太大的关系,往往就是在最终屏幕上再画上一层效果层。但是游戏逻辑和效果层之间的通信是很重要的。这种通信往往体现在延时与等待上。比如飞机爆炸时,......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE