package cn.xingoo.learn.commons; import org.apache.commons.io.FileUtils; import org.apache.commons.io.filefilter.DirectoryFileFilter; import org.apache.commons.io.filefilter.FileFileFilter; import org.apache.commons.io.filefilter.FileFilterUtils; imp…
这个类在日常的开发中,还是非常常用的.今天就总结一下Arrays工具类的常用方法.最常用的就是asList,sort,toStream,equals,copyOf了.另外可以深入学习下Arrays的排序算法,这个还是非常有用的. 所有的方法都是在下面的类中进行测试的: public class ArraysTest { String[] array = new String[]{"a","c","2","1","b&…
工作当中遇到的事情比较杂,因此涉及的知识点也很多.这里暂且记录一下,今天遇到的知识点,纯干货~ 关于文件的解压和压缩 如果你的系统不支持tar -z命令 如果是古老的Unix系统,可能并不认识tar -z命令,因此如果你想要压缩或者解压tar.gz的文件,就需要使用gzip或者gunzip以及tar命令了. 关于tar.gz可以这么理解,tar结尾的压缩包,其实只负责把文件打包,并没有进行压缩:而gz结尾的包,则是进行压缩操作. 因此,tar.gz的文件可以理解为,先进行打包,再进行压缩. 那么…
Java虽然利用JVM,让程序员可以放心大胆的使用,可是仍然会出现内存泄露等问题.世上没有绝对的银弹,因此也不能完全把所有的任务都交给JVM,了解Java中的初始化与垃圾回收还是必不可少的知识. 关于构造器 在C中,如果要使用变量需要先申请内存.在Java中,如果你需要创建一个对象,也可以直接new出来,JVM会自动帮你管理. 默认的类,会自动有一个无参的构造方法,当然你也可以自己定义有参的构造方法.但是要注意,一旦自己定义了,就不再帮你自动创建无参的构造方法了. 一个类可以有多种构造方法,通过…
集合框架可以说是Java里面必备的知识点了,日常的使用中也会遇到各种情况需要使用到集合.下面就简单介绍下各种集合的使用场景: List List可以看做是数组,实现的方式有两种: ArrayList 适合随机访问 LinkedList 适合做插入删除操作 Queue和Stack 这两种数据结构都可以通过LinkedList来实现 Map Map用于保存键值对,常用的实现方式有: HashMap 使用散列表实现 TreeMap 基于红黑树,保证键的排序 LinkedHashMap 基于链表的哈希,…
在日常的Java程序开发中,Properties文件的读写是很常用的.经常有开发系统通过properties文件来当做配置文件,方便用户对系统参数进行调整. 那么本片就来简单的介绍下,如何使用Properties. 文件的读取 Properties类提供了Load方法,支持以inputstream为参数,读取配置文件.因此可以这样: Properties props = new Properties(); //如果配置文件放在类目录下,可以直接通过类加载器读取 props.load(new Fi…
以前写文件的复制很麻烦,需要各种输入流,然后读取line,输出到输出流...其实apache.commons.io里面提供了输入流输出流的常用工具方法,非常方便.下面就结合源码,看看IOUTils都有什么用处吧! 代码参考https://github.com/xinghalo/JDK-Learning 常用的静态变量 在IOUtils中还是有很多常用的一些变量的,比如换行符等等 public static final char DIR_SEPARATOR_UNIX = '/'; public s…
在Java里面,是不需要太过于关乎垃圾回收,但是这并不意味着开发者可以不了解垃圾回收的机制,况且在java中内存泄露也是家常便饭的事情.因此了解垃圾回收的相关知识就显得很重要了. 引用,在垃圾回收中是一个很关键的概念,它关系到如何辨别这个对象是否被回收,什么时机回收. 引用的类型 在Java中引用的类型可以分为四个类型,依次是: 强引用:在任何时间JVM都不会进行回收 软引用:在内存不够的时候,JVM会进行回收 弱引用:只要进行垃圾回收,就会触发回收 虚引用:不知道啥时候就被回收了,可以理解为没…
返回本章节 返回作业目录 需求说明: 创建一个数学工具类. 将该类设计为final类. 将该类的构造方法的访问权限定义为私有,以防止外界实例化该类. 在该类定义静态double类型常量π,其值为3.14159268. 定义静态方法addition(),用于计算一个int[]类型的数组元素之和. 定义静态方法circ(),用于计算圆形的周长. 定义静态方法sort(),用于对传入的int[]数组元素进行升序排序. 实现思路: 创建一个数学工具类的实现思路: 创建MathUtils类,该类可作为一个…
最近再弄进程管理相关的工作,因此必要的就涉及到各种系统下关于进程的管理. 这里简单的介绍下: 如何在Java中执行命令 在windows下肯定是dos命令了,而在linux则为shell命令.执行的方式差不多相同: 方法1:Runtime windows版本: Process process = Runtime.getRuntime().exec("ipconfig /all"); Linux版本: Process process = Runtime.getRuntime().exec…