
编程
wanxiangming1994
这个作者很懒,什么都没留下…
展开
-
由AnnotatedElementUtils延伸的一些所思所想
这篇博客的两个主题:spring的AnnotatedElementUtils个人源码阅读方法论分享为什么要分享AnnotatedElementUtils这个类呢,这个类看起来就是一个工具类,听起来很像apache的StringUtils,CollectionUtils。原因是,它包含着spring对java注解的另类理解,和运用。java的是怎样支撑注解的?Class<Tes...原创 2019-12-02 22:44:55 · 1814 阅读 · 0 评论 -
Java以反码存储数字
以前只知道计算机使用反码来进行计算,但是没有想到,也没有想过计算机存储数字的时候是用什么格式存储的,当然它是二进制的,我的意思是它是原码,反码,补码中的哪一种。今天因为学习ServerSocketChannel,涉及到了这个问题,才把这个知识点摸透,是以反码形式存储的。认识到这一点有什么作用呢,且听我说。用byte数组表示IP地址编写服务器程序的时候,需要启动server socket监听某个...原创 2019-07-30 18:43:32 · 406 阅读 · 0 评论 -
小谈 FastConverter
前情几个月前我为公司写一个用于实现RESTful API的项目基础框架,它是一个位于spring cloud项目中的open service内的基础框架,用来统一处理请求和返回。其中,为了实现数据的转换,我开发了一个小工具,叫做“FastConverter”。最初它被用来将数据实体转换为json string,在转换的过程中,使用注解的方式来定义数据转换逻辑。后来在完成其他一些公司任务的过程中...原创 2019-06-18 14:11:34 · 381 阅读 · 0 评论 -
使用java Bean时,is打头的boolean属性的小坑
申明属性,然后用idea自带的Generator生成getter,setter(封装类型和基本数据类型生成的还不一样),如下:当我去构造一个PropertyDescriptor时,会报错后来跟代码,发现,报错原因是PropertyDescriptor的构造函数去找一个叫setIsSuccess的写值函数时,发现找不到,于是报错了。从上图可以看到,实际在构造PropertyDescr...原创 2019-06-14 10:28:52 · 5151 阅读 · 4 评论 -
对《关于Dao层职责的思考》一文的修正
以前写过一篇关于DAO职责的文章,近来发现不对,我错了,在反复阅读了《阿里巴巴java开发手册》后,我重构了自己对这部分知识的认知。内容如下:关于返回值从dao返回的数据,要么是基本数据类型,要么是DO实体。从service返回的数据,要么是基本数据类型,要么是DTO实体。DAO如何工作每个DAO应该有一个主表,围绕这个主表产生DO,同时尽量避免联表。《高性能Mysql》中...原创 2019-06-14 10:27:54 · 180 阅读 · 0 评论 -
并行执行器
工作中出现某些代码需要并行执行以提高程序运算速度的情况,所以写了一个小工具。public class Main { public static void main(String[] args) { // 你可以通过注释下面的部分代码来探索它的功能, // 一些重要的说明请到代码中寻找,注释写的很清楚 new ParallelInvoker().call(invoker -> ...原创 2019-06-14 10:26:46 · 193 阅读 · 0 评论 -
记一个小小的转换工具的开发:FastConverter
背景介绍一个新写的小东西,叫FastConverter,叫这个名字是因为,它最初是被设计用来将服务器返回给前端的数据实体转换为json字符串的。需求背景是:服务器经过一系列计算后,最终数据被存放在一个数据实体中,经过toJSON化,输出到前端。但输出时我们对数据有一些格式化,或自定制化的需求,比如,数据实体中的Date,最终输出可能是时间戳,也可能是“yyyy-MM-dd”;数据实体中的用以表...原创 2019-06-14 10:24:42 · 405 阅读 · 0 评论 -
Java泛型的擦除特性小记
ArrayList<A> arrayList = new ArrayList<>();arrayList.add(new A());ArrayList arrayList2 = arrayList;ArrayList<B> arrayList3 = arrayList2;arrayList3.add(new B());上面这段代码会向同一个Arr...原创 2019-06-14 10:23:41 · 256 阅读 · 0 评论 -
记一次Controller改造,及SpringMVC处理流程
概述由于工作需要,需实现这样一个功能的controller框架:1,Restful API2,请求参数校验(请求中需要携带指定的参数,才能进入控制器方法。一次请求会携带一些基本信息,以及请求数据,此处校验的是请求数据的携带情况)3,请求格式校验(请求格式需要符合规定,才能进入控制器方法。此处校验的是基本信息的携带情况)4,数据绑定(通过@RequestBody注解能直接绑定请求数据到PO...原创 2019-06-14 10:22:12 · 182 阅读 · 0 评论 -
记一次Controller改造,及SpringMVC处理流程
概述由于工作需要,需实现这样一个功能的controller框架:1,Restful API2,请求参数校验(请求中需要携带指定的参数,才能进入控制器方法。一次请求会携带一些基本信息,以及请求数据,此处校验的是请求数据的携带情况)3,请求格式校验(请求格式需要符合规定,才能进入控制器方法。此处校验的是基本信息的携带情况)4,数据绑定(通过@RequestBody注解能直接绑定请求数据到PO...原创 2019-05-31 17:44:49 · 206 阅读 · 0 评论 -
编程之道.2.20190706
前言这是我个人总结的一些编程思想,从2014年我接触人生第一门编程语言(C)开始,它一直指引着我,我也不断的完善它。其中有些是我自己在实践中得出的结论,有些是书里学到的知识。在此分享。今后我也会一直完善它,所以你们能看到,博客标题带有编号,往后的新内容,我会直接追加在这篇博客里,并更新博客标题。对仗词add/remove increment/decrement open/clo...原创 2019-05-31 17:42:13 · 145 阅读 · 0 评论