随笔分类 -  Java

摘要:什么是堆污染 heap pollution 堆污染发生在使用可变参数(varargs)或泛型时,将不兼容的类型插入到一个泛型对象中。这会导致在运行时尝试访问这些对象时发生 ClassCastException。例如: public static void heapPollutionExample(L 阅读全文
posted @ 2024-07-05 04:45 雨中遐想 阅读(492) 评论(0) 推荐(0) 编辑
摘要:前言 我们知道,运行java程序需要jre或jdk环境,但是现在的jdk安装包已经很大了,如果我们的程序很简单,并且需要把程序发送给其他没有jdk环境的人的运行要如何做呢?如何精简我们的程序包呢? 从java9开始的模块功能为我们提供了解决方案。Java 库设计者现在可以将代码清晰地划分为模块,这些 阅读全文
posted @ 2024-07-03 17:16 雨中遐想 阅读(28) 评论(0) 推荐(0) 编辑
摘要:多线程中如何确定核心线程数 并发不高 IO密集型:CPU逻辑数*2+1 CPU密集型:CPU逻辑数+1 高并发 任务执行时间短:(CPU逻辑数+1),减少线程上下文的切换 任务执行时间长:调整系统架构(增加缓存,优化SQL) 确认CPU逻辑数可以使用如下方法 @Test public void sy 阅读全文
posted @ 2024-03-10 00:29 雨中遐想 阅读(53) 评论(0) 推荐(0) 编辑
摘要:java8之前接口中的方法默认类型都是public abstract,也就是抽象方法,具体实现都交给实现类。而java8对接口功能做了增强,增加了default方法和static方法,也就是说从java8开始接口中的方法不再只能是抽象的,也可以有实现。 其应用也非常简单,如下面的例子所示,在接口中定 阅读全文
posted @ 2022-01-03 14:55 雨中遐想 阅读(716) 评论(0) 推荐(0) 编辑
摘要:目录定义使用注解作用分类元注解JDK中预定义的一些注解@Override@Deprecated:该注解标注的内容,表示已过时@SuppressWarnings自定义注解 定义 注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在 阅读全文
posted @ 2021-02-04 11:05 雨中遐想 阅读(73) 评论(0) 推荐(0) 编辑
摘要:你真的了解try{ return }finally{}中的return? 阅读全文
posted @ 2021-01-03 23:43 雨中遐想 阅读(77) 评论(0) 推荐(0) 编辑
摘要:System.nanoTime() 方法 JDK1.5之后java中的计时给出了更精确的方法:System.nanoTime(),输出的精度是纳秒级别,这个给一些性能测试提供了更准确的参考。 注:1 ms = 1000,000 ns 通过System.nanoTime()方法并不能计算出当前系统时间 阅读全文
posted @ 2020-11-22 18:43 雨中遐想 阅读(1915) 评论(0) 推荐(0) 编辑
摘要:我们知道文件存储的方式在计算机当中是以字节的方式进行存储的,可以通过对文件字节的操作来实现文件的加密。 下面的例子是通过读取文件的字节,然后使字节中的每一位取反(1变0,0变1),再进行倒置,来实现加解密过程。 import java.io.BufferedInputStream; import j 阅读全文
posted @ 2020-11-15 16:45 雨中遐想 阅读(780) 评论(0) 推荐(0) 编辑
摘要:不知道他验证了没。。。 package com.zjw; /** * @author 朱俊伟 * @date 2020/11/12 22:09 */ public class TestError { public static void main(String[] args) { testWhile 阅读全文
posted @ 2020-11-12 22:25 雨中遐想 阅读(1297) 评论(0) 推荐(0) 编辑
摘要:目录基于接口的动态代理基于子类的动态代理——cglib 动态代理: 特点:字节码随用随创建,随用随加载 作用:不用修改源码的基础上对方法增强 分类: 基于接口的动态代理 基于子类的动态代理 基于接口的动态代理 接口 package com.zjw.proxy; public interface IP 阅读全文
posted @ 2020-11-10 14:36 雨中遐想 阅读(78) 评论(0) 推荐(0) 编辑
摘要:一:值是null的情况: a.equals(b), a 是null, 抛出NullPointException异常。 a.equals(b), a不是null, b是null, 返回false Objects.equals(a, b)比较时, 若a 和 b 都是null, 则返回 true, 如果a 阅读全文
posted @ 2020-11-08 09:29 雨中遐想 阅读(469) 评论(0) 推荐(0) 编辑
摘要:Java开发手册说明: 对于 Integer var = ? 在-128 至 127 之间的赋值,Integer 对象是在 IntegerCache.cache 产生,会复用已有对象,这个区间内的 Integer 值可以直接使用==进行判断,但是这个区间之外的所有数据,都会在堆上产生,并不会复用已有 阅读全文
posted @ 2020-11-08 09:16 雨中遐想 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-10-28 11:01 雨中遐想 阅读(102) 评论(0) 推荐(0) 编辑
摘要:from --韩顺平 openjdk源码下载 阅读全文
posted @ 2020-10-28 10:31 雨中遐想 阅读(258) 评论(0) 推荐(0) 编辑
摘要:JAVA_HOME: E:\Android\Java\jdk1.8.0_131 PATH: %JAVA_HOME\%bin 也可以只配置PATH就可以,如 E:\Android\Java\jdk1.8.0_131\bin 验证配置成功,cmd输入java -version 阅读全文
posted @ 2020-10-27 17:14 雨中遐想 阅读(208) 评论(0) 推荐(0) 编辑
摘要:目录1 简介2 存储过程3 几个重要的变量4 深入源码4.1 新建集合4.2 添加第一笔数据4.2.1 数组初始化4.2.2 计算key的hash值4.2.3 计算应该存放在数组中的位置4.2.4 添加元素4.2.5 添加一个元素后,集合结构4.3 添加第二笔数据4.4 添加重复的key4.5 解决 阅读全文
posted @ 2020-10-14 23:11 雨中遐想 阅读(163) 评论(0) 推荐(0) 编辑
摘要:tableSizeFor是HashMap中的一个方法,功能(不考虑大于最大容量的情况)是返回大于输入参数且最近的2的整数次幂的数。 参考:https://www.cnblogs.com/loading4/p/6239441.html 该算法让最高位的1后面的位全变为1。最后再让结果n+1,即得到了2 阅读全文
posted @ 2020-10-13 16:26 雨中遐想 阅读(107) 评论(0) 推荐(0) 编辑
摘要:目录简介常用方法操作范例 简介 Collections是java.util包下的集合工具类,定义了除了存取以外的集合常用方法。 常用方法 public static <T extends Comparable<? super T>> void sort(List<T> list) //升序排列(元素 阅读全文
posted @ 2020-10-12 15:17 雨中遐想 阅读(93) 评论(0) 推荐(0) 编辑
摘要:目录1 Map父接口2 HashMap2.1 HashMap的定义2.2 HashMap使用3 Hashtable(不使用)4 Properties5 TreeMapHashMap HashTable TreeMap区别 1 Map父接口 特点:存储一对数据(Key-Value),无序、无下标,键不 阅读全文
posted @ 2020-10-12 13:48 雨中遐想 阅读(79) 评论(0) 推荐(0) 编辑
摘要:String类已经实现了Comparable接口,我们可以根据TreeSet提供的构造器传入自己的比较器。 public class Set4 { public static void main(String[] args) { Set<String> stringSet = new TreeSet 阅读全文
posted @ 2020-10-10 00:04 雨中遐想 阅读(235) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示