idea历史版本下载

idea官方历史版本下载:https://www.jetbrains.com/idea/download/other.html

开源中国历年最受欢迎国产软件评选Top

分享的目的,方便了解咱国产框架、软件最新动态,可了解现在流行哪些工具/技术栈等。以下是2016年开始历年开源中国评选出的最受欢迎国产开源软件页面:https://www.oschina.net/project/top_cn_2016https://www.oschina.net/project/top_cn_2017https://www.oschina.net/project/top_cn_2018https://www.oschina.net/project/top_cn_2019https://www.oschina.net/project/top_cn_2020

bat同时打开多个bat/cmd批处理文件

很多时候,在用Windows工作学习的时候,要启动redis、tomcat、网关之类的,一次次点击startup.bat批处理文件比较麻烦,写个批处理文件同时打开它们即可,如下:@echo offstart /D "D:\soft\Redis-x64-3.2.100" startup.batstart /D "D:\soft\gateway\" startup.bat编辑好后改文本文件后缀为bat或cmd即可

JDK9中文API文档下载

中文文档,请解压后查看使用说明  1 下载完成后不要在压缩包内运行软件直接使用,先解压;  2 软件同时支持32位64位运行环境;  3 如果软件无法正常打开,请右键使用管理员模式运行。下载:https://lanzous.com/izwTmde2x6d

几款不错的开源Java博客系统

开源Java博客系统:solehttps://solo.b3log.org/talehttps://github.com/otale

缺少jar包时根据报错包名搜索jar包

当java程序报错,必要jar包缺失提示缺少xx.xx方法时,可以在以下网址通过包名搜索jar包,由于网站可能比较老,没收录一些新的jar包,不过常用的=应该够了。如果在这搜不到的话也可以百度谷歌搜索下。网址:https://www.findjar.com/index.x

Maps.newHashMap与new HashMap的区别

(1)Map<String, Object> result = new HashMap<String,Object>();     这种是java原生API写法,需要你手动加泛型。(2)Map<String, Object> result = Maps.newHashMap();     这种是google的guava.jar提供的写法,目的是为了简化代码,不需要你手动写泛型。

利用BeanMap将实体类对象与Map进行相互转换

虽然通过反射也可以,但是可能稍微有点麻烦,如何将实体对象快速转换成Map呢?接下来使用net.sf.cglib.beans.BeanMap类中方法进行转换People people = new People();people.setName("葬爱");people.setAge(18);BeanMap beanMap = BeanMap.create(people);System.out.println(beanMap); //输出 {name=葬爱, age=18}Map beanMap1 = beanMap;System.out.println(beanMap1);//输出 {name=葬爱, age=18}HashMap<Object, Object> map = new HashMap<>();map.put("name","韩梅梅");map.put("age",17);map.put("sex","felman");beanMap.putAll(map);System.out.println(beanMap); //{name=韩梅梅, age=17}People bean = (People) beanMap.getBean();System.out.println(bean);//People{name='韩梅梅', age=17}

BigDecimal使用与"Non-terminating decimal expansion; no exact representable decimal result"错误解决

BigDecimal类数据的处理和"Non-terminating decimal expansion; no exact representable decimal result"问题原因很简单,因为BigDecimal高精度表示的数字是无限小数,因此会报如上错误,因此对其保留小数点后多少位即可。BigDecimal num1 = new BigDecimal("10");BigDecimal num2 = new BigDecimal("3");BigDecimal num3 = num1.divide(num2);其实devide的函数定义如下BigDecimal.divide(BigDecimal divisor, int scale, RoundingMode roundingMode) ;scale为小数位数;roundingMode为小数模式,模式如下:ROUND_CEILING 如果 BigDecimal 是正的,则做 ROUND_UP 操作;如果为负,则做 ROUND_DOWN 操作。 ROUND_DOWN 从不在舍弃(即截断)的小数之前增加数字。 ROUND_FLOOR 如果 BigDecimal 为正,则作 ROUND_UP ;如果为负,则作 ROUND_DOWN 。 ROUND_HALF_DOWN 若舍弃部分> .5,则作 ROUND_UP;否则,作 ROUND_DOWN 。 ROUND_HALF_EVEN 如果舍弃部分左边的数字为奇数,则作 ROUND_HALF_UP ;如果它为偶数,则作 ROUND_HALF_DOWN 。 ROUND_HALF_UP 若舍弃部分>=.5,则作 ROUND_UP ;否则,作 ROUND_DOWN 。 ROUND_UNNECESSARY 该“伪舍入模式”实际是指明所要求的操作必须是精确的,,因此不需要舍入操作。 ROUND_UP 总是在非 0 舍弃小数(即截断)之前增加数字。写成如下便可通过BigDecimal num3 = num1.divide(num2,10,RoundingMode.ROUND_CEILING);其他用法,这种用法适合两数相除是有限小数,无限小数仍会报以上错误BigDecimal num3 = num1.divide(num2).setScale(2, BigDecimal.ROUND_HALF_UP);参考链接:https://blog.csdn.net/roc1029/article/details/12871143

DecimalFormat的使用

double pi = Math.PI;// 整数位多则正常显示 不足则填充0 小数位多则截取 System.out.println(new DecimalFormat("0.00").format(pi)); //3.14 System.out.println(new DecimalFormat("000.00").format(pi)); //003.14// #功能同上 但对于小数结尾或整数开头的0会不予显示 System.out.println(new DecimalFormat("###.##").format(pi));//3.14// 如下小数保留2位 但3.1后0可省略 System.out.println(new DecimalFormat("###.##").format(3.100));//3.1// 0不能省略,因为小数末尾6四舍五入成了3.11 System.out.println(new DecimalFormat("###.##").format(3.106));//3.11// %号会将数值成100显示 System.out.println(new DecimalFormat("#.##%").format(pi));//314.16%// ‰号会将数值成1000显示 System.out.println(new DecimalFormat("00.00‰").format(pi));//3141.59‰// -取负数 System.out.println(new DecimalFormat("-0.00").format(pi));//-3.14// E指数 System.out.println(new DecimalFormat("00.00E0").format(123456789012345678L));//12.35E16// #号使用在指数中直接省去整数位 System.out.println(new DecimalFormat("#E0").format(123));//.1E3 System.out.println(new DecimalFormat("0E0").format(123));//1E2// 0要在#后面 0保证了位数 System.out.println(new DecimalFormat("#####00000").format(123));//00123// ¤表示金额格式 一个¤代表一个符号 但连续的代表货币国际符号 System.out.println(new DecimalFormat(",000.00¤").format(1234567890));//1,234,567,890.00¥ System.out.println(new DecimalFormat(",000.00¤¤").format(1234567890));//1,234,567,890.00CNY// ''类似字符模板 System.out.println(new DecimalFormat("‘你好’000").format(12));//‘你好’012 System.out.println(new DecimalFormat("‘你0好’000").format(12));//‘你0012好’以上只是些简单用法,更多请