自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

村长Korbin

pursuit of freedom

  • 博客(249)
  • 资源 (25)
  • 收藏
  • 关注

原创 架构整洁之道-软件架构-测试边界、整洁的嵌入式架构、实现细节

测试代码是系统组件,遵循依赖原则独立部署。通过专用API解耦,防止脆弱性并支持架构演进。嵌入式架构采用分层抽象(HAL、PAL、OSAL),确保硬件变更不影响软件,实现可测试性和长期适应性。

2024-02-05 15:29:14 1099

原创 架构整洁之道-软件架构-展示器和谦卑对象、不完全边界、层次与边界、Main组件、服务

展示器、谦卑对象模式在软件架构边界设计中起到重要作用,通过划分系统行为提升可测试性。服务内部组件边界才是架构关键,而非服务本身。遵循依赖关系规则解决横跨型变更问题。

2024-02-05 15:25:00 1087

原创 架构整洁之道-软件架构-策略与层次、业务逻辑、尖叫的软件架构、整洁架构

软件架构设计据变更划分策略,低层依赖高层组件解耦。强调独立于框架、围绕用例构建,保持核心逻辑纯净且易测试替换技术实现。同心圆模型隔离机制与策略,遵循内部不受外部影响的依赖原则。

2024-02-01 18:09:06 930

原创 架构整洁之道-软件架构-概述、独立性、划分边界与边界剖析

架构设计关键在组件划分、交互方式,旨在提高开发维护效率及程序员生产力,降低成本,应独立于设备,支持用例执行和模块解耦以适应变化,涉及单体结构至服务的多层级边界划分。

2024-01-30 18:59:07 1113

原创 架构整洁之道-组件构建原则

组件构建原则指导软件架构设计,包括组件聚合的REP、CCP和CRP原则以及耦合相关的无依赖环、稳定依赖与稳定抽象原则,旨在优化依赖结构、降低耦合度并适应项目演进。

2024-01-29 17:03:10 1164

原创 架构整洁之道-设计原则

SOLID包括:单一职责(每个类专注于单一功能)、开闭原则(扩展不修改原有代码)、里氏替换(子类能正确替代父类)、接口隔离(避免大而全的接口)及依赖倒置(高层模块依赖抽象而非具体实现)。

2024-01-26 15:35:56 1309

原创 架构整洁之道-价值维度与编程范式

设计与架构本质上相同,强调一体化和灵活性以低成本满足系统构建维护需求。软件价值体现于行为与架构两维度。编程范式包括结构化、面向对象和函数式,各对程序控制转移或赋值进行规范约束。

2024-01-26 11:21:17 1230

原创 大型语言模型,用最少的数学和行话进行解释

对Large language models, explained with a minimum of math and jargon一文进行学习和记录,通过不使用技术术语或高级数学的方式下,令普罗大众对LLM内部的工作原理有一定的理解,讲解了词向量、向量运算、注意力机制、前馈网络等内容。

2024-01-10 14:57:45 602

原创 大话数据结构-查找-散列表查找(哈希表)

对散列技术进行介绍,同时介绍散列表的构建方法,包括直接定址法、数字分析法、平方取中法、折叠法、除留余数法和随机数法,并介绍了开放定址法、再散列函数法、链地址法、公共溢出区法等冲突解决办法,并对开放定址

2023-12-06 18:48:50 873

原创 大话数据结构-查找-多路查找树

对多路查找树进行介绍,主要介绍了根据数组生成2-3树、2-3-4树、B+树,以及从2-3树、2-3-4树和B+树中删除元素的原理以及代码实现。

2023-12-06 18:47:07 1031

原创 大话数据结构-查找-平衡二叉树

平衡二叉树(AVL树)的相关概念、生成原理、代码实现,详细介绍了在平衡二叉树实现过程中,向左旋转的原理、向右旋转的原理,并以一个真实的数组举例进行详细讲解。

2023-12-06 18:41:37 1009

原创 大话数据结构-查找-二叉排序树

二叉排序树查找,对二叉排序树进行详细介绍,提供二叉排序树的实现代码,并实现了二叉排序树查找的具体代码。

2023-12-06 18:36:17 328

