自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiaoai1994的博客

一个Java行业的小学生

  • 博客(37)
  • 资源 (2)
  • 收藏
  • 关注

原创 笔记目录总览

内容大多数为自己学习笔记的整理,尽量保持两天更新一篇的频率,如果有错误的地方也希望看到的同学帮忙提醒下,谢谢!一、 计算机原理CPU的基础入门二、 多线程三、 JVM垃圾回收基础(GC相关)垃圾回收器介绍...

2020-11-16 17:47:41 136 2

原创 [设计模式] - 外观模式

文章目录一、外观模式的简介1. 外观模式的简介2. 外观模式的使用场景二、通过业务讲模式1. 提供一个业务场景2. 业务流程分析三、外观模式的实现1. 代码实现(1) 创建基金产品(2) 创建外观类(3) 测试及测试结果2. 实现分析四、外观模式的特点1. 外观模式的使用场景2. 外观模式的优缺点一、外观模式的简介1. 外观模式的简介**外观模式(facade pattern)**又叫做门面模式,属于结构性设计模式的一种,它的提出主要是为了隐藏系统的复杂性。=实现了外观模式的系统不需要知道系统内部的复

2021-01-25 13:30:53 46

原创 [设计模式] - 组合模式

文章目录一、组合模式的简介1. 什么是组合模式2. 组合模式的使用场景二、通过业务场景讲述组合模式1. 提出一个使用场景2. 业务分析三、组合模式的分类及实现1. 透明组合模式的实现(1) 创建component(2) 创建composite(3) 创建leaf(4) 创建测试用例及测试结果2. 安全组合模式的实现(1) 创建Component(2) 创建Composite(3) 创建leaf(4) 创建测试用例及测试结果四、总结组合模式1. 组合模式的构成2. 组合模式的结构图3. 组合模式的优缺点4.

2021-01-21 14:52:13 31 2

原创 [设计模式] -装饰器模式

文章目录一、装饰器模式的简介1. 什么是装饰器模式2. 装饰器模式的业务场景二、装饰器模式的实现1. 代码实现(1) 创建实体接口(2) 创建实现类(3) 创建抽象装饰类(4) 创建装饰实现类(5) 测试代码2. 装饰器模式的实现分析三、装饰器模式的特点1. 装饰器模式的优劣势2. 装饰器模式在JDK中的引用一、装饰器模式的简介1. 什么是装饰器模式装饰器模式(Decorator Pattern) 是为了达到可以为一个现有对象添加新的功能同时又不改变其结构的设计模式,这种设计模式属于结构性设计模式

2021-01-20 11:03:49 9 1

原创 [设计模式] - 桥接模式

