易截截图软件、单文件、免安装、纯绿色、仅160KB

java多线程保存oracle的blob字段在本地生成图像

前些日子折腾的在线拍照,由于只是更新blob字段,没有在本地保存照片,导致客户拍脑门想要的时候不能马上拿出来。没说的谁让顾客是上帝呢,做吧。使用线程池创建三个线程让自定一个线程目标共享(也就是把表里的记录分成n组同时执行导出)。程序很简单,一共四个类和一个ojdbc14.jar包。由于sql语句写错了造成多个线程对一个文件进行写操作,害的我查了半天。
首先定义分页对象也就是每个线程要处理的数据量(通过传入的总页数和总行数得到每页数量)
package com.main;
import java.util.ArrayList;
import java.util.List;
public class PageVO {
 private String startRowNum;//返回查询的起始行
 private String endRowNum;//返回查询的终止行
 private int totalRows; //  数据查询总记录数
 private int totalPages; // 分成页数
 private int pageRows;//每页行数
 public PageVO(){
 }
 public PageVO(int totalRows,int totalPages){
  this.totalPages = totalPages;
  this.totalRows = totalRows;
 }
 public PageVO(String startNum,String endNum){
  this.startRowNum = startNum;
  this.endRowNum = endNum;
 }
 public String getStartRowNum() {
  return startRowNum;
 }
 public void setStartRowNum(String startRowNum) {
  this.startRowNum = startRowNum;
 }
 public String getEndRowNum() {
  return endRowNum;
 }
 public void setEndRowNum(String endRowNum) {
  this.endRowNum = endRowNum;
 }
 public List<PageVO> getPageVOList(){
  List<PageVO> list = new ArrayList<PageVO>();
  pageRows = totalRows/totalPages;
  int currentRow = 1;//定义起始值
  for (int i = 0; i<totalPages; i ++){
   list.add(new PageVO(new Integer(currentRow).toString(),new Integer(pageRows + currentRow).toString()));
   currentRow = currentRow + pageRows + 1;
  }
  return list;
 } 
}
其次获得connection类
package com.main;
impo


相关文档:

java 解析MP3文件


首先需要知道的是,MP3文件的文件信息都放在文件最后的128个字节里面,这128个字节分别存储的信息如下:
char Header[3];    /* 标签头必须是"TAG"否则认为没有标签 */
char Title[30];    /* 标题 */
char Artist[30];   /* 作者&n ......

Java 堆

     当Java程序创建一个类的实例或者数组时,都在堆中为新的对象分配内存。虚拟机中只有一个堆,所有的线程都共享它。
     1、垃圾收集(Garbage Collection)
     垃圾收集是释放没有被引用的对象的主要方法。它也可能会为了减少堆的碎片,而移动对象。 ......

在Java 3D中载入外部3D模型文件

Java 3D虽然能支持众多的外部3D模型文件,但能支持被Java 3D使用的外部模型文件仅为.obj和.lwd两种;分别对应ObjectFile类和Lw3dLoader类。相比之下几款主流的3D建模软件都能生成.obj格式的文件,因此本文主要介绍使用ObjectFile类载入.obj文件的方法。
ObjectFile类有三个构造方法,分别为:
ObjectFile()
ObjectFile( ......

Java 静态代理和动态代理

1. 代理模式主要有两种:静态代理和动态代理
2. 静态代理:
比如要在输出“HelloWorld”前打印一个字符串“Welcome”
A:先定义一个接口类
Java代码
package ttitfly.proxy;       
      
public interface HelloWo ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号