Java
文章平均质量分 67
Java学习相关资料收录
笑虾
一壶泪,暗淡醇香味。
化作万樽与谁对?
忧举杯,乐举杯,地老天荒只一醉。
欲哭时,男儿无泪,千般相思苦。
杯中汇……
展开
-
Java 解析 cURL(bash) 命令
【代码】Java 解析 cURL(bash) 命令。原创 2023-10-13 17:39:12 · 2200 阅读 · 4 评论 -
JDK 下载安装 WIN
下载 JDK下载页面:https://www.oracle.com/technetwork/cn/java/javase/downloads/index.html拉到底这里,点击跳转 Java 存档页面转一部分过来下载 Java SE 10下载 Java SE 9下载 Java SE 8下载 Java SE 7下载 Java SE 6下载 Java SE 5勾选【接受许可...原创 2019-02-16 22:15:15 · 5239 阅读 · 1 评论 -
Linux CentOS7 安装 JDK
CentOS7 安装 JDK1.7查看本机JDK安装情况卸载 openJDK 安装JDK原创 2019-05-18 22:50:18 · 2561 阅读 · 1 评论 -
DIY 便携版 JDK
制作绿色版 JDK方案一方案二下载安装后可以自己做个绿色版的。方案一安装好后直接把整个JDK目录复制一份就行了。为了方便以后用,打个zip吧。方案二不安装。用解压工具将jdk-8u202-windows-x64.exe解压出来,通过文件大小判断,找到 jre、jdk。借助win自带的搜索功能 *.* 大小:>50mb (除了这两个文件以外,其它文件都很小,所以一搜便知)再解压它们即可tools.zip里是不是很眼熟了...原创 2021-01-09 18:14:43 · 469 阅读 · 0 评论 -
学习笔记 - MapStruct 映射工具
MapStruct是一个代码生成器,它基于约定优于配置的方法,极大地简化了Java bean类型之间映射的实现。生成的映射代码使用普通方法调用,因此快速、类型安全且易于理解。多层应用程序通常需要在不同对象模型(例如实体和dto)之间进行映射。编写这样的映射代码是一项乏味且容易出错的任务。MapStruct的目标是通过尽可能地自动化来简化这项工作。与其他映射框架相比,MapStruct在编译时生成bean映射,这确保了高性能,允许快速的开发人员反馈和彻底的错误检查。原创 2022-12-21 22:41:55 · 1818 阅读 · 0 评论 -
Java 基本数据类型 Primitive Data Types 及取值范围
代码】Java基本数据类型PrimitiveDataTypes。原创 2022-07-17 16:58:53 · 480 阅读 · 0 评论 -
Java 学习笔记 HashMap 中的 hash 方法为何要进行异或和位移?
Hash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。实际上,由 Object 类定义的 hashCode 方法确实会针对不同的对象返回不同的整数。位的东西(int)接收就行了。位的暗号,底层实现太复杂,年轻人我怕你把握不住。原创 2022-11-20 20:58:06 · 910 阅读 · 2 评论 -
EasyExcel 学习笔记 - 自定义注解导入 Excel
判断当前参数上如果有注解。就处理// 如果存在指定注解进入excel resolveArgument } @Override public Object resolveArgument(MethodParameter parameter , // 当前参数对象 ModelAndViewContainer mavContainer , NativeWebRequest webRequest , WebDataBinderFactory binderFactory) {try {原创 2022-10-23 22:25:44 · 763 阅读 · 0 评论 -
lombok 学习笔记
添加了有参构造后,必需手动添加无参。所以这个经常配合上面一起使用。注意如果用不了,检查一下是不是已经添加了其他日志工具,冲突了。有了它,当参数很多是奇葩类需要构造函数时,就可以好看很多了。给当前类自动创建一个包含所有参数的构造函数。原创 2022-10-14 11:00:52 · 353 阅读 · 0 评论 -
Java 学习笔记 - 操作符优先级 Operator Precedence
操作符优先级:先成熟后加碱+--++n--n+n-n~!*/%+->>>=instanceof==!=&^|&&||?=+=-=*=/=%=&=^=|==>>>=原创 2022-07-17 10:56:15 · 297 阅读 · 0 评论 -
JDK-8274609 JEP 421: Deprecate Finalization for Removal
JDK9中已标记为不推荐。然后是可以手动关闭,再后是默认关闭,最后移除。官方的示例有说明,必须手动调用基类的finalize。并指出这是个坑,很容易遗漏。这套终止化机制本身存在问题。finalize可能会导致性能问题、死锁和挂起。finalize内出错时可能导致资源泄漏;如果不再需要,也没有办法取消;在不同的对象中调用finalize也没法指定顺序。此外,对于最终完成终止化的时间也没有保障。只有在无尽的等待之后,最终有可能在终结对象上调用finalize。。当对象变得不可访问时,和finalize。。...原创 2022-07-16 15:48:39 · 452 阅读 · 0 评论 -
Java8 学习笔记 - Iterable.forEach() 和 for(item : list) 的关系,及遍历中 remove
ConcurrentModificationException 的本意。的源码可以看出,这几个方法都会做检测。如果有并发操作,就会抛异常。所以想要删除元素时,我们只能调用迭代器的 remove。的值来检查到并发翻车的情况,实现快速失败。的老问题还是一样的:异常。Java8 新增的默认方法。就是一个作为过滤器的。获取迭代器是通过调用。如果只是单纯的按条件。创建迭代器时,其内部用。原创 2022-07-06 21:23:26 · 1152 阅读 · 0 评论 -
EasyExcel 学习笔记 - 读Excel
另外了方便还引用了, 不创建对象的读正常创建按表字段,创建实体,然后读数据,没什么好说的。这里看一下:不创建对象的读就是官方代码,只是补充了一下注释。测试代码这注释也是官方的,好像少字了。参考资料Easy Excel 官网............原创 2022-06-27 19:36:13 · 3014 阅读 · 0 评论 -
Java 学习笔记 - IO篇:读写文本文件txt
BufferedReader 逐行读取Scanner 逐行读取FileInputStream 读 UTF-8 字符集读取数据后以方式解码字符串。Java7- Files:读取整个文件到 byte[]读小文件很方便。java.nio.file.Files 下还有很多其他读取文件的方法如:Java8 - Stream 读取逐行读取逐行输出 转 取第 N 行通过流处理大文件,跳过N行,直接从目标行开始处理。Java8:BufferedReaderJava8 添加了 可原创 2022-06-15 13:51:21 · 664 阅读 · 0 评论 -
Java 学习笔记 - Spring工具类:FileCopyUtils、StreamUtils
Spring 在 org.springframework.util 包提供了很多实用的工具类。今天关心一下 相关的两个:就是对的方法进行了封装,在每次复制完毕后。(因为在复制完成后流都是保持打开的。)参考资料org.springframework.util.FileCopyUtilsorg.springframework.util.StreamUtils...原创 2022-06-14 16:29:50 · 1313 阅读 · 0 评论 -
Java 并发编程笔记 - 创建线程的 ?种方法
Java 只能单继承,所以一般不会这么用。Runnable 接口实现 Runnable 重写 run没有返回值启动:两种3.1. 丢进 再 3.2. 用 启动线程Callable实现 重写 有返回值。返回值类型 启动三种:3.1. 丢进 再 3.2. 用 启动线程3.3. 先丢进 再交给 提交 获取线程返回值多线程虚假唤醒对比两个方法对的判断处理。的判断在中,下次醒来时,会直接往下走。但我们想要的是被唤醒后,首先判断是否满足条件,满足的情况下才处原创 2022-06-13 21:16:28 · 136 阅读 · 0 评论 -
Java 学习笔记 - Apache POI 处理 Excel
测试Iterator 遍历参考资料Apache POI - JavadocsApache POI - Component OverviewApache POI - Component Overview:HSSF、XSSF快速指南JavatPoint:Apache POI Tutorialstackoverflow:Apache POI Excel How To …cnblogs - 技术江湖 - Apache POI使用详解CSDN - 技术宅星云 - Apache POI 中文使.....原创 2022-06-09 19:27:46 · 2751 阅读 · 0 评论 -
Java 学习笔记 - IO篇:复制文件
★ 递归复制整个文件夹内容FileInputStream、FileOutputStream 实现BufferedInputStream、BufferedOutputStream 实现FileChannel 实现Java7 的 Files.copy 实现Java7 的 Files.walkFileTree + FileVisitor 实现递归复制递归复制整个文件夹内容这里主要是参数判断和递归的逻辑,负责拷贝单个文件,可以换别的方式实现。字符文件FileReader、FileWri原创 2022-06-08 13:46:11 · 422 阅读 · 0 评论 -
Java 学习笔记 - 集合运算
java 集合操作Java8 Stream参考资料List.retainAll (Java Platform SE 8 )Apache Commons 集合工具类:commons-collectionsjava.util.stream.Stream (Java Platform SE 8 )原创 2022-06-04 20:04:39 · 326 阅读 · 0 评论 -
Java 学习笔记 - Java 8 StringJoiner
链式调用合并两个 StringJoiner 的开始结束符有效。没添加任何元素时显示某值参考资料java.util.StringJoiner (Java Platform SE 8 )原创 2022-06-02 17:27:18 · 229 阅读 · 0 评论 -
Java 学习笔记 - 时间日期常用案列
Java8提供了新的日期时间API原创 2022-06-02 14:57:23 · 1312 阅读 · 0 评论 -
Java 学习笔记 - AutoCloseable、Closeable
自动释放资源参考资料AutoCloseable (Java Platform SE 8 )原创 2022-06-01 12:10:43 · 256 阅读 · 0 评论 -
Java 学习笔记 System.arraycopy 复制数组
Java 学习笔记 System.arraycopy 复制数组System.arraycopy 复制数组例:Arrays.copyOf(源数组, 个数)例:参考资料System.arraycopy 复制数组public static native void arraycopy(Object src, // 源数组 int srcPos, // 源数组开始复制的位置 Object原创 2022-05-25 18:29:04 · 539 阅读 · 0 评论 -
Java库 学习笔记 - POI 在Word文档中查找指定关键字并设置背景色
随手测试,有空再研究。<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.8</version> </dependency> <dependency> <groupId>org.apache.poi</gr原创 2022-03-22 10:05:05 · 2328 阅读 · 0 评论 -
JavaScript 代码收集 - Java API 方法列表提取
Java APIhttps://docs.oracle.com/javase/8/docs/api/index.html?java/util/stream/Collectors.htmlcopy('Modifier and Type | Method | Description\n--|--|--\n' + [...document.querySelectorAll("table.memberSummary > tbody > tr:nth-child(n+2)")].map(e=>{原创 2022-02-25 22:18:30 · 771 阅读 · 0 评论 -
Java 学习笔记 - 日志体系:SLF4J 是啥?与各日志框架啥关系?
Java 学习笔记 - 日志体系SLF4JLog4j2添加适配器依赖web.xml 配置log4j2.xml参考资料SLF4JSimple Logging Facade for Java (SLF4J) 充当各种日志框架(例如 java.util.logging、logback、log4j)的简单外观或抽象(外观模式),允许最终用户在部署时插入所需的日志框架。(啥叫面向接口编程,这就是吧。)SLF4J的出现是为了干掉上一个想一统江湖,却又力不从心的JCL(Jakarta Commons Logging原创 2021-12-22 17:53:33 · 876 阅读 · 0 评论 -
Apache Commons IO - FileUtils 学习笔记
参考资料Apache Commons IO - FileUtils原创 2021-08-07 21:58:39 · 245 阅读 · 0 评论 -
HttpURLConnection 学习笔记 - 百度内容审核-图像
URL url; HttpURLConnection connection = null; OutputStream outputStream = null; InputStream inputStream = null; // 请求返回的数据流 StringBuilder sb; try { url = new URL(path); connection = (HttpURLC原创 2021-07-23 16:20:06 · 219 阅读 · 0 评论 -
HttpClientUtil 工具类
依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version> </dependency>工具类package com.jer原创 2021-04-16 16:45:47 · 1477 阅读 · 0 评论 -
动态代理 InvocationHandler
接口/** * @author jerryjin */public interface IHero { String hi(String name);}目标类/** * @author jerryjin */public class Hero implements IHero{ @Override public String hi(String name){ return name + "你好!"; }}笨笨你好!代理类原创 2021-03-30 14:10:32 · 285 阅读 · 0 评论 -
JDK 自带 keytool 生成免费证书
JDK 自带 keytool 生成免费证书1. keytool 生成证书keytool -genkey 参数说明示例2. 查看证书keytool -list 参数说明示例1. 详细输出2. 以 RFC 样式输出3. keytool 其它功能keytool -help 说明1. keytool 生成证书keytool -genkey 参数说明D:\JDK8_64\bin>keytool -genkey -helpkeytool -genkeypair [OPTION]...生成密钥对选项原创 2021-01-14 20:12:29 · 901 阅读 · 1 评论 -
Java 学习笔记 String.format
String str = String.format("呵呵 %s %s", a, b);参考资料String.formatFormatter原创 2020-12-08 12:54:28 · 362 阅读 · 0 评论 -
Java 学习笔记 字面量
Array 字面量char[] arr = {'a', 'b', 'c', 'd', 'e'};System.out.println(arr);String[] arr1 = {"你好", "哈喽"};System.out.println(Arrays.toString(arr1));String[][] arr2 = {{"abc", "def"},{"你", "好", "啊"}};Arrays.asList(arr2).stream().map(Arrays::toString).for原创 2020-12-08 00:33:10 · 812 阅读 · 0 评论 -
Java 学习笔记 - Java8的日期时间 LocalDateTime
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");System.out.println(LocalDateTime.now(ZoneOffset.of("+8")).format(dtf));原创 2020-11-08 14:51:20 · 1595 阅读 · 0 评论 -
BloomFilter 布隆过滤器 解决 缓存穿透
BloomFilter 布隆过滤器 解决 缓存穿透缓存穿透 (要查的数据不存在)缓存失效的三种情况布隆过滤器解决思路数据增删问题1000线程同时访问缓存穿透 (要查的数据不存在)在只有Redis + 数据库的方案中,如果查询大量不存在的数据。因为缓存中没有值就要去数据库拿。最终屁也没拿到,Redis形同虚设,数据库累的半死。称之为缓存穿透缓存失效的三种情况简单的说就是缓存没起作用,压力落到了数据库上。失效情况触发操作RedisMySQL举例缓存穿透并发查某条数据无原创 2020-07-15 23:29:42 · 341 阅读 · 0 评论 -
资源汇总合集
前端舒克·贝塔 GitHub - 前端学习资源后端学习资料工具Hutool 是一个丰富的开源工具集原创 2020-06-27 13:02:22 · 297 阅读 · 0 评论 -
Java 学习笔记 注解Annotations
自定义注解1. @interface :用于声明注解2. @Retentio :用于说定义注解的生命周期。也就是保留到什么时候。具体看下面的代码注释说明。这是个元注解(声明注解时使用到的注解)值域:java.lang.annotation.RetentionPolicy.* 下面的代码中有注释3. @Target :用于说明注解可以加在那些代码上。这是个元注解(声明注解时使用到的...原创 2019-12-15 16:28:28 · 1565 阅读 · 0 评论 -
Java 常用正则收集
获取所有P标签内容(?<=<p>).*(?=</p>)获取所有href内容(?<=href=").*(?=/")原创 2019-11-28 20:08:34 · 175 阅读 · 0 评论 -
Java的 try catch finally 和 return
try中的代码如果抛异常,其后的代码不再执行,直接跳进相应的catchcatch的参数指明要捕获的异常,try中异常出现后catch会按顺序从上往下匹配。2.1. catch可以多个,但只会触发匹配到的第一个。(因此捕获异常的类型顺序应该从具体到抽象)finally只要try存在就会执行(因此通常用来释放资源)。除非在它之前虚拟机或线程退出了。3.1 try或catch中有return,...原创 2019-10-13 21:53:07 · 219 阅读 · 0 评论 -
bat 执行 jar
@echo offtitle 标题XXXstart /B java -server -Xms128m -Xmx128m -jar xxx.jarexit# 启动应用程序,但不创建新窗口start /B# 以server模式启动,比默认的 -client 启动慢。但能获得更高性能。java -server# 执行jar文件java -jar...原创 2019-08-27 11:31:51 · 440 阅读 · 0 评论