- 博客(10)
- 资源 (2)
- 收藏
- 关注
转载 Spring常用注解汇总
Spring注解常用汇总使用注解之前要开启自动扫描功能其中base-package为需要扫描的包(含子包)@Configuration把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean。@Scope注解 作用域@Lazy(true) 表示延迟初始化@Service用于标注业务层组件、@Controller用于标注控制层组...
2019-11-28 09:50:38 123
原创 简单剖析Spring RestTemplate的原理与用法
Spring RestTemplate这玩意是spring大家族中的一员,可以用来模拟http请求,用起来也挺方便。最近公司有个项目涉及到第三方API,对方提供的是http接口,于是我就想起来用restTemplate,简单易上手,之前也用过,可真正再一次使用发现对它还是一只半解,于是决定弄清楚这玩意到底是怎么玩的。看spring api官方文档和源代码,restTemplate只是一个外...
2019-10-22 17:13:05 721
原创 LocalDateTime点滴
LocalDateTime是个好东西,用起来很方便,记录下它常用的方法,比如获取当前时间,当前时间毫秒数,比较两个日期谁前谁后,两个日期相差多少天,还有对一个日期增加天数,小时数等。既然这么好,先看下jdk-api里面的描述从描述中可以看到 它是不可变类并且是线程安全的常用的操作:获取当前时间毫秒数:LocalDateTime.now().toInstant(ZoneOffs...
2019-10-10 12:03:22 267
转载 CSDN-markdown编辑器教程
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-09-20 11:11:16 83
原创 一个简单的数据最终一致性解决方案
互联网系统为了保证业务高可用,一般会牺牲一致性。场景,在一个分销平台中,A系统负责结算,B系统负责账户管理,用户p在A系统收益结算后需要调用B系统接口增加账户余额和收益明细,由于A、B不在一个节点,现在要保证A,B两个节点数据是一致的,根据CAP原理,要保证分区容错和高可用就保证不了数据强一致性。下面这种方式提供了最终一致性的解决方案。设计一个接口调用日志表,在A系统处理完相关业务后,再往...
2019-09-19 18:40:32 1312
原创 BigDecimal点滴
关于金钱的计算经常会用到BigDecimal,其中精度和四舍五入是个容易忘记的点,专门记录下下面的例子是两个bigdecimal相除,并保留十位小数。BigDecimal totalMoney = new BigDecimal(99);BigDecimal totalPerson = new BigDecimal(5);BigDecimal money = totalMoney.di...
2019-09-17 18:20:50 141 1
原创 Java 调用构造器一定产生新对象吗
搞Java开发三年多了,工作换了几份。目前又到了一个多事之秋,估计马上又要换工作了。目前有点闲,写写技术博客。言归正传,最近对一个问题有点疑惑,就是调用构造器会不会一定产生新对象,如果一定会,那么一个子类实例化,会调用所有父类构造器,而每个类都是Object的子类,这样堆里面就会有大量的Object类,这样的设计显然是不科学的。那么问题的答案很明显,调用构造函数不一定会产生新对象。...
2015-12-16 18:11:46 1967 4
原创 接口和抽象类的区别
接口和抽象类有什么区别你选择使用接口和抽象类的依据是什么?接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.所以,在高级语言上...
2015-06-06 11:39:17 290 1
原创 遍历Map的几种方式
for (String key : map.keySet()) {System.out.println("key= "+ key + " and value= " + map.get(key));}//第二种Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();...
2014-12-14 11:51:05 337
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人