随笔分类 -  java

摘要:MAT下载 工具下载 Linux版本: 链接: https://pan.baidu.com/s/1jdYASRmM01zFgh_wxmdEWA?pwd=6aww 提取码: 6aww MAC 版本: 链接: https://pan.baidu.com/s/1Dzi0frJ0oNessPfbmy-tmw 阅读全文
posted @ 2023-11-17 18:15 aaacarrot 阅读(1658) 评论(0) 推荐(0)
摘要:两个时间类型的字符串,要进行大小比较 比如 2023-01-02T00:38:20 和 2023-11-02T21:00:20 这两个时间,是字符串的,要进行比较 如果转成时间,多少有点不太乐意,有点麻烦。 更为简单的方式是直接使用 compareTo ``` public static void 阅读全文
posted @ 2023-08-09 16:17 aaacarrot 阅读(1053) 评论(0) 推荐(0)
摘要:在MacOS系统中,如果你遇到了「java.net.socketexception: too many open files」错误,这通常是由于您的系统限制了文件打开数量。您可以通过以下方法解决这个问题: 修改ulimit设置:您可以通过修改ulimit设置来提高文件打开数量的限制。您可以使用以下命 阅读全文
posted @ 2023-06-06 20:37 aaacarrot 阅读(862) 评论(0) 推荐(0)
摘要:用于内存分析定位的指令/工具有: jmap, jstat, jinfo, jstack jmap (1)分析进程中的内存使用情况,是多少个什么样的对象占用了多大的内存,这类型的分析 (2)也可以导出堆转储文件, 导出后,再来分析 查看一个进程的存活对象: jmap -histo:live pid 这 阅读全文
posted @ 2023-05-09 09:53 aaacarrot 阅读(409) 评论(0) 推荐(0)
摘要:简介 1、jmap能够打印给定Java进程、核心文件或远程DEBUG服务器的共享对象内存映射或堆内存的详细信息。 2、如果给定的进程运行在64位虚拟机上,则必须指定 -J-d64选项,例如jmap -J-d64 -heap pid。 3、jmap可能在未来的JDK版本中删除。 可用于内存溢出,泄露等 阅读全文
posted @ 2023-05-06 21:00 aaacarrot 阅读(1552) 评论(0) 推荐(0)
摘要:什么是缓存行 Cache是由很多个cache line组成的。每个cache line通常是64字节,并且它有效地引用主内存中的一块儿地址。一个Java的long类型变量是8字节,因此在一个缓存行中可以存8个long类型的变量。 CPU每次从主存中拉取数据时,会把相邻的数据也存入同一个cache l 阅读全文
posted @ 2023-05-05 20:24 aaacarrot 阅读(133) 评论(0) 推荐(0)
摘要:关于 switch-case 的的使用误区 先看一段代码 Integer bb = 1; switch (bb){ case 1: System.out.println(1); case 2: System.out.println(2); default: System.out.println(3) 阅读全文
posted @ 2023-04-27 12:09 aaacarrot 阅读(63) 评论(0) 推荐(0)
摘要:HttpServletResponse使用PrintWriter输出中文的时候,如果不设置流的编码就会产生乱码,PrintWriter直接输出的字符流首先使用"response.setCharacterEncoding(charset)"设置字符以什么样的编码输出到浏览器,如果不设置则默认是ISO- 阅读全文
posted @ 2023-04-07 13:50 aaacarrot 阅读(362) 评论(0) 推荐(0)
摘要:背景: 在一次扫描中被提示: Field [SESSION_CONTEXT] of type ThreadLocal must call remove() method at least one times. (line 34) 嗯?啥子情况? 搜索了一下,发现: ThreadLocal 属于线程, 阅读全文
posted @ 2023-03-27 16:52 aaacarrot 阅读(1226) 评论(0) 推荐(0)
摘要:问题,如题。 意思是,使用 BigDecimal 除法,产生了无限循环小数,产生了bug。 解决方法,很简单 a.divide(b, 2, BigDecimal.ROUND_HALF_UP); 意思就是 a / b, 保留两位小数,然后采用的是4舍5入的方式。 嗯,然后,第三个参数,有很多,点方法进 阅读全文
posted @ 2023-03-11 22:21 aaacarrot 阅读(95) 评论(0) 推荐(0)
摘要:结论 方法有很多,目的都是修改线程工厂类里面的 Name 属性 记录一下可能会到用的方法 1、自定义线程工厂,模仿 NamedThreadFactory 自定义写一个就行 2、Google guava 工具类 提供的 ThreadFactoryBuilder 3、Spring 框架提供的 Custo 阅读全文
posted @ 2023-03-07 20:34 aaacarrot 阅读(888) 评论(0) 推荐(0)
摘要:背景 想要记录一下关于jdk下的 hashmap 存在的一些问题: 1、许多同学都知道JDK下的 HashMap 是线程不安全的,但究竟是怎样个不安全法,在多线程下会出现怎样的问题?其中原因是什么? 多线程下HashMap可能会出现的问题 1、多线程put操作后,可能会导致元素丢失 2、往里面put 阅读全文
posted @ 2023-02-23 14:28 aaacarrot 阅读(206) 评论(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 阅读(443) 评论(0) 推荐(0)
摘要:关于SimpleDateFormat 熟悉Java的同学知道这个类是线程不安全的,但究竟是怎样不安全法,什么原因产生的线程不安全?估计未必全部人都能够答得上来(我也不能,emmmm) 呃,想更好地了解关于 SimpleDateFormat 这个工具类的线程不安全的原因,推荐一位大佬的博客,请参考:高 阅读全文
posted @ 2023-02-21 18:39 aaacarrot 阅读(183) 评论(0) 推荐(0)
摘要:lock() 、 trylock()、tryLock(long timeout, TimeUnit unit) 三者 lock 等到锁为止 trylock() 返回 boolean, 它是立即返回的!成就成,不成就不成,没有说必须拿到锁才行这么一说 tryLock(long timeout, Tim 阅读全文
posted @ 2023-02-21 17:38 aaacarrot 阅读(25) 评论(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 阅读(45) 评论(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 阅读(48) 评论(0) 推荐(0)
摘要:List 转 String (用分隔符隔开) 使用for 循环 + StringBuilder 的 方式就不记了, 写一种相对简约一点的做法: public String listToString(List list, char separator) { return org.apache.comm 阅读全文
posted @ 2023-02-07 10:36 aaacarrot 阅读(1605) 评论(0) 推荐(0)
摘要:参考:https://www.cnblogs.com/shindo/p/5579191.html (先 mark 一下) 阅读全文
posted @ 2023-01-27 15:07 aaacarrot 阅读(27) 评论(0) 推荐(0)
摘要:UML中,可见性分为4级 1、public 公用的 :用+ 前缀表示 ,该属性对所有类可见 2、protected 受保护的:用 # 前缀表示,对该类的子孙可见 3、private 私有的:用- 前缀表示,只对该类本身可见 4、package 包的:用 ~ 前缀表示,只对同一包声明的其他类可见 阅读全文
posted @ 2023-01-27 15:05 aaacarrot 阅读(1533) 评论(0) 推荐(0)