try

java将office文档pdf文档转换成swf文件在线预览

做~自己de王妃 提交于 2020-02-17 17:30:14
第一步,安装openoffice.org openoffice.org是一套sun的开源office办公套件,能在widows,linux,solaris等操作系统上执行。 主要模块有writer(文本文档),impress(演示文稿),Calc(电子表格),Draw(绘图),Math(公式),base(数据库) 笔者下载的是openoffice.org 3.3.0。下载完直接安装即可。 但是,我们还需要启动openoffice server。有两种做法: 1.以命令行方式启动openoffice server,缺点是每次系统重启,都需要手动去把openoffice server启动。 2.将openoffice server作为操作系统的服务启动,既然成为了系统服务,就可以设定开机自动启动了。 我们先来看第一种方式, 1. 以命令行方式启动openoffice server   在cmd命令下,cd opeonofiice的安装路径/program 如:cd c:\program files\openoffice.org 3\program\soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard 2. 以系统服务的方式启动 这里我们还需要Windows

Mybatis--生命周期作用域

戏子无情 提交于 2020-02-17 14:27:51
1.生命周期和作用域:     1.SqlSessionFactoryBuilder 创建完成 SqlSessionFactory 就可以释放了     2.SqlSessionFactory:         相当于保存数据库会话的线程池。         一旦创建就应该在程序的运行期间一致存在。          不得丢弃和创建另一个实例 。         使用单例或者静态单例创建。     3.SqlSession :           try( session=SqlSessionFactory.openSqlsession() ){             session 作用域 (花括号范围)           } 1. try 后面接括号 的方式:JDK7 定义的 用来 对IO操作进行自动释放 操作   try(sqlsession=sqlsessionfactory.opensession()){ 定义 代码,会话的范围 } 来源: https://www.cnblogs.com/chencn/p/12321499.html

java的文件流:字节流(FileInputStream、FileOutputStream)和字符流(FileReader、FileWriter)。