原创 大话数据结构-查找-线性索引查找

线性索引查找,详细介绍索引的概念、分类,并对稠密索引、分块索引、倒排索引进行详细概念介绍和示例展示。

2023-12-06 18:35:33 393

原创 大话数据结构-查找-有序表查找

有序表查找,包括折半查找,插值查找,斐波那契查找这些有序表查找方法的原理,对原理进行详细阐释,并提供Java代码实现。

2023-12-06 18:33:42 929

原创 大话数据结构-查找-顺序查找表

查找概论,查找表、关键字、静态查找表、动态查找表等概念介绍。顺序表查找逻辑及其Java代码实现介绍。

2023-04-23 09:51:30 254

原创 大话数据结构-迪杰斯特拉算法(Dijkstra)和弗洛伊德算法(Floyd)

最短路径,迪杰斯特拉算法(Dijkstra)、弗洛伊德算法(Floyd)基本原理及邻接矩阵的代码实现。

2023-03-02 20:51:58 4663

原创 大话数据结构-普里姆算法(Prim)和克鲁斯卡尔算法(Kruskal)

最小生成树的定义,普里姆算法(Prim)和克鲁斯卡尔(Kruskal),以及各种存储结构下的最小生成树的代码实现。

2023-03-02 20:51:07 4369

原创 大话数据结构-图的深度优先遍历和广度优先遍历

数据结构中图的深度优先遍历、广度优先遍历定义,邻接矩阵、邻接表、逆邻接表、十字链表、邻接多重表和边集数组的深度优先遍历实现和广度优先遍历实现。

2023-03-02 20:48:38 9341

原创 大话数据结构-图的定义和存储结构

数据结构中图的定义,无向图、无向网、有向图、有向网,顶点及顶点的关系,边及弧,邻接点,领队,相关联,度,入度,出度,路径的长度,回路,连通图,邻接矩阵、邻接表、逆邻接表、十字链表、邻接多重表和边集数组

2023-03-02 20:47:43 521

原创 大话数据结构-树

树的定义,结点分类,关系,层次和度,双亲表示法,孩子表示法,孩子兄弟表示法,二叉树,完全二叉树,满二叉树,顺序存储和链式存储实现,线索二叉树,前序遍历、中序遍历,后序遍历,层序遍历,赫夫曼树,森林

2023-03-02 20:46:13 373

原创 大话数据结构-队列

队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。是先进先出的线性表,顺序存储结构及实现,链式存储结构链队的实现等。

2023-03-02 20:14:06 152

原创 大话数据结构-栈

栈(stack)是限定仅在表尾进行插入和删除操作的线性表,是后进先出的线性表,顺序存储结构及代码实现,两栈共享空间的实现,链式存储结构链栈的实现。中缀表示法、前缀表示法、后缀表示法及代码实现。

2023-03-02 20:11:54 425

原创 大话数据结构-线性表

线性表是零个或多个数据元素的有限序列,顺序存储结构及代码实现,链式存储结构单链表及代码实现,静态链表,循环链表,双向链表等及代码实现。

2023-03-02 19:57:43 192

原创 分布式会话基本原理

1 什么是Session Session代表着服务器和客户端一次会话的过程,Session对象存储着特定用户会话所需的属性及配置信息,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量不会丢失,而是在整个用户会话中一直存在下去,当客户端关闭会话,或者Session超时失效时会话结束。2 分布式Session 在分布式场景下,一个用户的Session如果只存储在一台服务器上,那么当负载均衡器把用户的下一个请求转发到另一个服务器上时,该服务器上没有用户...

2022-03-29 10:24:49 1355

翻译 2.4 增强干系人之间的沟通

软件架构代表系统的通用抽象,系统的大多数(如果不是所有的话)干系人可以用它来作为建立相互理解、协商、形成共识及互相之间沟通的基础。架构,或架构的部分,能够充分地抽象,以便很多非技术人员能够充分地理解它,特别是在架构师的指导下,而且这些抽象可以被提取为充分丰富的技术规范,用于指导实现、集成、测试和部署。 每个软件系统的顾客、用户、项目管理者、开发人员、测试人员等等这些干系人——会受到受架构影响的系统的不同特征影响。例如: (1) 用户关心系统是快的、可靠的,并...

