
编程思想
文章平均质量分 84
狂奔的蜗牛Evan
hello world
展开
-
函数可重入性(Reentrancy)概念详解
1.什么是可重入性重入一般可以理解为一个函数在同时多次调用,例如操作系统在进程调度过程中,或者单片机、处理器等的中断的时候会发生重入的现象。可重入的函数必须满足以下三个条件:(1)可以在执行的过程中可以被打断;(2)被打断之后,在该函数一次调用执行完之前,可以再次被调用(或进入,reentered)。(3)再次调用执行完之后,被打断的上次调用可以继续恢复执行,并正确执行。可重入函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。不可重入(non-reentrant...转载 2021-04-25 17:06:52 · 5114 阅读 · 0 评论 -
Spring核心技术原理-(4)-三条路线告诉你如何掌握Spring IoC容器的核心原理
前几篇:Spring核心技术原理-(1)-通过Web开发演进过程了解一下为什么要有Spring?Spring核心技术原理-(2)-通过Web开发演进过程了解一下为什么要有Spring AOP?Spring核心技术原理-(3)-Spring历史版本变迁和如今的生态帝国一、前言前三篇已经从历史的角度和大家一起探讨了为什么会有Spring,Spring的两个核心概念:IoC和AOP的雏形,Spring的历史变迁和如今的生态帝国。本节的主要目的就是通过一个切入点带大家一起学习一下Spring Io转载 2021-03-24 00:34:42 · 198 阅读 · 0 评论 -
Spring核心技术原理-(3)-Spring历史版本变迁和如今的生态帝国
前几篇:Spring核心技术原理-(1)-通过Web开发演进过程了解一下为什么要有Spring?Spring核心技术原理-(2)-通过Web开发演进过程了解一下为什么要有Spring AOP?前两篇从Web开发史的角度介绍了我们在开发的时候遇到的一个个坑,然后一步步衍生出Spring Ioc和Spring AOP的概念雏形。Spring从2004年第一个正式版1.0 Final Released发展至今,俨然已经成为了一个生态帝国(开局只有一把枪,装备全靠打!),目前也已经迭代到5.0,拥有诸多转载 2021-03-24 00:29:58 · 198 阅读 · 0 评论 -
Spring核心技术原理-(2)-通过Web开发演进过程了解一下为什么要有Spring AOP?
上一篇:Spring核心技术原理-(1)-通过Web开发演进过程了解一下为什么要有Spring?上一篇从Web开发演进过程的一个侧面简述了一下为什么会有Spring?事实上只介绍了为什么会有Spring IOC(控制反转/依赖注入)以及Spring IOC的雏形。我们都知道Spring的两个核心知识点是:IOC和AOP。因此,这一篇还是以Web开发演进过程为线索继续探讨一下为什么会有Spring AOP?等介绍完这两个核心的知识点之后,才会进一步展开对Spring核心原理的探讨!一、Web开发演转载 2021-03-24 00:25:03 · 136 阅读 · 0 评论 -
Spring核心技术原理-(1)-通过Web开发演进过程了解一下为什么要有Spring?
一、知史可以明鉴我们学习技术的时代赶上了最好的时代,跳过了很多前人经常踩的坑,前人在踩坑的过程中总结了很多经验和教训,而新时代的我们只是继承了前人的经验和教训,而忽略了这些采坑的过程,以至于我们面对很多新技术都不知道他是什么?他为什么存在?他为什么可以解决这个问题?更不知道如何掌握其原理!云里雾里一头雾水!交流群的很多小伙伴,常常私聊我让我推荐一下学习SSM框架的视频和资料,我首先会打开他的资料卡看一下他的年龄,如果超过了他这个年龄应有的水平,我就会问他JSP+Servlet学了吗?很多小伙伴的回答是转载 2021-03-24 00:18:24 · 105 阅读 · 0 评论 -
Spring发展历程 (三)
起点2002年10月,Rod Johnson撰写了一本名为《Expert One-on-One J2EE设计和开发》的书。本书由Wrox出版,涵盖了当时Java企业应用开发的状态,并指出了Java EE和EJB组件框架中的一些主要缺陷。在这本书中,他提出了一个基于普通Java类(POJO-plain old java objects,简单的java对象)和依赖注入的更简单的解决方案。以下是本书的摘录:将工作流逻辑集中到抽象超类中是控制反转的一个例子。与用户代码调用库代码的传统类库不同,在此方法中,超类转载 2021-03-23 23:32:37 · 384 阅读 · 0 评论 -
Java Web 发展史 (一)
一、原起唉,说来惭愧,本来是想整理一下SpringBoot相关的知识,顺便结合书和网上的资料写一套完整的东西来作为以后复习、供大家借鉴,然后想先写一篇介绍SpringBoot的文章作为开篇,可是要介绍SpringBoot就得好好说说Spring,,好吧还是一点点来,先把Spring的东西好好整理一下吧~~~那么先来一篇介绍Spring版本和起源的文章吧,问题又来 了...为啥要用Spring啊?没有Spring之前用什么啊?(对于我这个刚开始接触没几年时间的程序猿,一开始接触的就是框架,也许这就是人们常说转载 2021-03-23 23:48:14 · 304 阅读 · 0 评论 -
为什么使用Spring(二)
前言上一篇我们简单了解了早期的开发历史进程,也看到了框架等技术出现的必然性,这篇文章就开始讲讲为什么在众多框架中Spring脱颖而出、备受宠爱。这里主要通过对使用Spring的两大特性即依赖注入和AOP的好处讲解来体现Spring的价值。为什么使用依赖注入1、面向接口编程参考原文:https://blog.csdn.net/xlgen157387/article/details/78884005以持久化层接口UserDao为例,有一个接口的实现类UserDaoImpl,由于是面向接口编程,因此转载 2021-03-23 23:57:20 · 91 阅读 · 0 评论 -
高内聚低耦合
原起:每每看一些Spring、MVC的资料都会看到一些低耦合啊之类的好处,学习时也经常听到关于高内聚、低耦合,但总感觉太模糊,自己也说不出个所以然来,故查阅资料,总结了一些自己能够理解的东西做个简短记录,方便日后查阅、修改、提升。定义:耦合是程序模块之间的联系,是对某元素与其它元素之间的连接、感知和依赖的度量内聚是程序模块内部的联系,是对软件系统中元素职责相关性和集中度的度量这里就需要首先明确一下元素指的是什么,我理解这里的模块即可以是功能(方法)、对象(类),也可以指系统、子系统、模块等转载 2021-03-24 00:03:30 · 929 阅读 · 0 评论 -
手机没网了,却还能支付,这是什么原理?
现在生活已经离不开微信/支付宝电子支付,平常出去吃饭、购物只要带个手机,就可以解决一切,以致于现在已经好久没摸过真????了。有一次出去吃饭,排着队付钱,等着过程非常无聊,准备拔出手机来把荒野乱斗,却发现这个地方竟然连不上网 。看着手机明明信号满格,但是就是显示网络无连接,苹果手机用户痛,谁用谁知道。❝画外音:真的要 Diss 一下使用英特尔基带的 Iphone,????好差,没事网络就会闪断~❞说回正题,由于没有网络,而我又没带钱,所以就怕付钱的时候因为手机没网,没办法使用支付宝扣转载 2020-09-25 13:49:28 · 493 阅读 · 0 评论 -
阿里高级技术专家方法论:如何写复杂业务代码?
阿里妹导读:张建飞是阿里巴巴高级技术专家,一直在致力于应用架构和代码复杂度的治理。最近,他在看零售通商品域的代码。面对零售通如此复杂的业务场景,如何在架构和代码层面进行应对,是一个新课题。结合实际的业务场景,Frank 沉淀了一套“如何写复杂业务代码”的方法论,在此分享给大家,相信同样的方法论可以复制到大部分复杂业务场景。转载 2020-09-25 11:26:32 · 425 阅读 · 0 评论 -
恕我直言,Java四大名著并不一定适合你!
这个是知乎上别人提出的问题,共有2000多万的阅读量,但是排名前几的答主给出的答案我认为并不是很适合初学者。因为虽然大家推荐的书籍都很经典,但是并不适合初学者!!!尤其很多人喜欢拿着Java四大名著开始学,但是其实这几本书并不全都适合初学者。Java四大名著:Java 程序设计语言 —— James Gosling(Java之父)Java 编程思想 —— Bruce EckelJava 核心技术 卷I:基础知识 —— Cay HorstmannJava 核心技术 卷II:高级特性转载 2020-07-09 15:16:57 · 1721 阅读 · 0 评论 -
告别编码5分钟,命名2小时!史上超全的Java命名规范参考!
简洁清爽的代码风格应该是大多数工程师所期待的。在工作中笔者常常因为起名字而纠结,命名已经成为我工作中的拦路虎,夸张点可以说是编程5分钟,命名两小时!每个公司都有不同的标准,目的是为了保持统一,减少沟通成本,提升团队研发效能。所以本文中是笔者结合阿里巴巴开发规范,以及工作中的见闻针对Java领域相关命名进行整理和总结,仅供参考。一,Java中的命名规范好的命名能体现出代码的特征,含...转载 2019-12-09 18:22:27 · 672 阅读 · 0 评论 -
领域驱动设计系列(1)通过现实例子显示领域驱动设计的威力
原文地址:https://kb.cnblogs.com/page/522125/曾经参与过系统维护或是在现有系统中进行迭代开发的软件工程师们,你们是否有过这样的痛苦经历:当需要修改一个Bug的时候,面对一个类中成百上千行的代码,没有注释,千奇百怪的方法和变量名字,层层嵌套的方法调用,混乱不堪的结构,不要说准确找到Bug所在的位置,就是要清晰知道一段代码究竟是做了什么也非常困难。最终,改对...转载 2019-07-10 15:09:41 · 297 阅读 · 0 评论 -
领域驱动设计系列(3)有选择性的使用领域驱动设计
原文地址:https://kb.cnblogs.com/page/521969/本系列的第一篇博文抛砖引玉,大谈领域驱动设计的优势,这里笔者还是希望以客观的态度,谈谈领域驱动设计的缺点及其不适合使用的场景,以让读者可以有选择性的使用领域驱动设计。 我们知道,没有最好,只有最合适,设计也是一样。因此,所谓设计,就是以你和你的团队的知识、经验和智慧,全面充分的考虑各种内外因素后,在你们...转载 2019-07-10 15:03:23 · 291 阅读 · 0 评论 -
领域驱动设计系列(2)浅析VO、DTO、DO、PO的概念、区别和用处
原文地址:https://kb.cnblogs.com/page/522348/上一篇文章作为一个引子,说明了领域驱动设计的优势,从本篇文章开始,笔者将会结合自己的实际经验,谈及领域驱动设计的应用。本篇文章主要讨论一下我们经常会用到的一些对象:VO、DTO、DO和PO。 由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们重点关注其...转载 2019-07-10 14:43:59 · 371 阅读 · 0 评论