Java
Chris-Green
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java中的深拷贝和浅拷贝
1.浅拷贝与深拷贝概念(1)浅拷贝(浅克隆) 浅拷贝又叫浅复制,将对象中的所有字段复制到新的对象(副本)中。其中,值类型字段(java中8中原始类型)的值被复制到副本中后,在副本中的修改不会影响到源对象对应的值。而引用类型的字段被复制到副本中的还是引用类型的引用,而不是引用的对象,在副本中对引用类型的字段值做修改会影响到源对象本身。浅拷贝简单归纳就是只复制一个对象,对象内部转载 2018-01-29 11:07:16 · 166 阅读 · 0 评论 -
POI读取Excel中的数据
上源码之前,说下要注意的问题: 一定要该清楚列宽和合并单元格之间的区别,如图:直接上源码:public int importData(MultipartFile file) throws IOException, InvalidFormatException { Workbook wb = WorkbookFactory.create(file.getIn原创 2018-01-31 14:43:39 · 270 阅读 · 0 评论 -
文件分割与合并
public class SplitFile { public static void main(String[] args) throws IOException { int number = split(); sequence(number); } public static int split() throws IOException转载 2018-01-30 10:21:26 · 806 阅读 · 0 评论 -
java实现文件的监听(增删改)
1、java源码:http://download.youkuaiyun.com/download/w592376568/10231054 2、参考资料:http://blog.youkuaiyun.com/captian_900331/article/details/52471248 http://www.cnblogs.com/Mr-kevin/p/5784443.html原创 2018-01-30 11:00:48 · 1405 阅读 · 0 评论 -
java中的6种单例写法
在java中,单例有很多种写法,面试时,手写代码环节,除了写算法题,有时候也会让手写单例模式,这里记录一下单例的几种写法和优缺点。1.初级写法2.加锁3.饿汉式4.懒汉式5.双锁检验6.内部类1.初级写法package com.java4all.test6;/** * Author: yunqing * Date: 2018/8/13 * Descri...转载 2018-11-30 17:38:51 · 251 阅读 · 0 评论 -
Web工程下读取文件的几种方法
1、读取文件系统路径文件 * 一定要使用绝对路径String fileName = getServletContext().getRealPath("/index.jsp"); // 读取WebRoot下String fileName2 = getServletContext().getRealPath("/WEB-INF/a.properties");// 读取WebRoot/WEB-INF...转载 2018-05-31 16:40:57 · 2584 阅读 · 1 评论 -
Set是如何实现元素不重复的&重写equals()方法之后也必须重写hashCode()方法
参考:http://www.cnblogs.com/szlbm/p/5504623.html http://lelglin.iteye.com/blog/1826152 一、HashCode 1、HashCode的存在主要是为了查找的快捷性,HashCode是用来在散列存储结构中确定对象的存储地址的 2、如果两个对象equals相...转载 2018-02-25 09:46:34 · 268 阅读 · 0 评论 -
static、final、static final的区别
说明:不一定准确,但是最快理解。final:final可以修饰:属性,方法,类,局部变量(方法中的变量)final修饰的属性的初始化可以在编译期,也可以在运行期,初始化后不能被改变。final修饰的属性跟具体对象有关,在运行期初始化的final属性,不同对象可以有不同的值。final修饰的属性表明是一个常数(创建后不能被修改)。final修饰的方法表示该方法在子类中不能被重写,final修饰的类表...转载 2018-03-16 13:50:38 · 306 阅读 · 0 评论 -
java计时器StopWatch
1、一般我们检测某段代码执行的时间,都是以如下方式来进行的:public static void main(String[] args) { long startTime=System.currentTimeMillis(); //获取开始时间 //函数主体代码 long endTime=System.currentTimeMi...原创 2018-03-08 16:12:07 · 20796 阅读 · 1 评论 -
Java替换文件中的某段字符串
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOExceptio转载 2018-01-23 14:20:20 · 6623 阅读 · 1 评论 -
JDK7异常处理
转载自:http://www.importnew.com/26144.html虽然我们开始了Java8的旅程,但是很多人直接从java6上手了java8, 也许有一些JDK7的特性你还不知道,在本章节中带你回顾一下我们忘记了的那些特性。 尽管我们不能讲所有特性都讲一遍,挑出常用的核心特性拎出来一起学习。异常改进try-with-resources这个特性是在JDK7转载 2017-09-11 15:07:45 · 1413 阅读 · 0 评论 -
Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
Java 8中 java.util.Date 类新增了两个方法,分别是from(Instant instant)和toInstant()方法// Obtains an instance of Date from an Instant object.public static Date from(Instant instant) { try { retur转载 2017-09-11 11:37:59 · 546 阅读 · 0 评论 -
Java8 Lambda表达式性能问题
Java8 Lambda表达式和流操作如何让你的代码变慢5倍有许许多多关于 Java 8 中流效率的讨论,但根据 Alex Zhitnitsky 的测试结果显示:坚持使用传统的 Java 编程风格——iterator 和 for-each 循环——比 Java 8 的实现性能更佳。Java 8 中的 Lambda 表达式和流(Stream)受到了热烈欢迎。这是 Java 迄转载 2017-09-11 17:44:56 · 6192 阅读 · 1 评论 -
Java 8 – Stream API 快速入门
在前面我们简单介绍了lambda表达式,Java8旨在帮助程序员写出更好的代码, 其对核心类库的改进也是关键的一部分,Stream是Java8种处理集合的抽象概念, 它可以指定你希望对集合的操作,但是执行操作的时间交给具体实现来决定。为什么需要Stream?Java语言中集合是使用最多的API,几乎每个Java程序都会用到集合操作, 这里的Stream和IO中的Stream不同,它转载 2017-09-11 16:35:24 · 326 阅读 · 0 评论 -
Java8 lambda表达式10个示例
本文由 ImportNew - lemeilleur 翻译自 javarevisited。欢迎加入翻译小组。转载请见文末要求。Java 8 刚于几周前发布,日期是2014年3月18日,这次开创性的发布在Java社区引发了不少讨论,并让大家感到激动。特性之一便是随同发布的lambda表达式,它将允许我们将行为传到函数里。在Java 8之前,如果想将行为传入函数,仅有的选择就是匿名类,需要6行转载 2017-09-11 13:49:13 · 271 阅读 · 0 评论 -
NIO2简单读取文件,java8字符串拼接和集合的改变
文件操作我们知道在JDK6甚至之前的时候,我们想要读取一个文本文件也是非常麻烦的一件事,而现在他们都变得简单了, 这要归功于NIO2,我们先看看之前的做法:读取一个文本文件1234567891011121314151617转载 2017-09-11 15:12:04 · 1269 阅读 · 0 评论 -
并行流parallelStream
1.并发与并行的区别:并发: 一个时间段内有几个程序都处于已启动到运行完毕之间,且这几个程序都是在同一个处理机上运行。但在任一个时刻点只有一个程序在处理机上运行 并行: 在同一个时刻,多核处理多个任务。把工作拆分,同时在多核CPU上执行2.例子: import java.util.ArrayList; import java.util.List; import java.util.UU转载 2017-09-12 10:13:41 · 1096 阅读 · 0 评论 -
JAVA Optional
Optional空指针异常一直是困扰Java程序员的问题,也是我们必须要考虑的。当业务代码中充满了if else判断null 的时候程序变得不再优雅,在Java8中提供了Optional类为我们解决NullPointerException。我们先来看看这段代码有什么问题?classUser { String name; publicString getName() {转载 2017-09-12 10:45:49 · 466 阅读 · 0 评论 -
Java8 Optional(二)
Java8 如何正确使用 Optional Optional是Java8提供的为了解决null安全问题的一个API。善用Optional可以使我们代码中很多繁琐、丑陋的设计变得十分优雅。这篇文章是建立在你对Optional的用法有一定了解的基础上的,如果你还不太了解Optional,可以先去看看相关教程,或者查阅Java文档。 使用Optional,我们就可以把下面这样的代码进行改写。publi转载 2017-09-12 10:48:36 · 600 阅读 · 0 评论 -
Java中创建对象的几种方式
作为java开发者,我们每天创建很多对象,但是我们通常使用依赖注入的方式管理系统,比如:Spring去创建对象,然而这里有很多创建对象的方法:使用New关键字、使用Class类的newInstance方法、使用Constructor类的newInstance方法、使用Clone方法、使用反序列化。使用new关键字:这是我们最常见的也是最简单的创建对象的方式,通过这种方式我们还可以调用任意的转载 2017-12-26 17:43:56 · 221 阅读 · 0 评论 -
java创建多级目录文件
/** * 创建多级目录文件 * * @param path 文件路径 * @throws IOException */private void createFile(String path) throws IOException { if (StringUtils.isNotEmpty(path)) { File file = new File(path);原创 2017-12-14 14:31:43 · 12193 阅读 · 0 评论 -
删除文件夹下所有的文件
方法一:添加依赖包commons-ioFileUtils.deleteQuietly(new File(path));方法二:递归删除:private static boolean deleteDir(File dir) { if (dir.isDirectory()) { String[] children = dir.list();原创 2017-12-13 17:51:31 · 878 阅读 · 0 评论 -
final finally finalize区别
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。 finally—再异常处理转载 2017-10-09 11:30:25 · 240 阅读 · 0 评论 -
Java8学习总结
先来一个概览,上图是我整理的Java8中的新特性,总的来看,大致上可以分成这么几个大块。函数式接口 所谓的函数式接口就是只有一个抽象方法的接口,注意这里说的是抽象方法,因为Java8中加入了默认方法的特性,但是函数式接口是不关心接口中有没有默认方法的。 一般函数式接口可以使用@FunctionalInterface注解的形式来标注表示这是一个函数式接口,该注解标注与否对函数式接口没有实际的影响,转载 2017-09-12 14:49:03 · 310 阅读 · 0 评论 -
不可重复读和幻读的区别(悲观锁和乐观锁)
当然, 从总的结果来看, 似乎两者都表现为两次读取的结果不一致.但如果你从控制的角度来看, 两者的区别就比较大 对于前者, 只需要锁住满足条件的记录 对于后者, 要锁住满足条件及其相近的记录我这么理解是否可以? 避免不可重复读需要锁行就行 避免幻影读则需要锁表不可重复读和幻读的区别很多人容易搞混不可重复读和幻读,确实这两者有些相似。但不可重复读重点在于update和del转载 2017-09-20 14:52:46 · 1523 阅读 · 0 评论 -
Java 8 – 日期和时间实用技巧
当你开始使用Java操作日期和时间的时候,会有一些棘手。你也许会通过System.currentTimeMillis() 来返回1970年1月1日到今天的毫秒数。或者使用Date类来操作日期;当遇到加减月份、天数的时候 你又需要用到Calendar类;当需要格式化日期的时候需要使用java.text.DateFormat类。 总而言之在Java中操作日期不是很方便,以至于很多开发者不得不使用第三方库转载 2017-09-12 11:27:51 · 272 阅读 · 0 评论 -
Java8:Lambda表达式增强版Comparator和排序
Java8:Lambda表达式增强版Comparator和排序本文由 ImportNew - 进林 翻译自 baeldung。欢迎加入翻译小组。转载请见文末要求。1、概述在这篇教程里,我们将要去了解下即将到来的JDK 8(译注,现在JDK 8已经发布了)中的Lambda表达式——特别是怎样使用它来编写Comparator和对集合(Collection)进行排序。转载 2017-09-11 16:00:02 · 379 阅读 · 0 评论
分享