烂漫一生 提交于 2020-02-17 11:43:37
java的输入输出建立在4个抽象类的基础上:InputStream、OutputStream、Reader、Writer。InputSream和OutputStream被设计成字节流类,而Reader和Writer被设计成字符流类。一般来说,处理字符或者字符串时应该使用字符流类,处理字节或者二进制对象时应该使用字节流类。   一般在操作文件流时,不管是字节流还是字符流,都可以按照以下的方式进行。 1、使用File类找到一个文件 2、通过File类实例化字节流或字符流 3、进行字节(字符)的读写操作 4、关闭文件流 下面是2个例子,向文件中写入字符串并读出。 以字节流方式: 1 package zdxtest; 2 import java.io.*; 3 public class TestFile1 { 4 5 public static void main(String[] args) { 6 // TODO Auto-generated method stub 7 //字节流输入输出,向一个文件写入内容然后读出 8 File f = new File("d:\\1.txt"); 9 FileOutputStream fos = null; 10 FileInputStream foi = null; 11 String sin = "今天是七月最后一天"; 12 //创建文件

Java 中的异常

本秂侑毒 提交于 2020-02-17 07:47:44
简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函数返回值作为执行状态?。 Java有独特的异常处理机制。 总体上我们根据Javac对异常的处理要求,将异常类分为2类。 Java中的异常可以是函数中的语句执行时引发的,也可以是程序员通过throw 语句手动抛出的,只要在Java程序中产生了异常,就会用一个对应类型的异常对象来封装异常,JRE就会试图寻找异常处理程序来处理异常,如果我们要定义其它异常的话我们需要通过throw来手动抛出一个自定义的异常。 老师说过:检查异常(checked exception):除了Error 和 RuntimeException的其它异常。javac强制要求程序员为这样的异常做预备处理工作(使用try…catch…finally或者throws)。在方法中要么用try-catch语句捕获它并处理,要么用throws子句声明抛出它,否则编译不会通过。这样的异常一般是由程序的运行环境导致的。 非检查异常(unckecked exception):Error 和 RuntimeException 以及他们的子类。javac在编译时,不会提示和发现这样的异常,不要求在程序处理这些异常。所以如果愿意,我们可以编写代码处理(使用try

JavaSE Day11

三世轮回 提交于 2020-02-17 07:21:55
本节内容 异常处理机制 异常的定义 异常的分类 Java中异常的处理 异常处理关键词的使用 try...catch throw throws finally 一、异常处理机制 Java中有3大机制: 异常处理机制、垃圾回收机制、反射机制. 今天我们来学习下:异常处理机制以及垃圾回收机制。。。反射机制我们后面在进行学习。 AVA的异常处理机制:如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。 二、异常的定义 定义:异常就是在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序。 我们需要做的是保证程序正常运行结束,那么如何保证程序正常结束? 需要使用异常处理机制来处理异常。 三、Java中的异常的体系及异常的分类。 Thorwable类所有异常和错误的超类,有两个子类Error和Exception,分别表示错误和异常。 其中异常类Exception又分为运行时异常(RuntimeException)和非运行时异常, 这两种异常有很大的区别,也称之为不检查异常(Unchecked Exception) 和检查异常(Checked Exception)。下面将详细讲述这些异常之间的区别与联系

mysql: lock wait timeout exceeded; try restarting transaction

丶灬走出姿态 提交于 2020-02-17 06:48:07
项目中遇到: lock wait timeout exceeded; try restarting transaction 的问题。 出错的语句是: select id from A where id=1 for update 即锁等待超时, 可能原因分析:并发场景下有一个事务对表A的id等于1的记录进行select for update操作,开启了事务但是并未提交,此时另外的事务对表A的事务操作就会等待锁,最终等待超时报错。 需要检查代码中对事务的开启、提交方面是否有问题。需要保证代码中再进行完for update操作后,事务一定提交或回滚。 Mysql 数据库采用InnoDB模式,默认参数:innodb_lock_wait_timeout设置锁等待的时间是50s,一旦数据库锁超过这个时间就会报错,可以考虑调大innodb_lock_wait_timeout参数的值,或者在代码中增加重试操作,等待另一个事务提交,流程则可继续进行。 来源: CSDN 作者: 怠惰的小小白 链接: https://blog.csdn.net/qq_35462323/article/details/104338645

java内部类以及异常处理

烂漫一生 提交于 2020-02-17 03:44:32
框架图 内部类 将一个类定义在另一个类的里面,里面那个类就称为内部类(也叫内置类或嵌套类)。 内部类的访问规则: 1。内部类可以直接访问外部类中的成员,包括私有成员。 之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用,格式 外部类名.this 2。外部类要访问内部类,必须建立内部类对象。 1 class InnerClassDemo 2 { 3 public static void main(String[] args) 4 { 5 //外部其他类直接访问内部类中的成员。格式写法 6 Outer.Inner in = new Outer().new Inner(); 7 in.function(); 8 } 9 } 10 11 12 class Outer 13 { 14 private int x = 3; 15 16 class Inner//内部类定义在成员位置上 17 { 18 19 void function() 20 { 21 System.out.println("innner :"+x);//内部类可以直接访问外部类,相当于省略了Outer.this句柄。 22 } 23 } 24 25 void method() 26 { 27 Inner in = new Inner();//外部类想访问内部类要先建立内部类对象。 28 in

【转】JDK1.8中的try-with-resources声明

混江龙づ霸主 提交于 2020-02-17 02:55:37
DK1.7开始,java引入了 try-with-resources 声明,将 try-catch-finally 简化为 try-catch,这其实是一种语法糖,在编译时会进行转化为 try-catch-finally 语句。新的声明包含三部分:try-with-resources 声明、try 块、catch 块。它要求在 try-with-resources 声明中定义的变量实现了 AutoCloseable 接口,这样在系统可以自动调用它们的close方法,从而替代了finally中关闭资源的功能。 但是,它们的异常抛出机制发生了变化。在过去的 try-catch-finally 结构中,我们在finally块中关闭资源通常是这样的: catch (Exception e) { e.printStackTrace(); // 第一处异常处理 } finally { try { if (c != null) { c.close(); } } catch (IOException e) { e.printStackTrace(); // 第二处异常处理 } } 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 异常处理有两种情况: try 块没有发生异常时,直接调用finally块,如果 close 发生异常,就处理。

Java内部类与final关键字详解

一个人想着一个人 提交于 2020-02-16 16:19:49
一、基础篇 进程是系统进行资源分配和调动的基本单位,一个进程中至少有一个线程,进程中多个线程共享进程的资源。 线程是进程中的一个实体,线程是不会独立存在的,没有进程就没有线程。 对于CPU资源比较特殊,线程才是CPU分配的基本单位。 main函数启动->JVM进程->main函数线程称为主线程 内存与线程 内存与线程的关心,主要指JVM内存模型与线程之间的关系,它也是线程安全问题的主要诱因。 使用JDK工具观察线程 jcmd jstack jvisualVM jconsole 线程创建的三种方法 Account类 package com.aidata.concurrency; public class Account { private String accountNo; private String accountName; private boolean valid; public Account(){} public Account(String accountNo, String accountName, boolean valid){ this.accountNo = accountNo; this.accountName = accountName; this.valid = valid; } public String getAccountNo() { return

简单看看ThreadPoolExecutor原理

你。 提交于 2020-02-15 22:20:12
  线程池的作用就不多说了,其实就是解决两类问题:一是当执行大量的异步任务时线程池能够提供较好的性能,在不使用线程池时,每当需要执行异步任务是需要直接new一个线程去执行,而线程的创建和销毁是需要花销的,而线程池中的线程是可复用的,不需要每次执行异步任务时都去创建和销毁线程;二是线程池提供了一种资源限制和管理的手段,比如可以限制线程的个数、动态新增线程等; 一.Executors工具类   我们创建一个线程池最好直接用这个工具类去创建,常用的线程池有几种,一种是用newFixedThreadPool方法创建固定大小的线程池,一种是newSingleThreadExecutor方法创建单线程的线程池,一种是newCachedThreadPool方法创建线程最多个数为Integer.MAX_VALUE的线程池,还有一些其他的线程池;   看一下Executors工具类中一些重要的方法,先是newFixedThreadPool方法,只看这个,我们可以实际的线程池类型是ThreadPoolExecutor,而且内部是以LinkedBlockingQueue这个并发队列实现的,前面说过,这是一个有界阻塞队列,底层是一个单向链表,入队和出队是用独占锁实现的一个生产者消费者模式,比较容易;   newSingleThreadExecutor方法,其实可以看到就是用上面的这种线程池实现的