文章目录一、桥接模式的简介1. 什么是桥接模式2. 提出一个业务场景3. 传统实现方式(1) 创建Phone抽象类(2) 创建具体手机品牌(3) 编写测试类4. 分析传统方式的优劣势二、桥接模式的实现1. 改写既有代码(1) 抽离共有行为(2) 创建行为实现类(3) 创建实体抽象类(4) 创建实体子类(5) 测试2. 分析桥接模式设计思路三、桥接模式的特点1. 桥接模式的优缺点2. 桥接模式的使用场景一、桥接模式的简介1. 什么是桥接模式桥接模式(Bridge) 又叫做柄体模式(handle and

2021-01-19 16:03:51 24 1

原创 [设计模式] - 适配器模式

文章目录一 、 适配器模式的简介1. 什么是适配器模式2. 适配器的业务场景二 、适配器模式的实现1- 类适配器1. 类适配器的实现(1) 创建耳机接口(2) 创建普通3.5mm耳机(3) 创建转换器接口(4) 创建接口转换类(5) 创建手机对象(6) 创建测试类2. 类适配器的设计思路2 - 对象适配器1. 对象适配器的实现1. 对象适配器的设计思路2 - 接口适配器接口适配器的实现原理三 、 适配器模式的特点1. 适配器的使用场景2. 适配器模式的特点3. 注意事项一 、 适配器模式的简介1. 什么

2021-01-18 11:50:36 31 5

原创 [设计模式] - 建造者模式

文章目录一、建造者模式的简介1. 什么是建造者模式2. 建造者模式使用的业务场景二、传统方式实现1. 利用有参构造三、建造者模式实现第一步: 创建产品对象第二步: 创建Builder接口第三步: 创建concreteBuilder第四步: 创建directory第五步:测试结果四、 建造者模式的实现原理1. 建造者模式的角色构成2. 建造者模式的特点一、建造者模式的简介1. 什么是建造者模式建造者模式(Builder Pattern) 隶属于创建型设计模式,是一种通过将多个简单对象或属性一步一步构建成

2021-01-15 11:54:13 27 2

原创 [设计模式] - 原型模式

文章目录一 、原型模式的简介1. 什么是原型模式2. 原型模式应用的业务场景二、原型模式的实现1. 原型模式的实现原理2. 原型模式的简单实现2.1 创建一个原型对象2.2 测试原型对象3. 直接调用clone方法存在的问题三、 深拷贝与浅拷贝1. 什么是深拷贝与浅拷贝2. 如何实现一个深拷贝四 、 深拷贝原型模式的实现1. 双重浅拷贝2. Json序列化方式五、总结1. 原型模式的设计思路2. 原型模式的特点一 、原型模式的简介1. 什么是原型模式原型模式(prototype) 是创建型设计模式

2021-01-14 14:03:04 116 6

原创 [运维] - 福利发放系统常见异常

文章目录一、常见异常排查方式1. 问题定位2. 常见错误码及含义3. 撤销流程4. 公会券回收5. 限额及待发放金额修改6. 数据修改及数据提取7. 用户重复注册8. 退款问题9. 后记一、常见异常排查方式1. 问题定位在已知流水号的情况下:点击福利发放管理点击福利统一发放(按实际发放方式)点击发放详情找到未发放成功人员,查看错误码2. 常见错误码及含义1. 单位第一次打钱还没到或者银商还没初始化单位账户:COMPANYNO_INVALIDSPLIT_ACCOUNT_INVALI

2021-01-14 11:17:24 68 2

原创 [面试] - 成都面试系列第一期

前言熟悉我的小伙伴都知道每年12月底我都要去面试市场摸一摸今年的市场行情。我的目标大多数都是一些初创团队,首先是因为他们的业务模型比较新颖,还有就是技术栈的选用一般都是当年最热门的框架。今年从圣诞节后到这周,大大小小参与了20多家的面试,我准备分几期来整理下这些家公司面试中问到的问题和主要关心的业务场景。一、 一智科技一面一智科技主要针对旗下的一款叫做安心筑的APP做功能开发,他们公司的主营方向是地产结算相关的领域。创始人团队大多数都是从阿里系出来的,所以技术氛围还是不错的。当天面试经历了三轮,第一

2021-01-13 10:12:46 27 1

原创 [设计模式] - 工厂模式(工厂方法与抽象工厂)

文章目录一 、 工厂模式的简介1. 什么是工厂模式2. 工厂模式的分类二 、 通过业务场景引出工厂模式1. 业务场景(1) 第一步:定制手机模板(2) 第二步:制造手机(3) 需求变更三 、 工厂方法模式1. 什么是工厂方法模式2. 工厂方法模式实现步骤(1)创建手机工厂对象(2)创建工厂方法接口(3)实现工厂对象(4)实现工厂方法(5)创建订单类并测试结果(6) 新增手机类别(7) 新增手机工厂(8) 测试结果3. 工厂方法模式的设计原理4. 工厂方法的特点四、简单工厂模式1. 简单工厂模式的简介2. 代

2021-01-12 15:35:20 49 1

原创 [设计模式] - 策略模式

文章目录一、策略模式简介1. 什么是策略模式2. 什么时候可以使用策略模式二、策略模式的实现1. 业务场景2. 简单的编码实现一、策略模式简介1. 什么是策略模式策略模式(Strategy Pattern) 是指定义了算法组并分别封装起来,让他们可以互相替换使得算法的更改并不会影响使用了算法的用户。策略模式属于行为性设计模式,在策略模式中,一个类的行为及算法可以在运行时更改。2. 什么时候可以使用策略模式策略模式通常应用在一下场景:消除if-else 引起的代码复杂度提升和维护问题应用在

2021-01-07 11:22:18 26 1

原创 [科普向] - Java开发中的常见异常

文章目录1. 什么是异常2. 异常的分类三、常见的Exception1. 什么是异常在实际的开发中,有很多情况下都可能造成系统出错。就比如设备错误,无理限制,代码错误等等。Java为了解决这个问题提出了一种称为异常处理(Exception handing)的错误捕获机制。在这个机制下,异常被分为两种:ERROR和Exception2. 异常的分类我们首先可以将异常的结构层次图简单的画出来:其中ERROR级别的异常常是由于系统级别的问题造成的,通常交给JVM处理。而我们重点需要认识下Excepti

2021-01-05 14:37:47 24 3

原创 [设计模式] - 单例模式

文章目录一、单例模式简介1. 什么是单例模式2. 单例模式的应用场景二、单例模式的实现1. 饿汉式2. 懒汉式3. DCL4. 静态内部类5. 枚举方式三、破坏单例模式1. 反射破坏单例模式2. 反序列化破坏单例模式结束语一、单例模式简介1. 什么是单例模式单例模式(singleton)是指通过代码保证一个类只有一个实例并提供一个它的全局访问点。其实通俗的来讲实现了单例模式设计的类应该只会初始化一次并且要提供一个方法让所有的使用者都可以获取这个实例。2. 单例模式的应用场景在Design Patt

2021-01-05 14:23:28 30 6

原创 [设计模式] - 设计模式简介

文章目录一 、设计模式简介1. 什么是设计模式2. 设计模式的发展历史3. 设计模式的用途二、设计模式的分类1. 创建型设计模式2. 结构型模式3. 行为型模式三、面向对象的七大原则1. 开闭原则2. 依赖倒置原则3. 单一职责原则4. 接口隔离原则5. 迪米特原则6. 里氏替换原则7. 合成复用原则一 、设计模式简介1. 什么是设计模式设计模式,英文名为design pattern,是设计师为面向对象编程中一些反复出现的问题提出的一系列解决方案。设计模式这个术语最早由Erich Gamma 在199

2021-01-04 17:54:00 53 1

原创 linux--suse9和suse10的中文乱码解决(切换为gbk编码)

suse系统中文乱码问题这两天部署系统发现编写的脚本由于是gbk格式的,因为suse设置中文时默认为utf-8,这个时候需要修改编码格式来打到系统能够支持gbk编码.具体步骤:1. 使用locale命令查看本地的编码格式2. 用vi编辑器打开/etc/sysconfig/language文件3. 修改以下几处(将字符集修改为中文字符GB2312编号格式):RC_LAN...

2021-01-04 17:00:32 2233 1

原创 suse虚拟机网络配置(Nat模式)

前两天为客户部署系统,客户那边没有专业的网络技术人员.因此我自己研究了半天搞好了suse的网络配置.suse的网络配置相较而言还是比较简单的.具体步骤如下:第一步:进入 /etc/sysconfig/network文件夹下找到ifcfg-eth1 如果没有,则找到类似ifcfg-eth-*的文件,然后修改文件名,将文件名修改为ifcfg-eth1修改命令:cpifcfg-...

2021-01-04 17:00:09 1127 2

原创 [多线程] - 线程池详解

文章目录一、线程池的简介1. 什么是线程池2. 为什么要使用线程池3. 线程池的实现原理4. 创建线程池的方式4.1 通过构造方法创建4.2 工厂方法一、线程池的简介1. 什么是线程池首先我们可以参考下百度百科给出的答案:线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。然后我们可以通过百度百科的答案进一步的定义:在进程开始时创建一定数量的线程,并加到池中以等待工作。当服务器收到请求时,它会唤醒池内的一个线程(如果有可用线程),并将需要服务的请求传递给它。

2021-01-04 11:41:45 17 2

原创 [多线程] - AQS简介

文章目录一、AQS简介1. 什么是AQS2. AQS类的实现一、AQS简介1. 什么是AQSAQS是 AbstractQueuedSynchronizer的简写,中文译作抽象同步队列,它是实现同步器的基础组件,JUC(Java.util.cuncurrent包)中的大多数锁都是通过AQS设计实现的,在大多数情况下我们可能会很少能够接触到AQS,但是了解下AQS的原理还是有助于我们理解Java中的锁机制。2. AQS类的实现为了方便理解,我们先将AQS的类图粘上(下文中AbstractQueuedS

2020-12-29 14:06:03 13 1

原创 [多线程] - Java中的锁的分类

文章目录前言一、乐观锁和悲观锁二、共享锁与排它锁三、公平锁和非公平锁四、可重入锁和不可重入锁五、轻量级锁,偏向锁,自旋锁,重量级锁前言相信很多同学在学习多线程的时候,被各种各样的锁弄得七荤八素,今天我就准备针对这些锁做一个梳理,喜欢的同学请记得一键三连!一、乐观锁和悲观锁首先我们先来说下乐观锁和悲观锁,乐观锁与悲观锁最初是数据库设计者提出的改变,后在JAVA的并发包中也提供了实现。乐观锁和悲观锁主要是设计者针对线程之间不同的竞争程度提出的两种优化策略。当前线程间对于共享变量如果不存在竞争或者竞争并不

2020-12-23 10:33:26 14 1

原创 [多线程] - 锁的升级与对比(java中的偏向锁、轻量级锁、重量级锁)

文章目录前言一、偏向锁1. 什么是偏向锁2. 偏向锁的实现原理2.1 对象头2.2 偏向锁的获取2.3 偏向锁的关闭二、轻量级锁1. 什么是轻量级锁2. 轻量级锁的获取3. 轻量级锁的解锁三、重量级锁1. 什么是重量级锁2. 重量级锁的获取四、锁的升级与特点1. 锁的升级2. 锁的特点1. 锁的标志位2. 锁的特点前言最近整理了很多关于多线程的理论概念与底层实现,这里我尽量的使用图文结合的方式方便大家理解,如果有不清楚的地方也欢迎大家留言,我基本每天都在,可以在看到的第一时间回复。一、偏向锁1. 什

2020-12-22 15:18:15 25 1

原创 [多线程] - CAS算法(乐观锁与悲观锁)

文章目录一、乐观锁与悲观锁二、CAS算法一、乐观锁与悲观锁在日常的开发中为了保证共享变量的线程安全,大多数程序员的潜意识行为就是为这个共享变量的作用域加锁,就比如常见的使用synchronized关键字来同步代码块。但是简单粗暴的加锁真的是最优解吗?假如被锁住的共享变量并不会被频繁修改,但是synchronized实现的同步无疑会引起线程的堵塞从而降低程序的运行效率。这个时候我们有什么思路可以优化吗?当然可以,JDK的设计者基于这种情况早已给出了很多种解答方式。在JDK1.5后java通过排它锁,乐观锁

2020-12-21 14:06:12 302 1

原创 [多线程] - java内存模型(JMM内存模型)

文章目录前言一、Java内存模型的基础二、 顺序一致性模型1. 什么是顺序一致性模型2.as-if-serial3.happens-before三、后记前言《Java并发编程的艺术》的前三章内容有点乱,我在尽自己最大的能力捋一下前三章的核心知识点分享出来,这里还是和之前的想法一样,如果是没有基础的小白,千万不要买这本书,推荐可以去看下《Java并发编程之美》。一、Java内存模型的基础之前我提出过一个这么的概念来简化大家对线程的理解:无论我们在编码层做多么复杂的业务处理,对于计算机而言就只有三个

2020-12-17 17:02:26 307 3

原创 [多线程] - 并发编程的性能瓶颈(CPU上下文切换与资源限制)

文章目录前言一、并发编程的瓶颈二、CPU的上下文简介1. 什么是CPU的上下文2. 上下文切换3. 如何减少上下文切换三、资源限制1. 什么是资源限制2.如果避免资源限制四、死锁前言《Java多线程编程核心技术》中相关的内容已经更新的差不多了,接下来我会将《Java并发编程的艺术》中有价值的知识点做一个梳理更新,顺便分享下电子书的链接,该系列文章配合电子书一起学习效果更佳。Java并发编程的艺术链接:https://pan.baidu.com/s/18H60E_8KDO9uNIuWdghzcg提

2020-12-16 15:07:16 50 1

原创 [多线程] - Lock对象的使用详解

文章目录一、Lock对象简介二、Lock对象的应用1.Lock对象的同步性验证1)Lock接口的实现类2)Lock对象实现同步3)多代码块之间的同步性4)unlock的使用2. Condition与多路通知1)condition实现wait/notify通知模型2)选择性通知3)Condition对象的总结4) Condition对象的面试题三、Lock对象的锁特性1.公平锁与非公平锁2.读写锁(共享锁与排它锁)一、Lock对象简介按照惯例,我们在介绍一个对象前首先要翻译一下他的语义:什么,锁?是不

