![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 58
Jorsh_y
牛奶多喝脑子多用.
本人正在和怠惰扳手腕
展开
-
序列化相关:查看已编译的类的序列化值(SerialVersionUid)
记录一次序列化引起的问题解决办法 查看已编译类序列化值本文主要内容:1:怎么查看已经编译的类的序列化(SerialVersionUid)的值2:实现了Serializable接口的对象如果不显示的给出序列化值,默认值怎么算出来的3:拓展知识:序列化与反序列化及为什么要将类序列化昨天快下班的时候遇到了一个这样的问题:java.io.InvalidClassException:xxxx(具体文件全路径);local class incompatible:stream classdesc原创 2020-10-19 16:27:00 · 1547 阅读 · 2 评论 -
HashMap、LinkedHashMap、TreeMap对比
LinkedHashMap与HashMap底层存储结构的区别:LinkedHashMap 存储结构和 HashMap 相同,依然是数组+链表+红黑树 LinkedHashMap 额外持有一个双向链表,维护插入节点的顺序 最终的数据结构如下图 实际的元素存储与HashMap一致,依然是数组+链表+红黑树的形式 区别在于: 除了维护数组+链表的结构之外,还根据插入Map先后顺序维护了一个双向链表的头尾head,tail Node基本结构,相比较HashMap而言,还增加了 before,原创 2020-08-02 17:38:30 · 989 阅读 · 0 评论 -
java多线程什么时候释放锁—wait()、notify()
由于等待一个锁定线程只有在获得这把锁之后,才能恢复运行,所以让持有锁的线程在不需要锁的时候及时释放锁是很重要的。在以下情况下,持有锁的线程会释放锁: 1. 执行完同步代码块。 2. 在执行同步代码块的过程中,遇到异常而导致线程终止。 3. 在执行同步代码块的过程中,执行了锁所属对象的wait()方法,这个线程会释放锁,进行对象的等待池。 除了以上情况外,只要持有锁的此案吃还没有执行完同步代码块,就不会释放锁。因此在以下情况下,线程不会释放锁: 1. 在执行同步代码块的...原创 2020-07-27 22:46:36 · 245 阅读 · 0 评论 -
java8 stream常用方法
一. 什么是 StreamStream 中文称为“流”,通过将集合转换为这么一种叫做 “流” 的元素序列,通过声明性方式,能够对集合中的每个元素进行一系列并行或串行的流水线操作。二. 流操作整个流操作就是一条流水线,将元素放在流水线上一个个地进行处理。其中数据源便是原始集合,然后将如 List<T> 的集合转换为 Stream<T> 类型的流,并对流进行一系列的中间操作,比如过滤保留部分元素、对元素进行排序、类型转换等;最后再进行一个终端操作,可以把 Stream .转载 2020-07-08 19:55:32 · 674 阅读 · 0 评论 -
BeanCopier实现对象拷贝
https://www.cnblogs.com/winner-0715/p/10117282.html转载 2020-07-08 18:54:25 · 650 阅读 · 0 评论 -
Arrays.sort()分析
首先先来看一下Arrays.sort()使用的例子。例子1:Arrays.sort(int[] a)//注意一定要用Integer对象类 Integer[] a1 = {34, 57, 46, 89, 98, 12, 55, 84, 29}; Integer[] a2 = {34, 57, 46, 89, 98, 12, 55, 84, 29}; //增序,Arrays.sort()默认升序 Arrays.sort(a1);原创 2020-06-27 21:51:45 · 206 阅读 · 0 评论 -
MAC安装MAT内存分析工具
一、背景在java程序运行中发生OOM的时候,我们可以使用强大的内存分析工具MAT进行问题跟踪,但由于习惯了使用idea开发,再为了MAT下载个eclipse太麻烦,所以安装MAT独立版。二、安装下载地址:https://eclipse.org/mat/downloads.php选择自己系统相应的版本下载,下载完得到一个zip文件,笔者这里使用的是Mac OSX (Mac/Cocoa x86_64),解压后得到mat文件如果这里双击打开没问题,则可以开始正常使用了;如果双击提示异常,那么继续原创 2020-06-19 10:19:40 · 650 阅读 · 0 评论 -
Object、T、?的区别
1.Object类:java.lang包在使用的时候无需显示导入,编译时由编译器自动导入。Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类。Object类是Java中唯一没有父类的类。其他所有的类,包括标准容器类,比如数组,都继承了Object类中的方法。2.Object运用:如果你方法参数存在object,那么就意味这你的参数范围很广,同时也会使你的方法变的更加灵活,因为object是所有类的父类.例如:public List getListO(Object ob){原创 2020-06-01 22:40:35 · 415 阅读 · 0 评论 -
fastJson、JackJson以及Gson序列化对象与get、set以及对象属性之间的关系
众所周知,平时开发过程中将对象序列化成json字符串常用的工具类一般就三种:fastJson、Gson、Jackjson,但是三种工具类在将对象进行序列化时与对象的get、set、对象属性之间的关系你知道吗,如果知道了,那么下面的你没必要看了,不知道的话请继续看下去。1.与对象属性之间的关系为了区分三者之间的关系,我创建了一个测试类,只有一个success属性,没有get、set方法,默...转载 2020-05-08 15:41:30 · 621 阅读 · 0 评论 -
SpringBoot之Filter详解
上篇分析了Interceptor(拦截器),今天继续对Filter(过滤器)做一个分析。何为过滤器Filter是J2EE中来的,可以看做是Servlet的一种“加强版”,它主要用于对用户请求进行预处理和后处理,拥有一个典型的处理链。Filter也可以对用户请求生成响应,这一点与Servlet相同,但实际上很少会使用Filter向用户请求生成响应。使用Filter完整的流程是:Filter对用户...原创 2020-03-16 17:00:50 · 652 阅读 · 0 评论 -
Springboot注解@ServletComponentScan和@ComponentScan
一、SpringBoot中使用Servlet在SpringBootApplication上使用@ServletComponentScan注解后,Servlet、Filter、Listener可以直接通过@WebServlet、@WebFilter、@WebListener注解自动注册,无需其他代码。1.在入口Application类上加入注解@ServletComponentScan...转载 2020-03-11 17:33:56 · 1118 阅读 · 0 评论 -
SpringBoot之interceptor
今天将对SpringBoot中的拦截器interceptor从功能、实现、源码等方面进行分析。何为拦截器拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截,然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。拦截器作用 日志记录:记录请求信息的日志,以便进行信息监控、信息统计、计算PV(Page View)等...原创 2020-03-08 19:24:19 · 907 阅读 · 1 评论 -
return 和 finally究竟谁先被执行?
今天对return和finally做一个彻底详细的总结吧!1:无论程序从try或catch中返回,finally总会被执行。并且finally语句是在return语句执行之后、返回之前执行的。try/finally:public class tryDemo { public static int show() { try { retur...原创 2020-03-07 15:42:30 · 333 阅读 · 0 评论 -
Java的OutOfMemoryError(内存溢出)
在解决java内存溢出问题之前,需要对jvm(java虚拟机)的内存管理有一定的认识。jvm管理的内存大致包括三种不同类型的内存区域:Permanent Generation space(永久保存区域)、Heap space(堆区域)、Java Stacks(Java栈)。其中永久保存区域主要存放Class(类)和Meta的信息,Class第一次被Load的时候被放入PermGen space区域...原创 2020-01-14 10:29:33 · 75 阅读 · 0 评论 -
strlen与sizeof计算char* 与char数组
https://blog.csdn.net/u011866460/article/details/39667371sizeof()可以计算所有类型,strlen()仅计算字符串。char *a;char b[5];sizeof(a) = 8 ; // 64位系统,8代表的是指针的大小,指针占8字节sizeof(b) = 5 ; //...原创 2018-06-08 20:41:57 · 385 阅读 · 0 评论 -
java杂
ThreadLocalenum 对静态int来定义状态的升级页面跳转的方法总结:https://www.cnblogs.com/zxcjj/p/7082323.html原创 2019-04-12 20:32:25 · 136 阅读 · 0 评论