本来先打算上个图来说明一下这条线的,可是我的画图工具还没有安装好,我先把跟TestClient.java相关的几个文件代码贴上来,但是由于代码行数还是不少的,所以请大家阅读文章的时候先不要展开代码,等读到有关代码解释的时候再返回去查看.代码源自FastDFS老大鱼大大的. TestClient.java: /** * Copyright (C) 2008 Happy Fish / YuQing * * FastDFS Java Client may be copied only under th…
今天用MATLAB写程序,调用了xml_io_tools(很赞的一个xml读写工具包)中的函数,但是由于我要书写的文件比较大,5m左右,运行时不知道xml_io_tools中的哪一块超出了java中的内存限制,于是就来研究下怎么增加matlab中Java VM的堆空间,首先用英文在墙外搜了半天,google搜出来的前几条都是使用Jconsole来分配空间的,但是需要下载相应的matlab的版本的JDK的,中间各种曲折,详见文尾,最后放弃治疗的用中文搜了一下,发现早就有了官方的解答了,汗,将文章复…
最近生产环境有个老项目一直内存报警,不时的还出现内存泄漏,导致需要重启服务器,已经严重影响正常服务了.获取生成dump文件后,使用MAT工具进行分析,发现是其中有个Excel文件上传功能时,经常会导致内存溢出.原因是:POI在加载Excel引发了内存泄漏,中间创建了大量的对象,占用了大量的内存.查看代码POI读取Excel的方式发现使用的是用户模式. POI提供了2中读取Excel的模式,分别是:用户模式:也就是poi下的usermodel有关包,它对用户友好,有统一的接口在ss包下,但是它是把…
Java Web文件上传原理分析(不借助开源fileupload上传jar包) 博客分类: Java Web   最近在面试IBM时,面试官突然问到:如果让你自己实现一个文件上传,你的代码要如何写,不借助其他开源的文件上传jar包? 这一问,我楞了.现在开源MVC框架满天飞,大部分的框架像Struts2都会自动的把你上传的文件封装成Action的属性.几乎没有人自己去分析请求流数据,然后获取文件数据的. 总结下文件上传的几种实现: 一.像Struts2这样的框架自动将你上传的文件封装到Actio…
java通过文件路径读取该路径下的所有文件并将其放入list中   java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中.假设指定路径为path,目标集合为fileList,遍历指定路径下的所有文件,如果是目录文件则递归调用,如果是普通文件则放入fileList中.根据这个思路,得到java源代码如下所示://方法getFiles根据指定路径获取所有的文件public ArrayList<File> getFiles(String path) throws Except…
HTML文件中使用Java程序:简而言之,在HTML文件中引入java应用程序,并通过javascript调用其方法.   一. 运行环境 1.JAVA_HOME.CLASSPATH.PATH配置正确 2.浏览器支持 二.javascript调用方式 三.运行效果 package applet; import java.applet.Applet; public class JavaAppletIE extends Applet { private static final long seria…
第一种!!! “类A是公共的,应在名为A.java的文件中声明”这句话需要分两步来理解: 1.如果类A被声明为公共的(public),那么必须将类A保存在名为A.java的文件中: 2.反之,在一个文件中最多包含一个顶级的公共类,并且该公共类的名字与文件名相同.比如文件A.java中,允许定义一个或多个类,但最多允许一个顶级的公共类,此类名为A.此处强调的顶级的意思是,允许非顶级的公共类存在,如内部公共类等. 第二种 这是你的命名错误 把文件名改为 A.java 因为你里面的类是 public…
JAVA中比较两个文件夹不同的方法,可以通过两步来完成,首先遍历获取到文件夹下的所有文件夹和文件,再通过文件路径和文件的MD5值来判断文件的异同.具体例子如下: public class TestFolderCompare { /** * 根据路径获取所有的文件夹和文件,及文件的md5值 * @param path 路径 */ private static Map<String, FileModel> getFiles(String path) throws IOException { Map…
开始学习java了,搭好环境,notepad++中新建一个java文件,新建一个HelloWorld类, public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } 保存文件时取名firstjava.java,然后进入命令行开始编译,然而编译时却出现一个错误,“类HelloWorld是公共的,应在名为HelloWorld.java的文…
题目补充: 在存放源程序的文件夹中建立一个子文件夹 myPackage.例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage).在 myPackage 包中创建一个YMD类,该类具有计算今年的年份.可以输出一个带有年月日的字符串的功能.设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名.年龄.出生日期.程序使用YMD的方法来计算年龄. 主要考包的运用 用到java.util.Calendar;求时间日…