修炼JAVA之路
peipei巴比
自省自勉自励
展开
-
领域对象模型的自我理解 RO VO DTO PO
RO:(Request Object) 请求对象,用于各种请求类型的对象封装。VO(View Object):视图对象,用于封装返回到展示层的数据。DTO(Data Transfer Object):数据转换对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的传输的数据转换对象。DO(Domain Object):领域对象,就是从现实世界中抽象出来的有形或原创 2021-01-09 15:37:46 · 3906 阅读 · 0 评论 -
开发中JSON序列化选哪个?FastJson还是Jackson
开发中JSON序列化选哪个?FastJson还是Jackson今天看的gitstar和issues比较,你认为哪个更合适?结合前段时间频繁的FastJson的升级漏洞,推荐还是用jackson比较好。原创 2020-06-13 14:55:01 · 603 阅读 · 2 评论 -
java 泛型拷贝 List指定Class
private List parse(List list,Class toClazz){List resp=Lists.newArrayListWithCapacity(list.size());resp=(List )list.stream().map(ff->{Object obj= toClazz.newInstance();BeanUtils.copyProperties...原创 2020-03-04 23:17:00 · 3274 阅读 · 0 评论 -
JAVA 小工具-java正则匹配 http前缀
正则匹配http前缀匹配大小写http前缀urlpublic class HttpCommon { public static final String HEAD_HTTP_PATTERN="http://.+|HTTP://.+"; public Boolean matchHttpUrl(String url){ Pattern pattern = Pat...原创 2019-12-14 13:21:31 · 1724 阅读 · 0 评论 -
BeanUtils是如何复制Bean的
BeanUtils在pom中需要增加 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>5.1.9.RELEASE</versio...原创 2019-09-26 22:10:35 · 774 阅读 · 0 评论 -
JVM及其收集算法应用图解
写在前头结合周志明的第二版《深入理解Java虚拟机》以及一些网文,还是觉得自己有必要重新画一张图用于说明算法的分类和特性从区域划分、算法分类、收集算法作用域、算法搭配四个方面进行说明JVM告诉我们要解决什么问题目前能想到的是1:实例对象或者其引用的实例存储在哪里体现,如何管理2:多核以及多线程必然带来竞争了解JVM原理,才能针对性的在不同主机做性能优化JVM区域划分这里的JVM堆...原创 2019-05-06 11:39:38 · 206 阅读 · 0 评论 -
一句话 分析 JAVA8 HashMap中用红黑树而不是AVL树的原因
前几天看算法新解有感 mark一下红黑树牺牲了一些查找性能 但其本身并不是完全平衡的二叉树。因此插入删除操作效率略高于AVL树AVL树用于自平衡的计算牺牲了插入删除性能,但是因为最多只有一层的高度差,查询效率会高一些。参考文章:https://www.jianshu.com/p/37436ed14cc6...原创 2019-03-21 10:30:50 · 8038 阅读 · 1 评论 -
java8 看 ForkJoin & ThreadPoolExecutor & Executors
总结1:ForkJoin和ThreadPool还是需要实现Runnable来完成线程池。2:核心是AbstractExecutorService、RunnableFuture和ForkJoinTask(箭头指向最多 类似扇入)3:提供开放的调用者ThreadPoolExecutor、ForkJoinPool...原创 2019-01-23 17:01:05 · 517 阅读 · 0 评论 -
HashMap和ConcurrentHashMap的异同-一点浅见
原创 2019-01-16 16:22:31 · 580 阅读 · 0 评论 -
2018工作最后一天 之 Calendar时间格式
坑一之时间格式之前掉进过一个坑 SimpleDateFormat("YYYYMMddHHmmss")java6/Java7/java8中时间格式取值范围变化如下由此可见java8 相对增加了对周天/周年的支持需要说明的是 Y 表示按周计算的年份假如今天是20181231(是周一),那么因为本周也有2019年的日子5天 (周二-周六)因此会认为当前是19年第一周 假如取值明天的话得到的...原创 2019-02-01 02:42:01 · 438 阅读 · 0 评论 -
Spring4常用注解依赖关系
声明:有些总结需要再梳理下,建议自己梳理,加深记忆基于java8源码梳理了下 Spring常用注解的依赖关系清单RestControllerControllerComponentResponseBodyRequestMappingMappingAliasForServiceAutowiredRepository依赖关系各注解的说明RestControllerCo...原创 2018-12-11 18:27:39 · 591 阅读 · 0 评论 -
java.util.ArrayList随笔 java7 vs java8
参数保留//VMs reserve some header words in an arrayprivate static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;private static final Object[] EMPTY_ELEMENTDATA = {}private static final int DEFAULT_...原创 2018-12-21 14:59:07 · 255 阅读 · 0 评论 -
java8新增加的功能包和类
根据jdk1.7.0_51和jdk1.8.0_181的源代码比较分析 感兴趣可以收藏本文只梳理出新增的功能包 ,然后列出新增java文件,至于里面的重点内容只能以后写出来了,或者看我的其他文章,重点在最后的总结,求速的同学可以移步了。第一部分新增功能的包 按照我日常使用频次进行了简单梳理,分为com.sun、javax、java常用三类com.sun新增文件列表javax新增j...原创 2018-11-23 11:06:54 · 1323 阅读 · 0 评论 -
从头温习JAVA之路(二)-Java 8编程官方参考教程(第9版)(第一部分)
Java 8编程官方参考教程(第9版)第一部分1 JAVA历史和演变applet 字节码版本演变2 JAVA综述3 数据类型 变量 数组4 运算符5 控制语句6 类7 方法和类的深入分析重载递归8 继承9 包和接口10 异常处理11 多线程编程12 枚举 自动装箱与注解(元数据)枚举自动装箱注解13 IO、applet以及其他主题I/O 分类applet14 泛型15 lambda表达式第一部分...原创 2018-11-21 15:48:11 · 679 阅读 · 0 评论