2021-11-16 20:58:47 265 1

翻译 2.3 预测系统质量

如上文所述,架构不只使系统具有质量,也能够预测系统质量。在系统被开发和部署之前,不能说已经有适当的架构决策(也即,系统是否展示它所需的质量属性),因而选择一个架构是不可能完成的任务,随机地进行架构选择跟任何其他方法一样有效。幸运的是,仅基于对系统架构的评估就可以对系统进行质量预测。如果我们知道特定的各种架构决策可以决定系统的特定的质量属性,那么我们可以做出这些决策,并适当地期望得到相关质量属性的回报。事实上,当我们对架构进行检测时,我们可以看看这些决策是否已被做出,并自信地预测到架构将展示的...

2021-09-28 15:30:25 175

翻译 2.2 对变更进行推理和管理

可变性——系统进行变更的容易程度——是一个质量指标(因此前文用变量来表示),因为它极其重要,所以我们把它放在了前文的十三个重要项里面。软件开发社区发现,典型的软件系统中,80%的成本发生在第一次部署之后。也即,在大多数系统中,人们的大多数工作都是在这个阶段。很多程序员及软件设计师的工作内容被限制在现存架构和已有代码的维护过程中。事实上所有软件在生命期内都会发生变更,可能是添加新功能,可能是为了适配新的运行环境,可能是修改Bug等等。但这些变化往往充满困难。 每个架构部分都可能...

2021-09-24 13:49:50 98

翻译 2.1 禁止或启用一个系统的质量指标

系统是否允许展示其渴望的(或需求的)质量指标在很大程度上取决于其架构。 本书的第二部分会对此进行更加详细地阐述。在此之前,请记住以下示例: (1) 如果你的系统需要高性能,那么你需要注意管理元素基于时间的行为,它们共享资源的使用,以及元素间通信的频率及容量。 (2) 如果可变性很重要,则需要注意分解每个模块的职责,以保证系统的大部分变更都只会影响少部分模块(最理想的状态时,每个变更只会影响一个元素)。 (3) 如果你的系统要求高...

2021-09-17 15:31:41 80

翻译 2 为什么软件架构很重要

Software architecture is the set of design decisions which, if made incorrectly, may cause your project to be cancelled.-Eoin Woods 为什么需要架构? 本章将聚从技术视角来阐述架构的重要性。我们将从以下几方面展开: 1 架构可以控制系统对质量指标的掌控。 2 在架构中的决策可以用来推断或管理系统演化过程中的...

2021-09-16 22:09:44 1514

翻译 1.4 好的架构由什么组成

实际上并不存在一定好或者不好的架构。每个架构都或多或少地适用于某些场景。三层面向服务架构可能只是一个大型的基于B2B企业系统的入门架构,但对于航空应用来说则足够了。为实现高可修改性而精心设计的架构对于一次性原型并没有意义(反之变然)。本书的一则消息是,架构事实上是可以被评估的——重视架构的最大收益之一——但只在特定状态目标的背景下。 然而,当设计大部分架构时,还需要遵守一些经验法则。如果不应用任何一项经验法则,并不意味着架构有致命缺陷,但至少应该作为一个警告信息,应该进行调...

2021-09-16 17:38:46 147

翻译 1 什么是软件架构

Good judgment is usually the result of experience.And experience is frequently the result of bad judgment. But to learn from the experience of others requires those who have the experience to share the knowledge with those who follow.-Barry LePatner

2021-09-15 14:27:42 120

翻译 1.3 架构模式

在某些场景下,架构元素是由解决特定问题的方式组件成的。随着时间的推移,人们发现这种组合的方式在许多不同领域都很有用,因此这种方式被广泛记载和传播。架构元素的这种组合方式,叫做架构模式,提供了解决一些系统问题的一整套策略。 架构模式描绘了用于解决问题的元素类型及其交互形式。模式可以根据它们使用的架构元素类型进行特征化。例如,常见的模式类型模式如下:层模式:当软件元素间的使用关系是严格单向时,就会出现一个层系统。层是一组连贯的相关功能。在严格的分层结构中,层只能使用其正下方...

2021-09-15 11:55:00 106

