JAVA基础扩展
林端
这个作者很懒,什么都没留下…
展开
-
关于JAVA中:int和byte的互相转换
一、基础概念:1.原码:一个byte是一个字节,一个字节是由8个位组成。其中最高位是符号位,范围就是127 ~ -128。即:0111 1111~1111 1111也就是说:0000 0001 代表的是1, 1000 0000 代表的是-128。2.反码:正数的反码是其本身(正数的符号位是0);负数的反码是:在原码的基础上,符号位不变,其他位取反。(负数的符号...原创 2018-01-02 10:42:15 · 31652 阅读 · 2 评论 -
java8 优雅的过滤集合
问题有时候需要过滤集合数据,以前一直使用java8的流操作,确实比用for循环优雅很多。但是这样也会出现大量冗余代码,比如:List<Student> studentAgeGt10 = students.stream().filter(v->v.getAge()>10).collect(Collectors.toList());List<Student...原创 2019-06-28 10:26:08 · 5511 阅读 · 0 评论 -
忽略大小写的Map
因为业务需要,Map的key值需要在存取的时候忽略大小写。可以通过这个阿帕奇的Commons工具类中的CaseInsensitiveMap()来解决大小写问题。两种方式:写好map进行转换:Map<String,String> map1=new HashMap<>();map1.put("XXs","2xs");Map<String, Stri...原创 2018-10-18 15:38:55 · 4902 阅读 · 0 评论 -
spock测试导论
测试对于软件开发者而言至关重要,不过总会有人说:“写代码是我的事,测试那是QA的工作”,这样的想法真是弱爆了,因为大量的业界实践已经证明测试驱动编码可以有效地帮助开发者提升代码质量。大多数遵循TDD的Java开发者均会使用mockito或powermock,但mockito和powermock均包含了许多样本代码,导致测试代码变得冗长而难以维护。在测试中引入Groovy/Spock后,我完全被...转载 2018-10-15 14:45:17 · 377 阅读 · 0 评论 -
JVM调优
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms3550m -Xmn2...转载 2018-06-06 21:57:03 · 158 阅读 · 0 评论 -
java代码性能简单优化:
1.使用StringBuilder代替String,进行字符串拼接很重要!!!2.使用String.valueOf(x)代替 x+""; 额,之前一直以为这个方法多余,但是确实是效率高了。3.集合遍历多用java5的foreach,尽量不要用java8的foreach。对于map集合多用entrySet。4.不要频繁创建对象。多次使用的对象一次创建多次调用。...原创 2018-06-04 17:52:18 · 183 阅读 · 0 评论 -
java 并发之awaitTermination的使用
public static ExecutorService executorService = Executors.newFixedThreadPool(10); public static void main(String[] args) throws InterruptedException { for (int i = 0; i < 100; i++) {...原创 2018-06-02 22:24:14 · 32894 阅读 · 7 评论 -
java将json转csv
业务上遇到要将json转换成csv文件,找了好久,终于找到了解决的方法。现分享如下: 这里用到了org.json中的CDL public String Json2Csv(String json) throws JSONException { JSONArray jsonArray = new JSONArray(json); String csv =CDL.toString(json...原创 2018-05-19 17:20:44 · 9550 阅读 · 3 评论 -
jdk5-jdk10各个版本的新特性
jdk5-jdk10各个版本的新特性JDK1.5新特性:1.自动装箱与拆箱:2.枚举3.静态导入,如:import staticjava.lang.System.out4.可变参数(Varargs)5.内省(Introspector),主要用于操作JavaBean中的属性,通过getXxx/setXxx。一般的做法是通过类Introspector来获取某个对象的BeanInfo信息,然后通过Bea...转载 2018-05-13 17:32:08 · 458 阅读 · 0 评论 -
java使用ScriptEngine: 使用java调用脚本、解析表达式
String obj="salesCount>90"; ScriptEngineManager manager=new ScriptEngineManager(); ScriptEngine engineByName = manager.getEngineByName("JavaScript"); obj= obj.replaceAll("salesCount","14");...原创 2018-04-12 17:59:16 · 1989 阅读 · 0 评论 -
easyExcel封装,读取和写入数据
1.先创建要读取Excel的对象类。①继承BaseRowModel②每个字段上面添加@ExcelProperty , index是列的索引值,value是列名。注意:如果只添加index不添加value,可以运行。如果只添加value,不添加index不能运行。@Data@ToString@Slf4jpublic class TianMaWarehouseOrderIn...原创 2019-08-05 17:50:01 · 9674 阅读 · 5 评论