java基础
文章平均质量分 83
决战灬
生命不息,奋斗不止
展开
-
Finalize详解
finalize()方法详解,前言,finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。finalize的作用f(1)finalize()与C++中的析构函数不是对应的。C++中的析构函数调用的时机是确定的(对象离开作用域或delete掉),但Java中的finalize的调用具有不确定性(2)不建议用finalize方法完成“非内存资源”的清理工作,但建议用于:① 清理本地对象(通过JNI创建的对象);② 作为确保某.原创 2021-05-11 17:45:11 · 1759 阅读 · 1 评论 -
Map.keySet()排序问题
Map.keySet()方法把key映射到Set里,其是否有序,文档没有明确说明,今天我做了试验,具体如下:publicstaticvoidmain(String[]args){Map<String,String>m=newHashMap<String,String>();m.put("1","a");m.put("2","d");m.put("3","c");m.put("8","os");m.put("6","six...原创 2020-05-29 17:03:46 · 2278 阅读 · 0 评论 -
java8 lambada使用Collectors.groupingBy分组顺序错误
最近有个需求就是按照stations(工位) 分组排序但是一直数据都是错乱的,后来查了资料可以看到有三个参数,第一个参数就是key的Function了,第二个参数是一个map工厂,也就是最终结果的容器,一般默认的是采用的HashMap::new,最后一个参数很重要是一个downstream,类型是Collector,也是一个收集器,那就是说,这三个参数其实就是为了解决分组问题的第一个参数:分组按照什么分类第二个参数:分组最后用什么容器保存返回第三个参数:按照第一个参数分类后,对应的分类...原创 2020-05-29 16:23:42 · 1262 阅读 · 0 评论 -
java BigDecimal加减乘除,向上、向下取整
Java BigDecimal类型的 加减乘除运算不能像C#一样简单,需要调用方法:加法:add减法:subtract乘法:multiply除法:divide可参考下面代码:BigDecimal bignum1 = new BigDecimal("10");BigDecimal bignum2 = new BigDecimal("5");BigDecima...原创 2020-04-04 22:28:33 · 14418 阅读 · 0 评论 -
压缩流的使用(一)
@Override public void downLoadZip(List<String> filePaths, String zipFileName, HttpServletResponse response) throws Exception { if (StringUtil.isBlank(zipFileName)) { //...原创 2020-03-20 11:30:15 · 186 阅读 · 0 评论 -
线程与进程(一)
多线程的实现(两种途径三种方式):1.集成Thread类多线程的启动不调用run()方法而是调用start()方法:使用Threa类的start()方法不仅要启动多线程的执行代码,还要去根据不同操作系统进行资源分配。2.实现Runnable接口(callAble接口)public interface Runnable{//接口中的方式都是public修饰 pub...原创 2019-12-16 22:05:39 · 68 阅读 · 0 评论