翻译 1.2 架构结构和视图

神经科医生、骨科医生、血液科医生和皮肤科医生对人体结构都有不同的看法。眼科医生、心脏病专家和足病学家专注于特定的子系统。运动学家和精神病医生关注整个安排行为的不同方面。尽管这些视图的描述方式不同,属性也非常不同,但它们都有内在的联系:它们共同描述了人体的结构。图1所示。显示人体的几种不同的视图:骨骼、血管和x光。 软件也是这样。现代系统往往过于复杂,无法一次掌握全部。相反,我们将注意力限制在软件系统的一个(或一小部分)结构上。为了对架构进行有意义的交流,我们必须弄清楚我...

2021-09-15 10:03:18 809

翻译 1.1 软件架构含义

The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both.

2021-08-16 19:33:01 612

原创 Java代理模式

一、静态代理抽象主题角色:package com.roger.test.proxy;public interface Subject { void request(String name);}真实主题角色:package com.roger.test.proxy;public class SubjectImpl implements Subject ...

2019-02-13 16:09:48 208

原创 内存分配规则

        Minor GC:        从年轻代空间(包括Eden和Survivor区域)回收内存被称为Minor GC:        (1) 当JVM无法为一个新的对象分配空间时会触发Minor GC,比如当Eden区满了,所以分配率越高,越频繁执行Minor GC;        (2) 内存池被填满的时候,其中的内容全部会被复制,指针会从0开始跟踪空闲内存。Eden和Sur...

2019-02-12 18:17:21 1037

原创 垃圾收集器常用参数

UseSerialGC 虚拟机运行在Client 模式下的默认值,打开此开关后,使用Serial + Serial Old 的收集器组合进行内存回收 UseParNewGC 打开此开关后,使用ParNew + Serial Old 的收集器组合进行内存回收 UseConcMarkSweepGC 打开此开关后,使用ParNew + CMS + Serial Old 的...

2019-02-12 16:35:45 412

原创 理解GC日志

