首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Java基础
订阅
hsfxuebao
更多收藏集
微信扫码分享
微信
新浪微博
QQ
56篇文章 · 3订阅
Google guava工具类的介绍和使用
工具类 就是封装平常用的方法,不需要你重复造轮子,节省开发人员时间,提高工作效率。谷歌作为大公司,当然会从日常的工作中提取中很多高效率的方法出来。所以就诞生了guava。 I/O 等等。 这声明了一个不可变的List集合,List中有数据1,2,3,4。类中的 操作集合的方法(…
对象和数组并不是都是在堆上分配内存的
前段时间,一篇文章《深入分析Java的编译原理》,其中深入的介绍了Java中的javac编译和JIT编译的区别及原理。并在文中提到:JIT编译除了具有缓存的功能外,还会对代码做各种优化,比如:逃逸分析、 锁消除、 锁膨胀、 方法内联、 空值检查消除、 类型检测消除、 公共子表达…
Java泛型-4(类型擦除后如何获取泛型参数)
1. 泛型和类型擦除 泛型的本质是参数化类型(Parameterized Type)的应用,也就是说把所操作的数据类型指定为一个参数。这个参数类型可以用在类、接口、方法的创建中,分别称为泛型类、泛型接口、泛型方法。 在Java语言还没引进泛型的时候。只能通过Object是所有类…
深入理解Java中的逃逸分析
在Java的编译体系中,一个Java的源代码文件变成计算机可执行的机器指令的过程中,需要经过两段编译,第一段是把.java文件转换成.class文件。第二段编译是把.class转换成机器指令的过程。 第一段编译就是javac命令。 在第二编译阶段,JVM 通过解释字节码将其翻译…
干货!java代码性能优化,提高健壮性
我们在后端开发中,经常会遇到各种“坑”,比如大家最熟悉的空指针异常、session失效等等,其实很大原因在于开发过程中并没有很好的将用法与实际相结合,如果我们能注意一些代码规范和技巧,可以使我们的开发事半功倍!我将从以下三个方面分享我在开发过程中进行的优化。 当循环中只需要 M…
血的教训--如何正确使用线程池submit和execute方法
听说parallelStream并行流是个好东西,由于日常开发stream串行流的场景比较多,这次需要写迁移程序刚好可以用得上,那还不赶紧拿来装*一下,此时不装更待何时。机智的我还知道在 JVM 的后台,使用通用的 fork/join 池来完成上述功能,该池是所有并行流共享…
线程的中断(interrupt)机制
比如我们会启动多个线程做同一件事,比如抢12306的火车票,我们可能开启多个线程从多个渠道买火车票,只要有一个渠道买到了,我们会通知取消其他渠道。这个时候需要关闭其他线程 在一些场景中,比如从第三方服务器查询一个结果,我们希望在限定的时间内得到结果,如果得不到,我们会希望取消该…
读取Excel还用POI?试试这款开源工具EasyExcel
这样更改后,controller 代码看着很清晰,但如果后续业务还有别的 Service 需要注入,我们难道要一直添加有参构造器吗?很明显,这种方式同样不是很灵活。 为了解决构造器传参的痛点,同时我们又希望 listener 更具有通用性,没必要为每个 Excel 业务都新建一…
深入分析Java编译原理
有过关于Java语言的编译和反编译的介绍。我们可以通过javac命令将Java程序的源代码编译成Java字节码,即我们常说的class文件。这是我们通常意义上理解的编译。 但是,字节码并不是机器语言,要想让机器能够执行,还需要把字节码翻译成机器指令。这个过程是Java虚拟机做的…
亲,建议你使用LocalDateTime而不是Date哦
calendar是共享变量,并且这个共享变量没有做线程安全控制。当多个线程同时使用相同的SimpleDateFormat对象【如用static修饰的SimpleDateFormat】调用format方法时,多个线程会同时调用calendar.setTime方法,可能一个线程刚设…