编程分享
wolfshadow.cn
Code,Cod,Co,C,;
展开
-
读写文件时内存溢出问题思考(OutOfMemoryError: Java heap space)
回忆一下:1年前在做断点续传因粗心编码导致的内存溢出问题。当时在做分片时,当分片容量大于512M时,内存溢出,抛出异常:java.lang.OutOfMemoryError: Java heap space。分析一下:当时虚拟机堆内存正好设置为512M,当申请堆空间大于该值时出现如上异常。今日重写代码测试,讲解出错的原因以及解决方案。public static void testOu...原创 2018-10-19 15:58:05 · 24178 阅读 · 6 评论 -
使用反射技术,实现XML与对象相互转换(自己封装的超类,相互学习)
对于网上的各种将XML同对象相互转换的方法比较多,但是如果对方给你提供的XML并非标准的XML格式,恐怕就只能自己封装方法了。作者在调用某票务公司提供的接口时,由于其返回XML流存在不标准的结构,因此自己写了个超类,继承于这个超类的所有对象可以调用toXml()、toObject(String xml)实现互转。 通过反射技术实现,如有不足之处,欢迎批评指正,非常感谢!...原创 2018-11-30 16:13:23 · 17948 阅读 · 0 评论 -
判断从输入流中获取的字符串是什么编码(UTF-8环境)
当你从一个未知编码的文件中,通过输入流读取内容时,假如是乱码怎么办? 如果你不知道字符串的编码,可能你只能靠尝试常用的编码的方式,将字符串处理成正确编码格式。举个例子:“#鍑借喘鍚岃櫣娆惧紡f” 这是从某文件中读取的一行信息,怎么处理,一个一个去尝试么?不妨这样思考,用程序来帮忙判断其编码格式,同时将之转换成UTF-8编码怎么样。特别说明: (1)以...原创 2018-11-29 18:42:24 · 19636 阅读 · 0 评论 -
project-clean、tomcat-clean、maven-clean、maven-update project 这些操作有什么作用
在开发Web项目(Maven构建)时,本地使用tomcat运行时经常会遇到一些问题导致启动失败,比如ClassNotFoundException、NoClassDefFoundException、找不到jar包等等。有些时候我们啥也不想的一顿猛操作:project-clean、tomcat-clean、maven-clean、maven-update project 全都给执行一下,...原创 2018-11-22 13:49:35 · 18988 阅读 · 3 评论 -
for循环中的i++和++i有什么区别
最近看一些别人的源码,发现很多人使用for循环都会这么写:for(int i=0; i<***; ++i) 首先,在for循环中的i++和++i其效果是一样的,这里不予证明。 自己写了这么多年的程序,第一次见到这种写法,只能说自己孤陋寡闻了。赶紧到网上查了下,2种写法的运行时间是有差别,因为“Java中i++语句是需要一个临时变量取存储返回自增前的...原创 2018-11-12 19:16:23 · 16896 阅读 · 3 评论 -
@Autowired和@Resource的异同
直接用表格表说明比较直观: @Autowired @Resource 相同点 1.使用注解的方法注入bean。 2.注解的位置可以是容器类中的属性,也可以是其中的setter方法: 或者是 不同点 (1)默认按类型注入; (2)依赖对象必须存在,如果要允许nul...原创 2018-11-13 19:14:23 · 19053 阅读 · 0 评论 -
try catch finally包含return语句的情况汇总
先来2个真理(或者说是1个): 1.无论什么情况,finally代码块中的语句都会执行 2.即使try或者catch中含有return语句,finally代码块中的语句依然会执行。 带着疑问进行: return的意思是返回数据并退出,那么在这3个代码块中添加return会出现怎样的情况呢?执行顺序是怎样的呢? ...原创 2018-10-30 20:00:41 · 21858 阅读 · 0 评论 -
判断身份证校验位是否正确
基础知识:第一步:将身份证号码的第1位数字与7相乘;将身份证号码的第2位数字与9相乘;将身份证号码的第3位数字与10相乘;将身份证号码的第4位数字与5相乘;将身份证号码的第5位数字与8相乘;将身份证号码的第6位数字与4相乘;将身份证号码的第7位数字与2相乘;将身份证号码的第8位数字与1相乘;将身份证号码的第9位数字与6相乘;将身份证号码的第10位数字与3相乘;将身份证号码的第11位数字与7相乘...原创 2018-10-24 18:44:32 · 16221 阅读 · 0 评论 -
用Java实现PPT转换成PDF的一种方式--openoffice的使用
此文章为2016-09-20 17:19:18,本人于网易博客所写,今日搬迁到此。今天必须要写篇日志记录此刻的心情,因为在搜集众多资料后,终于实现了这一功能。最近在做的一个项目需要在网页中播放PPT文件,思考良久并没有想出很好的解决方案,最后决定先将PPT文件转换成PDF文件,再嵌入网页中(具体怎么实现在网页中播放PDF文件,网上有很多解决方案,在这里就不再赘述)。废话不多说,直接进入正题...原创 2018-10-24 15:34:05 · 14798 阅读 · 10 评论 -
[小技巧] for循环的一点小优化
在公司看同事的代码,很多for循环是这么写的:for(int i=0;i < list.size(); i++){ System.out.println("循环 "+i); } 其本身并没有毛病,只是我觉得在for循环的判断语句中执行一个方法不太合理,因为这句话会循环执行多次。如果循环次数较多,加之工程中都使用这种写法,势必对性能会有一定的影响;同时...原创 2018-10-29 10:50:55 · 8352 阅读 · 0 评论 -
Web端调用本地打印机-Java实现
实现思路:用Java调用本地打印机实现功能,将java程序打包成exe可执行文件,在本地注册表中新增URL协议,最后web端通过该协议实现启动本地exe程序进行打印实现过程:1、下载32位TSCActiveX.dll,并注册到windows环境中,指令为Regsvr32.exe TSCActiveX.dll 下载地址:https://download.csdn.net/download...原创 2018-09-06 10:54:54 · 32057 阅读 · 0 评论 -
Java数组最大值探索(基础数据类型)
基于一次堆内存溢出(做文件传输时,可查看这篇文章),突发奇想,探索Java数组最大容量,当然只针对基础数据类型。平时创建一个数组,初始容量一般不会出现内存溢出的问题,但是,初始容量如果非常大呢,比如1G、2G、10G?很容量理解的是,在初始数组容量时,实际是在向堆容量申请容量,当申请的容量大于堆内存时,自然会抛出异常。因此,申请的容量跟堆内存脱不了干系,下面以byte[]为例,直接上代码:...原创 2018-10-19 16:37:50 · 11932 阅读 · 0 评论 -
[Java]保留数值后2位的几种方法
注:1、以下分析基于JDK1.8.0_74。2、实验以Double数值为例一、返回double型(一)Math.round1、示例public static void test1() { double num = 123.465; //double num = 123.4; double result = Math.round(num * 10...原创 2019-08-01 19:11:04 · 17868 阅读 · 0 评论