33.125:[GC[DefNew:3324K->152K(3712K),0.0025925 secs]3324K->152K(11904K),0.0031680 secs]100.667:[Full GC[Tenured:0K->210K(10240K),0.0149142 secs]4603K->210K(19456K),[Perm:2999K->2999K...

2019-02-12 16:28:10 1192

原创 G1(Garbage First)收集器

        G1收集器于JDK 7u4版本正式推出,是一款面向服务端应用的垃圾收集器,与其他收集器相比,G1有具备以下特点:        (1) 并行与并发:G1能充分利用多CPU、多核环境下的硬件优势,使用多个CPU或CPU核心来缩短Stop-The-World停顿的时间,部分其他收集器原本需要停顿Java线程执行的GC动作,G1收集器仍然可以通过并发的方式让Java程序继续执行;  ...

2019-02-12 15:25:14 773

原创 垃圾收集器

        Parallel:并行,指多条垃圾收集线程并行工作,但此时用户线程仍处于等待状态;        Concurrent:并发,指用户线程与垃圾收集线程同时执行(但不一定是并行的,可能会交替执行),用户程序仍在继续运行,而垃圾收集程序运行于另一个CPU上;        HotSpot包含的所有虚拟机如下图所示:        如果两个收集器之间存在连线,就说明它们可以...

2019-02-11 18:43:19 179

Spring Security集成CAS客户端实例

这是一个Spring Security集成CAS实现单点登录的客户端实例,使用Maven集成开发,项目中使用到的Oframer和otauser(CAS服务端)请至我的资源中寻找下载。

2015-03-02

CAS服务端(非原生)

对CAS的服务端进行改造,改造时使用了Maven来管理代码。此次改造实现了自定义登录验证、向客户端传输更多用户信息、登出允许携带参数等功能。应用中用到的Oframer请至我的资源中下载。

2015-03-02

Oframer开发框架

这是一个使用Maven集成的Spring、Struts、Hibernate、Spring Data Jpa等开源技术的底层框架,开发人员可以以此框架为依托,即作为parent进行二次开发,该框架因集成了较多的工具类及多项开源工具,因此可以大大降低开发人员的工作量。

2015-03-02

poi生成Excel及合并单元格示例

poi生成excel及合并单元格示例,详见文章http://blog.csdn.net/geloin/article/details/17219885

2013-12-09

集成Spring、Elasticsearch、paoding,将ES服务嵌入到Web程序

集成Spring、Elasticsearch、paoding,将ES服务嵌入到Web程序,详细项目过程可参见http://blog.csdn.net/geloin/article/details/17073759。

2013-12-02

ElasticSearch应用之Java示例源代码

本资源为一个使用Maven管理的ElasticSearch示例项目,项目中使用了Paoding分词器,项目开发过程可参见http://blog.csdn.net/geloin/article/details/8933825

2013-05-16

单元测试的基本理论与使用

某次培训所用的资料,一些简单的示例。在使用JUnit时,没有使用注解。

2013-04-12

Axis2与Was7

本文根据我自己的实践,将axis2与was7的集成进行了详细解说,主要包括: 1. 将原生axis2.war部署到was7上; 2. 将axis2集成到web工程中; 3. 将集成了axis2的web工程部署到was7上。 示例比较简单,但我自己实践了mtom附件传输的服务实现,所以可供参考。

2012-12-13

Spring MVC整合Mybatis

Spring MVC整合Mybatis示例,该文本与http://blog.csdn.net/geloin/article/details/7536968配套。

2012-08-17

Spring MVC文件上传下载

Spring MVC文件上传下载,是http://blog.csdn.net/geloin/article/details/7537425#comments的配套资源。

2012-08-17

IIS整合TOMCAT

该文档是一份源自网络的,由作者根据自身实践,整理出的win7及win xp下整合IIS和Tomcat的方案。

2012-06-18

Webservice接口开发

本文介绍了Webservice配合axis2开发的全过程,内含大量代码示例,并附上详细介绍。

2012-02-24

NoSQL笔谈(颜开)

颜开的NoSql数据库笔谈,有网络版,此处只是将之收集与处理成册。

2012-01-16

sphinx_coreseek使用手册

全文搜索引擎sphinx的简单使用,文档是配合java和mysql一起使用的方法。

2011-12-14

Eclipse下打包及exe程序

Eclipse(非MyEclipse)下打可运行的jar包的方法及将jar包再次打包成exe文件的方法。

2011-12-14

带时间的js日期控件

这是一个简单的js文件,在使用时只需要导入此js,再做一些简单的操作即可。

2011-06-23

ssh的annotation示例

在本项目中,用到了struts2、hibernate3和spring3,对这三个框架都采用了annotation,即所谓的零配置。本项目没有完全的“零配置”,但已经只有极简单的配置了。希望对您有帮助。

2010-11-04

xwork2.0.4源代码

xwork2.0.4源代码,通过myeclipse的svn下来的,放心使用。 建议自己从xwork的官网下载all版本,上面有包含源代码。

2010-01-26

ognl2.7.3源代码

ognl2.7.3源代码,通过myeclipse的svn检下来的,放心使用。

2010-01-26

hibernate英文参考手册

hibernate官方参考手册,英文最新版,希望对大家有用。

2010-01-26

JAVA EE起卡之MyEclipse

本资源讲了MyEclipse的下载、安装、基本配置和一些初步的用法,内容并不是很多,很初步。

2009-10-20

JAVA EE之Tomcat起步

本ppt介绍了tomcat6的下载、安装、配置、启动、关闭等。 注意:经过检查发现,webapps文件夹里面的东西在没有用MyEclipse时是不能删除的。 本文还可见于:http://blog.sina.com.cn/s/blog_534e248e0100fj4e.html

2009-10-17

struts2.1.6源代码,包括xwork2.1.2和ognl2.6.11的源代码

这是我找了很久才搞到的东西,用了一个下午搞了visualsvn server,到头来却不能用,还好后来找到了这些资源,所以传上来让大家共享,保证是如题所说的资源。

2009-07-17

RCP学习资源,RCP程序设计

一直在找RCP的教程,终于找到了一本书,所以传上来供大家共享。

2009-07-14

基于DAO的社团网站--只供学习参考

这是我自已开发的一个网站,用到了jsp、servlet、dao等知识,大家参考一下。

2009-06-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除