![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
java
会扣篮的小韬韬
只会写bug
展开
-
记一次开发中的栈溢出错误
昨天调试一段代码,代码的大概意思是有一个对象A,A中有一个属性list,需要将查询到结果(包括A) 放到list中,然后返回给前台, debug的时候一路畅通,但是return结果集的时候报错栈溢出 先看下问题代码: List<WechatCirculation> tmpResultList = new ArrayList<>(list.size()); list.forEach(tmp ->{原创 2020-08-18 10:26:25 · 405 阅读 · 0 评论 -
枚举自定义异常
最近突然想到对常见异常进行一各规范的写法 废话不多说 上代码 使用枚举定义异常 import org.apache.commons.lang3.StringUtils; public enum ErrorCodeEnum { SYS_ERROR("SYS_ERROR", "系统错误"), UNKNOWN_ERROR("UNKNOWN_SYS_ERROR", "未知系统错误"), SERVICE_INVOKE_FAIL("SERVICE_INVOKE_FA...原创 2020-08-06 17:07:11 · 480 阅读 · 0 评论 -
快速入门--springboot+websocket 实现服务器向前台推送消息
该文章只是简单实现全双工 后台向前台推送消息,没有深入理解请见谅 废话不都说,直接上代码 一.引入webscoket的包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependenc.原创 2020-07-21 13:59:42 · 356 阅读 · 3 评论 -
详解泛型擦除的问题
1.Java泛型的实现方法:类型擦除 大家都知道,Java的泛型是伪泛型,这是因为Java在编译期间,所有的泛型信息都会被擦掉,正确理解泛型概念的首要前提是理解类型擦除。Java的泛型基本上都是在编译器这个层次上实现的,在生成的字节码中是不包含泛型中的类型信息的,使用泛型的时候加上类型参数,在编译器编译的时候会去掉,这个过程成为类型擦除。 如在代码中定义List<Object>和List<String>等类型,在编译后都会变成List,JVM看到的只是List,而由泛型附加的类型原创 2020-07-21 13:07:30 · 402 阅读 · 2 评论 -
为什么基类不能做为 HashMap 的键值, 而只能是引用类型,把引用类型作为 HashMap 的键值, 需要注意哪些地方 ?
首先HashMap存储数据的特点是:无序、无索引、不能存储重复元素。 存储元素采用的是hash表存储数据,每存储一个对象的时候,都会调用其hashCode()方法,算出其hash值,如果相同,则认为是相同的数据,直接不存储,如果hash值不同,则再调用其equals方法进行比较,如果返回true,则认为是相同的对象,不存储,如果返回false,则认为是不同的对象,可以存储到HashMap集合中。 之所以key不能为基本数据类型,则是因为基本数据类型不能调用其hashcode()方法和equals()方.原创 2020-07-21 10:51:10 · 763 阅读 · 0 评论 -
集合更新操作时,ArrayList 和 LinkedList 哪个更适合?
先梳理下基础 1.ArrayList 是实现了基于动态数组的数据结构,LinkedList 基于链表的数据结构。 2.如果集合数据是对于集合随机访问 get 和 set,ArrayList 绝对优于 LinkedList,因为 LinkedList 要移动指针,耽误时间。 3.如果集合数据是对于集合新增和删除操作 add 和 remove,LinedList 比较占优势,因为 ArrayList 要移动数据。 那 么 ArrayList 和 LinkedList 在性能上有什么差别呢?什...原创 2020-07-21 10:45:45 · 681 阅读 · 2 评论 -
Integer缓存的那些事
关于Integer的一些问题 直接上代码 publicclassHelloWorld{ publicstaticvoidmain(String[]args){ Integerf1=100,f2=100,f3=150,f4=150; } } 请问以下哪些判断会返回false() f1 == f2 f3 == f4 f1.equals(100) f1 == 100 因为Integer类型在-12...原创 2020-06-20 09:06:22 · 139 阅读 · 0 评论