![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
J2SE
文章平均质量分 73
yangfeiblog
Full Stack Developer
展开
-
StringBuffer-非完全可变字符串
这篇文章也是我对StringBuffer的一点看法,若有不妥之处,还请大家指出估计Java初学者都知道,String是不可变字符串,StringBuffer是可变字符串,之前我也是这样理解的,但是今天下午,发现了一个奇怪的现象,发现StringBuffer并非完全可变,所以我将之称为非完全可变字符串。先看看下面这段public static void main(String[] args原创 2013-11-05 21:01:33 · 622 阅读 · 0 评论 -
Java GC专家之路-浅析GC
1、对象不可达:没有任何其他对象引用该对象由于Java 自动垃圾回收机制的存在,所以使得Java程序员不必关心代码申请的内存空间需要释放的问题,但是,如果我们代码写的不好还是存在内存泄露的风险,因此熟悉GC能够应该是一个优秀Java程序员必备的技能,同时,选择合适的GC算法对我们开发的系统也很重要。本篇是Java GC专家之路的第一篇,主要对GC做一个简单的介绍,下一篇将介绍分析GC的状态和G原创 2014-07-16 14:48:03 · 942 阅读 · 1 评论 -
Apache Commons IO简介
虽然Google的guava对Java的IO操作进行了一定封装,但是它更偏向于集合、并发和缓存,在实际项目中,我非常喜欢guava,同时我也非常喜欢Apache的一个工具包org.apache.commons.io,这两个工具包提供非常强大的工具能力,能够简化代码逻辑,提高开发效率和质量,是每个Java程序员都应该掌握的工具包。此文简单介绍一下org.apache.commons.io,详细的可参原创 2014-11-08 21:59:46 · 3306 阅读 · 0 评论 -
浅析Java CompletionService
JDK的CompletionService提供了一种将生产新的异步任务与使用已完成任务的结果分离开来的服务,生产者 submit 执行的任务。使用者 take 已完成的任务,并按照完成这些任务的顺序处理它们的结果。例如,CompletionService 可以用来管理异步 IO ,执行读操作的任务作为程序或系统的一部分提交,然后,当完成读操作时,会在程序的不同部分执行其他操作,执行操作的顺序可能与原创 2014-06-12 22:01:34 · 2492 阅读 · 1 评论 -
利用JExcelAPI操作Excel Sheet
有时候,需要用Java读写(很多时候是写)Excel,生成报表之类的需求,JExcelAPI是一个开源的Java操作Excel工具,其还能对多个Sheet进行操作,且API非常简单易懂下面是一个利用JExcelAPI写入和读取Excel的例子,非常简单package com.yf.jxl;import java.io.File;import java.io.IOException;原创 2014-03-23 15:12:39 · 1047 阅读 · 0 评论 -
Java中的字符替换
(前记:纯属基础知识总结)在JDK的String类中,提供了replace、relaceAll、replaceFirst三个方法用于字符替换,其中replaceFirst通过字面理解就是替换匹配的第一个字符;而replace、relaceAll都是全部替换的意思那这三个有什么本质上的区别呢??下面看一个例子,需要将字符串"orange.peach.banana.tomato"中原创 2014-03-05 11:57:48 · 987 阅读 · 0 评论 -
TreeMap的快速失败(支付宝笔试题)
前几天面试支付宝,有个基础笔试题,都做错了,题目如下package com.yf.test;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;import java.util.TreeMap;public class TreeMapTest原创 2014-02-13 11:40:22 · 1277 阅读 · 1 评论 -
JDK7中的SubString方法
紧接上一篇文章之前说过在JDK6中,String.substring()方法会容易导致内存泄漏,解决方案x = new String(x.substring(x, y));这样的话,就会创建一个新数组,切断与原来的数组的引用,既然JDK6中存在这样一个鸡肋,SUN工程师们肯定会解决的,在JDK7中,该鸡肋已经得到解决。在JDK7中调用substring时,会自动创建一个字符数组,新字符串指向新原创 2013-12-07 11:32:54 · 666 阅读 · 0 评论 -
Java中,String的subString方法易导致内存溢出
在需要截取一个字符串的字串时,经常会使用String.substring(int beginIndex, int endIndex)方法来截取字串,但是该方法为了节约时间,提升性能,浪费了大量空间,其源代码如下: public String substring(int beginIndex, int endIndex) { if (beginIndex < 0) { throw n原创 2013-11-26 21:22:23 · 1346 阅读 · 0 评论 -
在java中高效的计数器
在编程中,经常会用到HashMap作为计数器,本文简单介绍三种实现方式1、第一种,最直观的计数器。原创 2013-11-19 21:41:41 · 1271 阅读 · 0 评论 -
Java中线程等待(同步)的五种方法
在面试时,经常会有面试官问道,如何将原创 2014-11-07 09:27:42 · 9833 阅读 · 1 评论