jdk
Bronze5
一个普通的Java爱好者
展开
-
Java随机生成一个字符串
前言 前段时间在模拟测试数据,来测试数据库的性能。需要随机生成字符串、数值类型的值,来组成一行数据记录。结果忘记怎样随机生成字符串,一直记得是什么MD5,后来查了下之前的代码,是用的UUID。在此记录一下两种好用的方式。一、UUID这个是JDK自带的工具类 public void randomStrTest(){ UUID uuid = UUID.randomUUID(); System.out.println(uuid.toString()); }原创 2020-08-09 13:44:52 · 628 阅读 · 0 评论 -
java.util.ConcurrentModificationException错误分析与解决
一、错误原因在List、Set、Map三种集合循环中,新增或删除了本集合内的元素。Java会在循环结束时,比较当前集合中的元素个数与循环前元素的个数,不一致则抛出这个异常。如下HashMap的循环源码:二、举例与解决1. ArrayList循环中删除元素错误代码 public void removeInForeach() { List<String> strings = new ArrayList<>(Arrays.asList("a", "原创 2020-07-28 21:29:37 · 1426 阅读 · 0 评论 -
JDK动态代理介绍与使用
一、介绍 JDK动态代理是代理模式的一种实现方式。因为它是基于接口来做代理的,所以也常被称为接口代理。在JDK动态代理中有两个重要的角色:InvocationHandler(Interface)用户实现这个接口,用来编写代理类处理的核心逻辑。Proxy(Class)用来创建一个代理实例,此时需要用到上面自定义的InvocationHandler。二、功能 动态代理拥有代理模式的基本功能,如:调用真实方法的预处理、模块化通用功能。除此之外,还可以在运行时动态创建代理对象,无需针对每个接口原创 2020-06-26 13:05:18 · 823 阅读 · 0 评论 -
ArrayList扩容源码分析
一、前言我们都知道ArrayList底层是用一个数组来存储对象的,但是数组的长度是不可变的。当数组内的空间用完之后,ArrayList是如何扩容(即扩大数组长度)的?什么时候开始扩容的?本章就来探讨下这些问题。二、关键属性1. 存储数据的数组:Object[] elementData /** * The array buffer into which the element...原创 2020-03-07 18:20:04 · 258 阅读 · 0 评论 -
ArrayList之初始化源码
ArrayList共有三个构造方法无参构造方法 transient Object[] elementData; // non-private to simplify nested class access private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; public Array...原创 2020-01-19 20:56:20 · 260 阅读 · 0 评论 -
java读写文件内容
操作文件有两类方法,一类是字节流操作,一类是字符流操作;如果文件内容为字符,直接考虑使用字符流操作即可。下面是使用字符流操作文件示例。1.使用字符流读取文件public void readByReader() throws Exception { // 创建文件对应的流 FileReader fileReader = new FileReader("E:\\hjq....原创 2018-04-25 08:45:22 · 221 阅读 · 0 评论 -
java读取指定路径中,所有文件夹和文件的全路径
一、思路1.使用file.list()先列出文件夹中的所有文件名;2.遍历列出的文件名,如果是文件则添加到一个存放文件路径的List中;如果是文件夹,则进入文件夹,继续得到这个文件夹中的所有文件名,并遍历。。。二、代码package com.kaka.original.jdk.io;import java.io.File;import java.util.ArrayList;import ...原创 2018-05-04 08:52:32 · 1455 阅读 · 0 评论 -
java反射获取枚举值
先说下枚举类的结构:枚举类中有许多枚举常量,枚举常量由枚举类中各个字段组成,更确切的说,枚举常量由构造方法入参字段构成。所以如果要获取枚举常量中的值,首先需要使用class的getEnumConstants()方法获取枚举类中所有的枚举常量,然后使用类中对应的方法,得到常量中包含字段的值。代码如下:1.枚举类代码示例package com.ecarx.jsk.jdk.poi;public en...原创 2018-05-06 19:35:39 · 18461 阅读 · 3 评论