加载中
设计模式之美学习(九):业务开发常用的基于贫血模型的MVC架构违背OOP吗?

我们都知道,很多业务系统都是基于 MVC 三层架构来开发的。实际上,更确切点讲,这是一种基于贫血模型的 MVC 三层架构开发模式。 虽然这种开发模式已经成为标准的 Web 项目的开发模式,但它却...

设计模式之美学习(八):为何说要多用组合少用继承?如何决定该用组合还是继承?

在面向对象编程中,有一条非常经典的设计原则,那就是:组合优于继承,多用组合少用继承。为什么不推荐使用继承?组合相比继承有哪些优势?如何判断该用组合还是继承? 为什么不推荐使用继承...

2019/11/29 21:28
0
设计模式之美学习(十):如何利用基于充血模型的DDD开发一个虚拟钱包系统?

如何分别用基于贫血模型的传统开发模式,以及基于充血模型的 DDD 开发模式,设计实现一个钱包系统。 钱包业务背景介绍 一般来讲,每个虚拟钱包账户都会对应用户的一个真实的支付账户,有可能...

2019/11/30 22:18
0
设计模式之美学习(七):为什么基于接口而非实现编程?有必要为每个类都定义接口吗?

基于接口而非实现编程。这个原则非常重要,是一种非常有效的提高代码质量的手段,在平时的开发中特别经常被用到。 如何解读原则中的“接口”二字? “基于接口而非实现编程”这条原则的英文描...

2019/12/01 19:46
0
Java锁机制

锁机制是用来保证对象的一致性以及操作的原子性,另一方面也是实现线程安全的重要手段。 公平锁/非公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁。 非公平锁是指多个线程获取锁的顺序并...

2019/12/09 17:28
0
Java Atomic简介

所谓 Atomic,翻译过来就是原子。原子被认为是操作中最小的单位,一段代码如果是原子的,则表示这段代码在执行过程中,要么执行成功,要么执行失败。原子操作一般都是底层通过 CPU 的指令来实...

2019/12/14 17:21
0
Java的内存模型

首先给出定义,Java内存模型(Java Memory Model ,JMM)是一种符合内存模型规范的,屏蔽了各种硬件和操作系统的访问差异的,保证了Java程序在各种平台下对内存的访问都能保证效果一致的机制及...

2019/12/17 17:44
0
Java的内存结构

Java 的运行时数据区域分为五大数据区域。这些区域各有各的用途,创建及销毁时间。如下图所示,其中方法区和堆是所有线程共享的,栈,本地方法栈和程序虚拟机则为线程私有的。 根据Java虚拟机...

2019/12/18 16:17
0
由浅入深了解GC原理

GC(Garbage Collection)很大程度上帮助Java程序员解决了内存释放的问题,有了GC,就不需要再手动的去控制内存的释放。 在阅读之前需要了解的相关概念: Java 堆内存分为新生代和老年代,新生...

2019/12/31 22:32
0
Shiro过滤器导致的前端跨域

问题背景 公司项目是前后端分离的,最近要求在请求时都要在请求头加入自定义的 token,在做接口调试时,前端总是请求不通,然而自己用 POSTMAN 等工具时都可以,这就出现了问题,也就是 复杂...

04/19 21:50
44
Shiro过滤器导致的前端跨域

问题背景 公司项目是前后端分离的,最近要求在请求时都要在请求头加入自定义的 token,在做接口调试时,前端总是请求不通,然而自己用 POSTMAN 等工具时都可以,这就出现了问题,也就是 复杂...

04/19 21:32
128
由浅入深了解GC原理

GC(Garbage Collection)很大程度上帮助Java程序员解决了内存释放的问题,有了GC,就不需要再手动的去控制内存的释放。 在阅读之前需要了解的相关概念: Java 堆内存分为新生代和老年代,新生...

2019/12/31 22:26
28
Java的内存结构

Java 的运行时数据区域分为五大数据区域。这些区域各有各的用途,创建及销毁时间。如下图所示,其中方法区和堆是所有线程共享的,栈,本地方法栈和程序虚拟机则为线程私有的。 根据Java虚拟机...

2019/12/18 16:43
30
Java的内存模型

首先给出定义,Java内存模型(Java Memory Model ,JMM)是一种符合内存模型规范的,屏蔽了各种硬件和操作系统的访问差异的,保证了Java程序在各种平台下对内存的访问都能保证效果一致的机制及...

2019/12/17 17:56
70
对Netty的一些理解

Netty是一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持。作为当前最流行的NIO框架,Netty在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应...

2019/12/14 22:06
50
设计模式之美学习(十):如何利用基于充血模型的DDD开发一个虚拟钱包系统?

如何分别用基于贫血模型的传统开发模式,以及基于充血模型的 DDD 开发模式,设计实现一个钱包系统。 钱包业务背景介绍 一般来讲,每个虚拟钱包账户都会对应用户的一个真实的支付账户,有可能...

2019/11/30 22:21
104
Java Atomic总结

所谓 Atomic,翻译过来就是原子。原子被认为是操作中最小的单位,一段代码如果是原子的,则表示这段代码在执行过程中,要么执行成功,要么执行失败。原子操作一般都是底层通过 CPU 的指令来实...

2019/11/29 21:49
46
设计模式之美学习(六):接口vs抽象类的区别?如何用普通的类模拟抽象类和接口?

在面向对象编程中,抽象类和接口是两个经常被用到的语法概念,是面向对象四大特性,以及很多设计模式、设计思想、设计原则编程实现的基础。比如,我们可以使用接口来实现面向对象的抽象特性、...

2019/11/29 21:38
146
设计模式之美学习(五):哪些代码设计看似是面向对象,实际是面向过程的?

常见的编程范式或者说编程风格有三种,面向过程编程、面向对象编程、函数式编程,而面向对象编程又是这其中最主流的编程范式。现如今,大部分编程语言都是面向对象编程语言,大部分软件都是基...

2019/11/29 21:35
25
设计模式之美学习(七):为什么基于接口而非实现编程?有必要为每个类都定义接口吗?

基于接口而非实现编程。这个原则非常重要,是一种非常有效的提高代码质量的手段,在平时的开发中特别经常被用到。 如何解读原则中的“接口”二字? “基于接口而非实现编程”这条原则的英文描...

2019/11/29 21:33
68

没有更多内容

加载失败,请刷新页面

返回顶部
顶部