java
文章平均质量分 56
liuwei1206
PhD student.
展开
-
java实现对properties类型文件的读写
在java项目中,我们通常会有一些配置属性的数据,采用properties文件对数据进行管理是很有必要的,尤其是在属性值改变和项目环境发生变化时,所以特地总结一下对properties文件的最常见的操作。(一):properties数据文件的数据格式如下图:文件中的数据采用键值对的形式存储,#表示注释行。(二):java实现对properties文件的操作1.读取p原创 2016-11-16 20:45:22 · 999 阅读 · 0 评论 -
tomcat启动关闭两种方法
1.普通方法直接用start.sh来启动tomcat,用shutdown.sh来关闭tomcat。缺点是遇到错误会闪退,无法追踪错误。2.catalina方法在cmd中进入catalina.sh所在目录,然后使用如下命令:catalina start来启动tomcat,如果遇到错误,会提示是什么错误导致无法启动,不会直接闪退。同理,关闭tomcat用如下命令:catalina stop原创 2017-10-30 10:05:30 · 18688 阅读 · 0 评论 -
java中IO流详解
不断更新中!!!1.流的定义及分类流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输操作都是以“流”的方式进行。设备可以是文件,网络,内存等。将数据从内存写入到文件或网络这种输出设备的流称为输出流,将数据从文件或网络输入到内存的流叫中输入流,java程序运行在内存中,所以java程序变量代表内存数据。java中的流按照数据处理单位可以分为字节流和字符流两大类。(1)字节流原创 2017-05-16 10:57:26 · 7036 阅读 · 2 评论 -
FileWriter和FileReader解析
FileWriter和FileReader是用来实现将字符读写到文件的IO类。1.FileWriter 是用来方便的将字符数据写入文件的类,这个类的构造函数假设默认的字符编码方式和缓冲区大小的可被接受的,如果要改变指定编码和缓冲区大小可以用FileOutputStream来构造一个OutputStreamWriter来实现。 当文件没有找到时,一般是可以自动创建文件,但这也和平台有关,有的平原创 2017-05-22 14:38:45 · 19017 阅读 · 0 评论 -
java中对象输入流和输出流
对象输出流和对象输入流可以为应用提供对象持久化的功能,分别调用文件输出流和文件输入流来实现。另一种使用对象流的场景是,在不同主机用socket流在远程通信系统中传递传递数据。1.ObjectInputStream对象输入流是用来恢复之前序列化存储的对象,对象输入流可以确保每次从流中读取的对象能匹配Java虚拟机中已经存在的类,根据需求使用标准机制加载类。另外只有支持Serializable或者Ext原创 2017-05-17 15:48:46 · 12309 阅读 · 1 评论 -
java中FileInputStream和OutputStream解析
FileInputStream和FileOutputStream分别表示读写文件数据流,前者是将文件数据读取到内存中,后者表示将内存中的数据写入到文件中。1.FileInputStreamFileInputStream从文件系统中的文件中获得输入的字节数据。主要的构造方法有以下三种: FileInputStream(File file) 用File对象来构造FileInputStream(Str原创 2017-05-16 17:33:55 · 4417 阅读 · 0 评论 -
JAVA中ByteArrayInputStream和ByteArrayOutputStream详解
1.ByteArrayInputStreamByteArrayInputStream中包含一个内部缓冲区,用来包含那些可能从流中读的字节数组。还有一个内部计数器来跟踪下一个将被读取的字节。ByteArrayInputStream只能用字节数组来进行构造。主要包括的方法有和InputStream类似,请点击这里,只是重写了抽象方法。 下面是一段测试代码:import java.io.ByteArra原创 2017-05-16 16:34:19 · 25601 阅读 · 1 评论 -
java对象序列化并存储到文件和数据库
Java中要实现将对象保存起来持久化,需要让对象实现Serializable接口,这样就能将java对象用二进制流保存并恢复。下面我将以保存到文件和保存到mysql来进行解析。先给出序列化类的定义:package model;import java.io.Serializable;import java.util.Date;/* * 实现可序列化接口 */public class P...原创 2017-04-25 09:15:45 · 39016 阅读 · 14 评论 -
jdbc原子事务的实现
在实际业务中,我们常常能够遇到一些需求,这个需求中有数个操作,要所有操作都成功完成了这个需求才实现了,这就是原子性事务。比如说,银行交易,转账过程包括转账者钱的数量扣除和接受者钱的数量增加,要同时完成才能算转账成功,不允许只完成一部分。jdbc实现原子事务的过程主要是通过手动控制提交(commit)来实现的,在一次提交过程中将所有需要的操作都准备好,然后一次性提交到数据库中,如果中间某一个原创 2017-04-22 10:38:37 · 549 阅读 · 0 评论 -
jdbc批量操作
有时候我们需要执行一连串的插入或者修改或者删除操作(注意select不能批量操作)。如果我们一个一个的执行,就需要多次访问数据库,效率很低,所以我们就可以考虑批量操作。批量操作就是将多个增删改的sql语句添加到preparedStatement中,然后再让preparedStatement调用executeBatch一次性进行所有的操作。下面我以一个插入函数为例,每次插入5000条: publ原创 2017-04-22 10:26:12 · 681 阅读 · 0 评论 -
jdbc连接oracle数据库
jdbc连接Oracle数据库的步骤:1.导入需要的jar包,比如ojdbc6.jar2.加载驱动。Class.forName("oracle.jdbc.OracleDriver");不同版本的jar包的驱动名字可能会有相差。3.连接数据库需要的url地址,用户名及密码。比如url=jdbc:oracle:thin:@192.168.75.131:1521:MyDb,thin后面依次为原创 2017-04-22 09:39:56 · 1469 阅读 · 0 评论 -
jdbc关于操作Oracle时间数据解析
在使用jdbc向Oracle中插入和查询时间数据时,我们总是得考虑一下选择怎样的类型才能插入最准确的数据,使用什么类型接收才能从Oracle中接收全时间数据,在这里我总结一下。(一)插入时间数据如果我们要向Oracle数据中插入类似于"yyyy-MM-dd"的时间数据,也就是没有时分秒的数据,那么我们就可以java.sql.Date数据类型。这个类型的时间只含有年月日,没有原创 2017-03-25 21:07:40 · 1337 阅读 · 0 评论 -
java向Oracle数据库中插入blob字段数据
java不能直接想插入其他普通类型数据一样插入blob字段数据,因为blob相当于一个大文件块,里面有游标,需要初始化blob游标才能插入数据。所以我们要先插入一个空的blob数据,以初始化游标,然后再往这个blob字段中写入数据,来实现插入blob数据的效果,代码如下:package controller;import java.io.FileInputStream;import java...原创 2017-03-20 19:31:19 · 12722 阅读 · 1 评论 -
mybatis中SqlSession一定要关闭
今天在使用mybatis查询数据时,出现了一个很奇怪的问题。同一条sql语句,查询时快时慢,并且有一定的规律性,大概每10次查询中有一次会特别特别的慢,快的只需要1ms,慢的要20000ms,sql代码及快慢时间截图如下:select fknr from jq_fkqk where jjxh = ?快的情况: 慢的情况: 通过日志打印mybatis查询信息时,我观察到原创 2018-01-20 20:57:37 · 32796 阅读 · 14 评论