Java笔记
文章平均质量分 94
silence、J
这个作者很懒,什么都没留下…
展开
-
DDD 核心概念与 Domain primitive
一、什么是DDD?领域驱动设计(Domain-Driven Design 简称DDD),是一套成熟的理论方法来指导中台领域建模以及微服务拆分和设计,聚焦于“如何在复杂业务场景下设计软件”。2003年埃里克·埃文斯(ErjcEvans)出版了《领域驱动设计》这本书后, DDD诞生。DDD的核心思想是从业务视角出发,根据限界上下文边界划分业务的领域边界,定义领域模型,确定业务边界。在微服务落地时,建立业务领域模型与微服务代码模型的映射关系,从而保证业务架构与微服务系统架构的—致性。但DDD提出后在软件开发领原创 2021-12-30 11:53:12 · 2781 阅读 · 0 评论 -
开发常见密码技术概念&RSA使用示例
一、单向散列函数1.1 概念及术语单向散列函数(one-way hash function)有一个输入和一个输出,其中输入称为消息(message),输出称为散列值(hash value)。单向散列函数可以根据消息的内容计算出散列值,而散列值就可以被用来检查消息的完整性。这里的消息可以是文档图像视频音频等,散列函数会将它们都当成单纯的bit序列来处理。这样,要确认完整性就不需要对比消息本身,对比小的散列值即可。注意:单向散列函数并不是一种加密,因此无法通过解密将散列值还原为原来的消息。术语:单向散列原创 2021-09-01 15:44:22 · 1726 阅读 · 0 评论 -
开发中的异常处理问题
应用程序避免不了出异常,捕获和处理异常是一个精细活。在开发业务逻辑时不考虑任何异常处理,项目接近完成时再采用“流水线”的方式进行异常处理,也就是统一为所有方法打上 try…catch…捕获所有异常记录日 志,或者使用 AOP 来进行类似的“统一异常处理”。 其实,这种处理异常的方式非常不可取。下面来说下不可取的原因、与异常处理相关的坑和异常处理的最佳实践。一、捕获和处理异常容易犯的错1. 常见错误1.1 不在业务代码层面考虑异常处理,仅在框架层面粗犷捕获和处理异常这个也就是常说的“统一异常处理”,原创 2021-06-21 22:24:54 · 1014 阅读 · 0 评论 -
Spring事务传播机制
开发中有多个事务方法嵌套调用时,就涉及到了 Spring 的事务传播机制。下面梳理一下 7 种传播机制的含义,做一些测试以加深理解,也方便开发中灵活使用。1. Spring事务传播类型枚举PropagationREQUIRED: 没有事务就开启,有事务就加入,不指定的话默认为该类型SUPPORTS: 有事务就加入,没有就无事务运行MANDATORY: 加入当前事务,如果不存在则抛出异常REQUIRES_NEW: 没有就开启,有了挂起原来的,开启新的NOT_SUPPORTED: 有了挂起,没有原创 2021-06-16 18:13:19 · 549 阅读 · 0 评论 -
用构建器构造多参数实例
如果一个类构造器的参数大于四个就要考虑使用构造器来构建类了。它可以使参数更加灵活,扩展性更好并且可以减少一些参数位置写错的情况。可采用Builder模式的一种形式,不直接生成想要的对象,而是让客户端利用所有必要的参数调用构造器(或静态工厂)得到一个builder对象。然后客户端在builder对象上调用类似setter的方法,来设置每个相关的可选参数。最后,客户端调用无参的build方法来生成不可变的对象。这个builder是它构建的类的静态成员类。示例:public class Nutrition原创 2020-09-01 15:38:28 · 287 阅读 · 0 评论 -
Java中的四种引用 - 强软弱虚
Java中有四种引用,分别是:强引用、软引用、弱引用、虚引用。什么是引用?比如Object o = new Object(),声明了一个变量o,它指向new出来的Object对象,这就是一个引用。在Java的四种引用中,最常用的形式,如Object o = new Object(),就是强引用。强引用普通的引用NormalReference,是默认的引用,也就是强引用。只要有一个引用指向这个对象,那么这个对象就不是垃圾,一定不会被垃圾回收器回收,只有没有引用指向它时才会被回收。通过一个小程序理解原创 2020-08-10 20:32:02 · 237 阅读 · 0 评论 -
Java程序员需要掌握的底层知识
汇编语言(机器语言)的执行过程汇编语言的本质:机器语言的助记符 其实它就是机器语言过程:计算机通电 ---> CPU读取内存中程序(电信号输入)--->时钟发生器不断震荡通断电--->推动CPU内部一步一步执行(执行多少步取决于指令需要的时钟周期)--->计算完成->写回(电信号)--->写给显卡输出(sout,或者图形)CPU的基本组成PC -&g...原创 2020-04-05 16:53:19 · 705 阅读 · 0 评论 -
同步 - 异步 - 阻塞 - 非阻塞
同步异步关注的是消息通信机制同步:比如烧水,水开前不能再做别的事;发出一条消息,必须等待对方的回信,对方回信后才能进行别的操作。这是同步。异步这个人在水开前,可以先玩手机;对方还没回复时,可以先做别的事,当对方回复后再处理。阻塞非阻塞关注的是等待消息时的状态阻塞:等待水烧开,等待回信时不能做其它事,就硬等,这种状态叫阻塞。就像等待暗恋的人回信息(TnT)。非阻塞:饭没煮好我...原创 2020-04-15 16:36:59 · 121 阅读 · 0 评论 -
面向对象六大原则
指导思想可维护性Maintainbility修改功能,需要改动的地方越少,可维护性越好可复用性Reusability代码可以以后重复使用写出自己总结的类库可扩展性Extensibility / Scalability添加功能无需修改原来代码灵活性flexibility / mobility / adaptability代码接口可以灵活调用开闭原则 O...原创 2020-04-16 09:37:29 · 105 阅读 · 0 评论