- 博客(26)
- 收藏
- 关注
原创 序列化相关:查看已编译的类的序列化值(SerialVersionUid)
记录一次序列化引起的问题解决办法 查看已编译类序列化值本文主要内容:1:怎么查看已经编译的类的序列化(SerialVersionUid)的值2:实现了Serializable接口的对象如果不显示的给出序列化值,默认值怎么算出来的3:拓展知识:序列化与反序列化及为什么要将类序列化昨天快下班的时候遇到了一个这样的问题:java.io.InvalidClassException:xxxx(具体文件全路径);local class incompatible:stream classdesc
2020-10-19 16:27:00
1702
2
原创 HashMap、LinkedHashMap、TreeMap对比
LinkedHashMap与HashMap底层存储结构的区别:LinkedHashMap 存储结构和 HashMap 相同,依然是数组+链表+红黑树 LinkedHashMap 额外持有一个双向链表,维护插入节点的顺序 最终的数据结构如下图 实际的元素存储与HashMap一致,依然是数组+链表+红黑树的形式 区别在于: 除了维护数组+链表的结构之外,还根据插入Map先后顺序维护了一个双向链表的头尾head,tail Node基本结构,相比较HashMap而言,还增加了 before,
2020-08-02 17:38:30
1054
转载 多线程交替打印ABC的多种实现方法
https://blog.youkuaiyun.com/xiaokang123456kao/article/details/77331878
2020-07-27 22:59:45
362
原创 java多线程什么时候释放锁—wait()、notify()
由于等待一个锁定线程只有在获得这把锁之后,才能恢复运行,所以让持有锁的线程在不需要锁的时候及时释放锁是很重要的。在以下情况下,持有锁的线程会释放锁: 1. 执行完同步代码块。 2. 在执行同步代码块的过程中,遇到异常而导致线程终止。 3. 在执行同步代码块的过程中,执行了锁所属对象的wait()方法,这个线程会释放锁,进行对象的等待池。 除了以上情况外,只要持有锁的此案吃还没有执行完同步代码块,就不会释放锁。因此在以下情况下,线程不会释放锁: 1. 在执行同步代码块的...
2020-07-27 22:46:36
280
转载 java8 stream常用方法
一. 什么是 StreamStream 中文称为“流”,通过将集合转换为这么一种叫做 “流” 的元素序列,通过声明性方式,能够对集合中的每个元素进行一系列并行或串行的流水线操作。二. 流操作整个流操作就是一条流水线,将元素放在流水线上一个个地进行处理。其中数据源便是原始集合,然后将如 List<T> 的集合转换为 Stream<T> 类型的流,并对流进行一系列的中间操作,比如过滤保留部分元素、对元素进行排序、类型转换等;最后再进行一个终端操作,可以把 Stream .
2020-07-08 19:55:32
726
转载 Get请求与Post请求的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻轻松松的给出了一个“标准答案”: GET在浏览器回退时是无害的,而POST会再次提交请求。 ...
2020-06-30 18:58:28
112
原创 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
231
原创 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
755
原创 MySql字段值为NULL的判断问题
例如:表1查询SQLselecct * from 表一 where 字段2 != 1查询结果:你会发现,第三列为空的数据没有查询出来。解决方式:SELECT * FROM 表一 WHERE 字段2 != 1 OR 字段2 is Null另一种实现方式:SELECT * FROM 表一 WHERE IFNULL(字段2,'') != 1...
2020-06-16 22:38:01
359
转载 Springboot 集成 Thymeleaf
Thymeleaf模板引擎是springboot中默认配置,与freemarker相似,可以完全取代jsp,在springboot中,它的默认路径是src/main/resources/templates 静态文件css, js 等文件默认路径是src/main/resources/static,所有项目中如果没有这个目录需要手动加上了首先我们要在pom.xml文件中添加依赖 1 2 3 4 <!-- thymeleaf 模板引用...
2020-06-15 23:46:26
987
原创 MySQL编码utf8mb4,别用utf8了
MySQL在5.5.3版本之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。其实,utf8mb4是utf8的超集,理论上原来使用utf8,然后将字符集修改为utf8mb4,也会不会对已有的utf8编码读取产生任何问题。当然,为了节省空间,一般情况下使用utf8也就够了。既然utf8应付日常使用完全没有问题,那为什么还要使用utf8mb4呢? 低版本的MySQL支持的utf8编码,最大字符长度为 3 字节,如果遇到 4 字节的字符就会出现错误
2020-06-02 12:37:55
367
原创 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
441
原创 IP和VIP
高可用性HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。实现HA的方式,一般采用两台机器同时完成一项功能,比如数据库服务器,平常只有一台机器对外提供服务,另一台机器作为热备,当这台机器出现故障时,自动动态切换到另一台热备的机器。怎么实现故障检测的那? 心跳。采用定时发送一个数据包,如果机器多长时间没响应,就认为是发生故障,自...
2020-05-19 14:47:12
896
转载 fastJson、JackJson以及Gson序列化对象与get、set以及对象属性之间的关系
众所周知,平时开发过程中将对象序列化成json字符串常用的工具类一般就三种:fastJson、Gson、Jackjson,但是三种工具类在将对象进行序列化时与对象的get、set、对象属性之间的关系你知道吗,如果知道了,那么下面的你没必要看了,不知道的话请继续看下去。1.与对象属性之间的关系为了区分三者之间的关系,我创建了一个测试类,只有一个success属性,没有get、set方法,默...
2020-05-08 15:41:30
706
原创 SpringBoot之Filter详解
上篇分析了Interceptor(拦截器),今天继续对Filter(过滤器)做一个分析。何为过滤器Filter是J2EE中来的,可以看做是Servlet的一种“加强版”,它主要用于对用户请求进行预处理和后处理,拥有一个典型的处理链。Filter也可以对用户请求生成响应,这一点与Servlet相同,但实际上很少会使用Filter向用户请求生成响应。使用Filter完整的流程是:Filter对用户...
2020-03-16 17:00:50
763
转载 markdown编辑器记录
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2020-03-16 16:53:17
112
转载 spring中的单例和多例中的坑
此处仅是问题的简单描述,并没有按照规范整理,请大家谅解,这是我在遇到这样问题时,随手按照自己的想法记录下了自己的心得,看着有些乱,不过全是干货,希望谅解;//在springboot 整合rabbitmq下 rabbitTemplate 默认是单例形式如果仅是发送队列和接受队列消息 该单例模式就足够使用了如果想要 对于 发布端进行消息推送确认,那么单例模式是无法满足的如果我们有多个...
2020-03-14 00:55:40
643
转载 Springboot注解@ServletComponentScan和@ComponentScan
一、SpringBoot中使用Servlet在SpringBootApplication上使用@ServletComponentScan注解后,Servlet、Filter、Listener可以直接通过@WebServlet、@WebFilter、@WebListener注解自动注册,无需其他代码。1.在入口Application类上加入注解@ServletComponentScan...
2020-03-11 17:33:56
1164
原创 SpringBoot之interceptor
今天将对SpringBoot中的拦截器interceptor从功能、实现、源码等方面进行分析。何为拦截器拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截,然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。拦截器作用 日志记录:记录请求信息的日志,以便进行信息监控、信息统计、计算PV(Page View)等...
2020-03-08 19:24:19
997
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
359
原创 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
95
原创 利用Learn Git Branching来理解git分支
对git的使用一直都比较粗糙,今天利用Learn Git Branch来有空来系统的走一遍。基础篇有commit、branch、merge、rebase四个指令。由左到右需一条指令即可实现新建分支并切换到新分支上:git checkout -b bugFix上述变化为用merge来合并两个分支。即产生C4结点,它有两个父结点,包含了两个待merge的提交记录。gi...
2019-11-26 15:35:58
625
原创 java杂
ThreadLocalenum 对静态int来定义状态的升级页面跳转的方法总结:https://www.cnblogs.com/zxcjj/p/7082323.html
2019-04-12 20:32:25
155
原创 strlen与sizeof计算char* 与char数组
https://blog.youkuaiyun.com/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
425
原创 Digits用于深度学习
11.5下午三号楼 nvidia的人来进行讲座关于digits。现场进行了导入他提供的样本库进行训练,实现辨别数字图片。账号就是97*3@qq.com操作文档:http://ec2-54-158-100-83.compute-1.amazonaws.com/9v3vW43Z8D/notebooks/Image%20Classification%20with%20DIGITS%20-%2...
2017-11-05 16:55:49
440
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人