随笔分类 -  java

摘要:什么是缓存行 Cache是由很多个cache line组成的。每个cache line通常是64字节,并且它有效地引用主内存中的一块儿地址。一个Java的long类型变量是8字节,因此在一个缓存行中可以存8个long类型的变量。 CPU每次从主存中拉取数据时,会把相邻的数据也存入同一个cache l 阅读全文
posted @ 2023-05-05 20:24 aaacarrot 阅读(120) 评论(0) 推荐(0) 编辑
摘要:HttpServletResponse使用PrintWriter输出中文的时候,如果不设置流的编码就会产生乱码,PrintWriter直接输出的字符流首先使用"response.setCharacterEncoding(charset)"设置字符以什么样的编码输出到浏览器,如果不设置则默认是ISO- 阅读全文
posted @ 2023-04-07 13:50 aaacarrot 阅读(311) 评论(0) 推荐(0) 编辑
摘要:问题,如题。 意思是,使用 BigDecimal 除法,产生了无限循环小数,产生了bug。 解决方法,很简单 a.divide(b, 2, BigDecimal.ROUND_HALF_UP); 意思就是 a / b, 保留两位小数,然后采用的是4舍5入的方式。 嗯,然后,第三个参数,有很多,点方法进 阅读全文
posted @ 2023-03-11 22:21 aaacarrot 阅读(84) 评论(0) 推荐(0) 编辑
摘要:背景 想要记录一下关于jdk下的 hashmap 存在的一些问题: 1、许多同学都知道JDK下的 HashMap 是线程不安全的,但究竟是怎样个不安全法,在多线程下会出现怎样的问题?其中原因是什么? 多线程下HashMap可能会出现的问题 1、多线程put操作后,可能会导致元素丢失 2、往里面put 阅读全文
posted @ 2023-02-23 14:28 aaacarrot 阅读(146) 评论(0) 推荐(0) 编辑
摘要:定位线程死锁的方式 jstack pid 使用arthas 写一个死锁的小例子 import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.CountDownLatch; import java.util.c 阅读全文
posted @ 2023-02-21 21:17 aaacarrot 阅读(398) 评论(0) 推荐(0) 编辑
摘要:关于SimpleDateFormat 熟悉Java的同学知道这个类是线程不安全的,但究竟是怎样不安全法,什么原因产生的线程不安全?估计未必全部人都能够答得上来(我也不能,emmmm) 呃,想更好地了解关于 SimpleDateFormat 这个工具类的线程不安全的原因,推荐一位大佬的博客,请参考:高 阅读全文
posted @ 2023-02-21 18:39 aaacarrot 阅读(168) 评论(0) 推荐(0) 编辑
摘要:lock() 、 trylock()、tryLock(long timeout, TimeUnit unit) 三者 lock 等到锁为止 trylock() 返回 boolean, 它是立即返回的!成就成,不成就不成,没有说必须拿到锁才行这么一说 tryLock(long timeout, Tim 阅读全文
posted @ 2023-02-21 17:38 aaacarrot 阅读(19) 评论(0) 推荐(0) 编辑
摘要:比较器 Comparator 接口 lamda 表达式定法 和 比较器类写法 public class StringComparator implements Comparator<String> { @Override public int compare(String s1, String s2 阅读全文
posted @ 2023-02-10 11:19 aaacarrot 阅读(37) 评论(0) 推荐(0) 编辑
摘要:直接看代码得了 是使用配置类进行分库分表设置 还可以使用配置文件进行配置 代码详情 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi= 阅读全文
posted @ 2023-02-08 16:50 aaacarrot 阅读(35) 评论(0) 推荐(0) 编辑
摘要:List 转 String (用分隔符隔开) 使用for 循环 + StringBuilder 的 方式就不记了, 写一种相对简约一点的做法: public String listToString(List list, char separator) { return org.apache.comm 阅读全文
posted @ 2023-02-07 10:36 aaacarrot 阅读(1577) 评论(0) 推荐(0) 编辑
摘要:参考:https://www.cnblogs.com/shindo/p/5579191.html (先 mark 一下) 阅读全文
posted @ 2023-01-27 15:07 aaacarrot 阅读(21) 评论(0) 推荐(0) 编辑
摘要:UML中,可见性分为4级 1、public 公用的 :用+ 前缀表示 ,该属性对所有类可见 2、protected 受保护的:用 # 前缀表示,对该类的子孙可见 3、private 私有的:用- 前缀表示,只对该类本身可见 4、package 包的:用 ~ 前缀表示,只对同一包声明的其他类可见 阅读全文
posted @ 2023-01-27 15:05 aaacarrot 阅读(1302) 评论(0) 推荐(0) 编辑
摘要:java里面创建实例有哪些方式呢? 直接new 一个 通过反射 通过 clone 方法 通过反序列化 new 一个实例 // 使用java语言的关键字 new 创建对象,初始化对象数据,这个确实就没有什么好说的了,应该也是用得最多的的了 Dog doge = new Dog(); 通过反射生成一个实 阅读全文
posted @ 2023-01-26 16:38 aaacarrot 阅读(523) 评论(0) 推荐(0) 编辑
摘要:背景 业务系统中,有一个导出,就是很普通的列表查询,然后可以点击导出,生成一个文件。就这么一个功能。 使用的 excel 工具类是: org.apache.poi.xssf 用的poi这个工具类。 问题描述 在一天晚上项目上线后,发现这个功能点出现错误 点击导出时,后台报了一段错误: Caused 阅读全文
posted @ 2023-01-05 13:07 aaacarrot 阅读(4155) 评论(0) 推荐(0) 编辑
摘要:背景 JAVA8之后引入了 optional 关于optional的使用也比较多了,此处暂时不表 这儿暂且只说一下 orElse和orElseGet的区别 写了一个获取枚举类型的工具类,来做个例子 嗯,怎么说呢,看代码吧,如果没有表达清楚,也没办法了。 如果orElseGet 和 orElse 里面 阅读全文
posted @ 2023-01-01 10:53 aaacarrot 阅读(570) 评论(0) 推荐(0) 编辑
摘要:参考来自于: HashMap 的 7 种遍历方式与性能分析! 方法之1: 使用 forEach public class HashMapTest { public static void main(String[] args) { // 创建并赋值 HashMap Map<Integer, Stri 阅读全文
posted @ 2022-11-07 10:20 aaacarrot 阅读(35) 评论(0) 推荐(0) 编辑
摘要:放了文件在 resources 目录下,只想拿到它的路径。 参考: java获取resource下的文件路径 详情如下: String path = xxx.class.getClassLoader().getResource("targetFile.txt").getPath(); java获取文 阅读全文
posted @ 2022-10-26 14:20 aaacarrot 阅读(3634) 评论(0) 推荐(0) 编辑
摘要:1、异常:Exception in thread "Thread-12" java.lang.IllegalMonitorStateException 出现这个问题的一个场景之一:去unlock一个没有被锁上的锁。(其它场景可能出会出现这个问题,这只是其中一种可能的场景) 上代码看一眼吧: 错误的示 阅读全文
posted @ 2022-09-17 11:13 aaacarrot 阅读(111) 评论(0) 推荐(0) 编辑
摘要:参考引用: http://t.csdn.cn/8z6sC 使用Collection集合中的 contains, remove , removeall 的时候,元素一定要重写 equals 方法,不然它里面的判断会容易出现“预期错误”。 因为它默认判断的是对象地址,但我们预期是按值去判断,所以,这一定 阅读全文
posted @ 2022-09-07 15:10 aaacarrot 阅读(66) 评论(0) 推荐(0) 编辑
摘要:原因: Collectors.toMap(),把一个list,转成map,以list元素的 id为key, name 为 value,其中有元素的 value为空,报了空指针,原因如下: 解决方案: 添加过滤,把value为空的元素去掉,加一个 filter if (null != departme 阅读全文
posted @ 2022-09-03 18:10 aaacarrot 阅读(1875) 评论(0) 推荐(0) 编辑

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