2020-12-11 17:58:57 37 2

原创 [多线程] - ThreadLocal的使用

文章目录一、TreadLocal是什么二、ThreadLocal的简单应用三、ThreadLocal的源码分析4、InheritableThreadLocal一、TreadLocal是什么在讲述概念前,我们还是先看下官方文档是怎么定义的:观看官方文档,我们可以将Threadlocal做如下简单的定义:ThreadLocal是指的用来保存线程局部变量的一个类,既然用来保存数据,代表我们可以将ThreadLocal看做是一个容器。ThreadLocal是用来解决多个线程使用同一个共享变量的问题,

2020-12-08 16:10:24 44 1

原创 [多线程] - join方法的使用详解

文章目录一、前言二、join方法1. join的Api简介2. join方法的实现3.总结一、前言按照惯例,我们在讲一个知识点之前习惯性的提出一个业务场景的应用来帮助理解,今天咱们就通过一个渣男的案例来讲讲join的相关特性:土木三班陈同学是一个很有名气的渣男,最近陈同学刚刚跟女朋友分了手,处于空窗期的他打开了微信附近的人,挑了个他觉得长得还不错的姑娘发起了搭讪请求。public class ChatUp { // 被搭讪人是否回复 public volatile static boolea

2020-12-07 16:12:54 27 1

原创 《Java多线程编程核心技术 第二版》 知识点总结

第一章、Java多线程技能1.线程的入门概念 2.从Thread类的构造函数分析创建一个线程需要的基本元素3.如何优雅的停止一个线程第二章、对象及变量的并发访问4.synchronized关键字入门(同步方法与同步代码块)5.volatile关键字第三章、线程间通信6.wait及notify的简介(线程间的通信)...

2020-12-06 16:26:01 9 1

原创 [多线程] - 线程间的通信(wait及notify方法的应用)

文章目录一、前言1. 什么是线程间的通信2. 提供一个简单的业务场景二、 wait及notify的使用1. wait方法的API简介2. notify方法的API简介3. 新的业务需求4. 线程的假死5. notifyAll三、补充1. wait和notify方法的锁状态2. wait和sleep的区别一、前言1. 什么是线程间的通信我想看到标题很多人想到的第一反应大概是疑问什么是线程间的通信?其实这个概念很好理解,在我们的实际的业务开发中,很多场景都是多个线程之间配合进行工作的,就好比一条工厂的流水

2020-12-04 18:09:56 37 1

原创 [多线程] - volatile关键字的特性

文章目录一、volatile关键字是什么二、volatile的引入三、volatile的特性1.volatile与可见性2.volatile与原子性3.volatile与有序性四、volatile面试相关一、volatile关键字是什么在日常的面试中,volatile无疑是被提到频率非常高的一个问题,在各大公众号中也充满了对volatile关键字的解析,那么volatile究竟是什么呢???都被应用在了哪些地方呢???首先在理解保留字方面,我觉得理解这个保留字的中文含义是有助于我们记忆的,那么打开

2020-12-02 13:56:10 230 10

原创 [多线程] -synchronized关键字入门(同步方法与同步代码块)

文章目录一、 线程安全问题二、synchronized简介1. 什么是synchronized2.什么是同步一、 线程安全问题线程安全问题使我们平时面试中总避不开会谈论的一个点,通常情况下线程安全问题都是由于非方法内的实例变量引起的。就比如我们举个很简单的例子:在描述线程的相关Demo中,我喜欢用银行相关的业务场景做举例,大多数和线程相关的知识点都能对应到银行需要用到的业务。就比如今天我会通过一个简单的银行排号系统的实现来解释今天的知识点。代码实现:public class BankLineU

2020-11-30 16:59:05 44 1

原创 [多线程] - 如何优雅的停止一个线程

文章目录一、 为什么要停止一个线程一、 为什么要停止一个线程

2020-11-24 15:49:35 89 1

原创 [多线程] - 从Thread类的构造函数分析创建一个线程需要的基本元素

文章目录一、Thread类的构造函数1.线程任务(Runnable)2. 线程名3. 线程组(ThreadGroup)4. 栈大小 (stackSize)二、总结三、Thread的小案例一、Thread类的构造函数在实际的开发中,如果我们想要启动一个新的线程任务需要怎么做?没错,就是调用Thread类的start()方法启动一个新的线程任务。那么一个Thread对象都需要哪些必要的条件作为新线程启动的基本元素呢?我们就可以在Thread类的构造函数下手分析。Thread t1 =new Thread(

2020-11-19 15:11:23 63 4

原创 [多线程] -线程的基础概念入门

文章目录一、线程的基本概念1. 什么是线程?什么是进程?2. 线程和进程的详述(可跳过)3. Daemon Thread (守护线程)二、 Java线程的生命周期一、线程的基本概念1. 什么是线程?什么是进程?解释线程和进程比较枯燥的概念就是:进程是资源分配的基本单位,线程是CPU的调度的最小单位。这样的答案都太字面,抽象不太容易让人理解,所以我还是举一个曾经看到过的例子:如果说进程是一列拉载着数据信息的火车,那么线程就是一节一节的车厢。就像火车可以拥有多节车厢一样,一个进程可以拥有多个线程。

2020-11-17 14:31:05 35 1

原创 [JVM基础]-- 垃圾回收器

垃圾回收器一、什么是垃圾回收器二、垃圾回收器的分类1.并行,串行,并发之间的区别1. Serial(串行收集器)2.ParNew3.Parallel Scavenge(1)降低停顿时间的两种方式(2)Parallel Scavenge提供的参数4.Serial Old5.Parallel Old6.CMS (concurrent mark sweep)CMS的特点7.G1(GarBage-First)(1)G1的回收过程(2)G1的特性8.小结一、什么是垃圾回收器根据垃圾回收器这个名字我们可以知道,其主

2020-11-13 14:58:19 74 4

原创 [JVM基础]-- 垃圾回收基础(GC相关)

垃圾收集一. 垃圾的定义1. 什么是垃圾2. 什么是内存泄露3. 什么是STW二. 垃圾查找算法1. 引用计数算法(reference count)(1) 定义(2) 特点2. 根可达算法(root searching)(1)定义2. 哪些对象可以作为GC Root3. 特性三. 垃圾回收算法(GC Algorithms)1. 标记清除算法(mark-sweep)(1) 定义(2)实现(3) 特性2.复制算法(copy)(1)定义:(2)实现(3)特性3. 标记整理(mark-compack)(1)定义(2

2020-11-12 14:22:11 33 1

原创 [计算机原理]--CPU的基础入门

CPU的组成1. CPU的制作过程2.计算机的组成3.CPU相关4.CPU的运算能力1. CPU的制作过程沙子脱氧 -> 石英 -> 二氧化硅 -> 提纯 -> 形成硅锭 -> 切割 -> 晶圆 -> 涂抹光刻胶 -> 进行光刻 -> 蚀刻 -> 清除光刻胶 -> 电镀 -> 抛光 -> 铜层 -> 测试 -> 切片 -> 封装2.计算机的组成3.CPU相关三级缓存被多核CPU共享超线程:Hy

2020-11-12 11:02:44 81 1

struts2技术内幕+struts2权威指南

《Struts2技术内幕:深入解析Struts2架构设计与实现原理》由国内极为资深的Struts2技术专家(网名:downpour)亲自执笔,iteye兼CSDN产品总监范凯(网名:robbin)以及51CTO等技术社区鼎力推荐。《Struts2技术内幕:深入解析Struts2架构设计与实现原理》以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2的技术内幕提供了大量真知灼见。同样重要的是,《Struts2技术内幕:深入解析Struts2架构设计与实现原理》还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的要点和本质提供了绝佳的指导。 《Struts2技术内幕:深入解析Struts2架构设计与实现原理》主要分为3大部分,内容安排具有极强的逻辑推理性,章和章之间互相呼应且互为印证。知识准备篇首先介绍了获取、阅读和调试Struts2源代码的方法,以及Struts2源代码的组织形式;然后厘清了Web开发中极易混淆的一些重要概念,以及Struts2的核心技术、宏观视图、微观元素、配置元素等,提纲挈领地对Struts2进行了多角度的讲解。核心技术篇首先分析了Struts2中多种具有代表性的设计模式,然后对Struts2中的精华——OGNL表达式引擎和XWork框架的原理及机制进行了全面深入的分析和讲解。运行主线篇首先对Struts2的两大运行主线——初始化主线和HTTP请求处理主线进行了深入的剖析,然后对Struts2的扩展机制进行了解读和抽象

2018-03-03

j2ee核心模式

《J2EE核心模式》(原书第2版):“Java领域的版图上撒满了各种类库、工具和技术规范。而缺乏的则是把这些内容融合在一起、解决真实情况下的问题的专业能力。本书中的这些模式,成为了J2EE软件建设过程中的智能水泥。 ——John Vlissides,《设计模式》的作者之一   “《J2EE核心模式》的作者们提取了一组真正实用的模式。他们介绍了应该如何应用这些模式、如何重构你的系统以便从模式中获益。这就像有一个专家组坐在你旁边一样。 ——Grady Booch,Rational软件公司首席科学家   “作者们介绍了大量对于应用架构极有帮助的模式,这是一项了不起的工作。单单是书中的‘重构’部分就值整本书的价钱!” ——Craig McClanahan,Struts首席架构师,JavaServer Faces技术规范组负责人   开发者们常常把“学会一种技术”和“学会使用这种技术进行设计”混为一谈。在本书中,Sun Java中心的资深架构师们分享了他们多年积累的使用J2EE技术进行设计的经验。   本书关注的主要内容,是使用J2EE的核心技术蜒包括JSPTM、Servlet、EJBTM、JMSTMAPI等蜒实现企业应用过程中的模式、最佳实践、设计策略以及经过验证的解决方案。其中的J2EE模式目录包括21个模式以及大量策略,有助于记录、促成运用以上技术的最佳实践

2018-03-03

空空如也

空空如也

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

TA关注的人 TA的粉丝

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