自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 PMP学习——《PMBOK指南》2. 项目运行环境

2. 项目运行环境项目所处的环境可能对项目的开展产生有利或不利的影响。这些影响的两大主要来源为事业环境因素(EEF)和组织过程资产(OPA)。事业环境因素(EEFs)是指项目团队不能控制的,将对项目产生影响、限制或指令作用的各种条件。这些条件可能来自于组织的内部和(或)外部。这些因素可能会提高或限制项目管理的灵活性,并可能对项目结果产生积极或消极的影响。组织内部的事业环境因素包括:组织...

2019-11-04 20:46:00 326

原创 PMP学习——《PMBOK指南》1. 引论

1. 引论全球项目管理业界定义的最重要的价值观是:责任、尊重、公正、诚实项目:项目是为了创造独特的产品、服务或成果而进行的临时性工作。独特的产品、服务或成果:开展项目是为了通过可交付成果达成目标。可交付成果指的是某一过程、阶段或项目完成时,必须产出的任何独特并可核实的产品、成果获服务能力。可交付成果可能是有形的,也可能是无形的。临时性工作:项目的“临时性”是指项目有明确的起点和终...

2019-11-03 15:37:50 874

原创 Spring Boot多模块项目搭建介绍

Spring Boot多模块项目搭建介绍本文主要介绍如何使用IDEA搭建多模块的Spring Boot项目,项目使用Spring Boot + MyBatis的技术架构。一、搭建父模块使用IDEA新建一个Project:选择Spring Initializr,点击【Next】:填写项目的GroupId、ArtifactId等项目信息,因为是示例代码,所以这些项目信息都填写为...

2019-10-20 10:40:37 1008

原创 使用Maven运行MyBatis Generator自动生成代码

最近在搭一套SSM的环境,其中要使用MyBatis Generator自动生成代码,在这过程中遇到了几个小问题,在这里记录一下,以备后续查看。MyBatis Generator是一个自动生成MyBatis需要的Mapper和xml文件的工具,我们可以通过命令行的方式自动生成代码,也可以使用Maven插件的方式生成,在这里我使用的是Maven的方式生成的。1、生成代码的步骤首先我们需要在po...

2018-12-06 14:52:28 2826

原创 LeetCode刷题记录(五)

LeetCode刷题记录(五)今天开始队列&栈卡片的学习。1、设计循环队列题目:我的思路:循环队列的工作原理可以参考LeetCode上的介绍,从介绍中我们可以看到:可以定义一个数组来存储队列中的元素,循环队列定义了两个指针,一个指针指向的是队列的起始位置,一个指针指向的是队列的结尾;当队列为空时,起始指针和尾指针都是指向的队列之外,向队列中添加一个元素之后,起始指针和尾...

2018-10-19 10:40:14 394

原创 设计模式——模板方法模式

模板方法模式1、定义模板方法模式 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法可以在不改变算法结构的情况下,重新定义算法中的某些步骤。这个定义还是比较好理解的,由父类定义定义一个模板,这里的模板就是一个方法,它将算法定义成一组步骤,其中任何步骤都可以是抽象的,由子类负责实现。通过模板方法模式,可以确保算法的结构保持不变,同时由子类提供部分实现。下面我将通过具体实例来讲解...

2018-10-15 16:36:45 304 1

原创 LeetCode刷题记录(四)

LeetCode刷题记录(四)1、数组拆分 I题目:我的思路:这一题我的思路分为两步:首先要将这个数组中的元素进行排序,使其成为一个有序数组,然后挑选出其中第奇数个元素,将它们相加的和就是结果。为什么是第奇数个元素相加呢?根据题目中要求,要选出两两组合中较小的元素相加然后得到最大的总和,所以我们就要使两两组合中较小的那个元素尽量大,因为已经先对这个数组进行了排序,所以这2n个数中值最大...

2018-09-27 14:53:58 367

原创 LeetCode刷题记录(三)

LeetCode刷题记录(三)1、螺旋矩阵题目:我的思路:我将获取螺旋矩阵的过程分为四步:先从左往右遍历矩阵的值,到最右之后再从上往下遍历,到最下面之后再从右往左遍历,到最左侧之后再从下往上遍历,这样依次循环,直到遍历到最后一个值;根据这个思路我定义四个变量,分别表示横向的最小值、最大值和纵向的最小值、最大值,并且可以定义横向坐标和纵向坐标,每次遍历都是横向或者纵向坐标从小到大或从大...

2018-09-26 17:56:09 306

原创 设计模式——适配器模式和外观模式

适配器模式和外观模式本文将分别介绍适配器模式和外观模式。1、适配器模式1.1、定义适配器模式 将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。适配器模式的定义非常易懂,就是将一个接口转换成另一个接口,这样一来就实现了接口的兼容。生活中我们有很多适配器的案例,例如我们请人从香港代购一个手机回来,因为香港使用的插头制式是英式插头,和内地的插座是不兼容的,那...

2018-09-20 20:07:20 360

原创 LeetCode刷题记录(二)

LeetCode刷题记录(二)继续数组和字符串卡片的题目,这一篇主要介绍一道二维数组相关的题目。1、对角线遍历题目:我的思路:这一题我的思路比较复杂,我先观察几种类型的二维数组1、 M=N类型的二维数组,例如: [1, 2, 3] [4, 5, 6] [7, 8, 9]它的对角线遍历值的索引是: (0, 1...

2018-09-14 17:11:16 203

原创 LeetCode刷题记录(一)

LeetCode刷题记录(一)最近开始在LeetCode上面做题,想想应该做一个记录,以便以后看到类似的问题及时查阅,同时也能够将做题时的思路记录下来,将这些思路整理归纳,形成一套我自己的解题思路。当然,算法题只做一次是不够的,需要多次的练习,可能每次的想法都不太一样,在这里我只将当时做题的想法记录下来,不一定是这道题目的最优解,以后发现更好的解法的时候我也会及时更新。因为是刚开始做题,所以除...

2018-09-13 16:37:59 1149

原创 设计模式——命令模式

命令模式1、定义命令模式 将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。粗看这个定义有些拗口难懂,我们挑选几个点进行分析,首先命令模式是将请求封装成对象的,在之前的编码中我们要调用某个类的某个方法时是直接new一个对象然后调用这个对象的方法即可,使用了命令模式之后我们不再直接调用方法,而是通过将使用方法封装成对象,我们调用的是对...

2018-09-12 15:32:45 214

原创 设计模式——单例模式

单例模式1、定义单例模式 确保一个类只有一个实例,并提供一个全局访问点。单例模式的定义很好理解,单例模式能够确保一个类在任何时候只有一个实例,并且由类自己管理这个单独的实例,避免其它类产生实例,如果需要访问这个实例,可以通过类提供的全局访问点获取。下面我们就介绍一下单例模式的几种实现方式。2、单例模式的实现方式2.1、一种线程不安全的实现方式我们先来看一种实现方...

2018-07-06 10:33:12 308

原创 设计模式——工厂模式

工厂模式在《Head First 设计模式》一书中,一共介绍了一种类似于工厂模式的编程习惯、两种工厂模式,在这篇文章中,我将对它们分别进行介绍,下面首先来看一下简单工厂。1、简单工厂按照惯例,我们应该先介绍一下简单工厂的定义,然后举例说明,这一次,我们不这样做,我们首先举例说明,然后再引出简单工厂的定义,后续两个工厂模式均按此方式进行叙述,从案例中理解模式的定义才能够更加印象深刻。...

2018-07-04 18:42:33 4688

原创 设计模式——装饰者模式

装饰者模式1、定义装饰者模式 动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。在学习装饰者模式之前,如果我们想要扩展一个类的功能,可以通过继承这个类然后扩展它的方法来实现,但是这种方式是静态的,也就是说我们要事先将要扩展的功能写入到继承的类中,我们无法在运行时动态地添加新的功能,而装饰者模式可以做到这一点,下面我们就通过一个案例来详细介绍一下装饰者模式...

2018-06-12 10:28:04 409

原创 设计模式——观察者模式

观察者模式上一篇文章中我们介绍了策略模式,这一篇我们主要来介绍一下观察者模式。1、定义观察者模式 定义了对象之间一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。观察者模式的定义很好理解,定义了一对多的依赖,当一个对象发生改变时,依赖它的对象都能够收到通知并执行相应的更新操作,下面我们通过一个案例来详细讲解一下观察者模式。2、观察者模式案...

2018-06-06 10:21:00 326

原创 设计模式——策略模式

策略模式从今天开始介绍设计模式,其实我也是初学设计模式,主要参考书为《Head First 设计模式》,所以文中介绍的内容多引用此书,但我不会完全照搬书本中的案例,我会结合我日常生活中的实际使用情况,模仿书中的案例来介绍我自己的案例。当然,写文章的时候我也参考学习了网上很多的博客和资料,我会在文中一一注明出处,如您发现有侵权行为,请直接联系我。后续我还准备学习其他书籍,等学完之后我会再在此基础...

2018-06-04 10:12:05 323

原创 Spring——SpringMVC(三)

本文主要依据《Spring实战》第七章内容进行总结 前两节中,我们主要介绍了Spring MVC的控制器和视图解析器,通过上面两节内容,我们对Spring MVC已经有了一个初步的了解,也能够使用Spring MVC进行基本的Web层编程了,但是Spring MVC的知识还远未结束,在本节,我们将继续介绍Spring MVC的一些高级技术。1、Spring MVC配置的替代方案...

2018-05-24 20:17:00 554

原创 Spring——Spring MVC(二)

本文主要依据《Spring实战》第六章内容进行总结 1、Spring MVC视图解析器上一节主要介绍了Spring MVC中的控制器,介绍了控制器如何获取用户的请求数据,进行业务逻辑处理之后,将处理结果也就是模型传递给用来渲染的视图,但是控制器返回的只是一个逻辑视图名称,不会直接引用具体的视图实现。而要确定使用哪一个视图实现来渲染模型是视图解析器的任务。将控制器中请求处理的逻辑和视...

2018-05-18 11:27:29 285

原创 Spring——Spring MVC(一)

本文主要依据《Spring实战》第五章内容进行总结Spring MVC框架是基于模型-视图-控制器(Model-View-Controller,MVC)模式实现,它能够构建像Spring框架那样灵活和松耦合的Web应用。1、Spring MVC起步1.1、Spring MVC如何处理客户端请求Spring MVC处理客户端请求的过程可以参考如下所示的图示:具...

2018-05-14 20:17:23 722

原创 Spring——面向切面编程

本文主要依据《Spring实战》第四章内容进行总结1、面向切面编程术语1.1、横切关注点散布于应用中多处的功能被称为横切关注点,通常来讲,这些横切关注点从概念上是与应用的业务逻辑相分离的(但是往往会直接嵌入到应用的业务逻辑中),把这些横切关注点与业务逻辑相分离正是面向切面编程(AOP)所要解决的问题。AOP可以实现横切关注点与它们所影响的对象之间的解耦。横切关注点可以被...

2018-05-01 17:38:20 337

转载 RedHat 6.5 离线安装 apache2.4.23

转自:http://www.cnblogs.com/yshyee/p/5859015.htmlRedHat 6.5 离线安装 apache2.4.23第一部分:安装gcc等rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpmrpm -ivh ppl-0.10.2-11.el6.x86_64.rpmrpm -ivh cpp-4.4.7-4.el6.x86_...

2018-04-25 18:39:16 751

原创 org.apache.maven.archiver.MavenArchiver.getManifest错误

Eclipse创建Maven工程时,pom.xml文件第一行报错: org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)上网查找相关解决办法如下:1...

2018-04-16 20:45:57 437

原创 Spring——高级装配

本文主要依据《Spring实战》第三章内容进行总结1、环境与profile在不同的环境中配置某个bean的方式可能会有所不同,比如数据源DataSource,在开发、测试和生产环境中我们配置数据源的方式可能都不同,在开发环境中我们倾向于使用嵌入式数据库,而在生产环境中我们也许会使用JNDI管理DataSource。我们需要有一种方法来配置DataSource,使其在每种环境下都...

2018-04-02 20:10:04 263

原创 Spring——装配Bean

本文主要依据《Spring实战》第一、二章内容进行总结1、概述创建应用对象之间协作关系的行为通常称为装配,这也是依赖注入(Dependency Injection DI)的本质。通过DI,对象的依赖关系将由系统中负责协调各对象的第三方组件在创建对象的时候进行设定,对象无需自行创建或管理它们的依赖关系。 DI所带来的最大收益是——松耦合。耦合是具有两面性的: 1. 紧密耦合的代码...

2018-03-11 15:49:27 327

原创 《Servlet与JSP核心编程》读书笔记——JSP技术

JSP技术JSP页面需要转换成servlet,servlet在编译后,载入服务器内存中,初始化并执行,每一步在什么时候发生呢? –JSP页面仅在修改后第一次被访问时,才会被转换成servlet并进行编译 –载入到内存中、初始化和执行遵循servlet的一般规则模板文件的创建JSP文档大部分由静态文本(一般是HTML)构成,称之为模板文本,为处理页面而创建的servlet只是将它...

2018-02-10 16:09:34 646

原创 《Servlet与JSP核心编程》读书笔记——Servlet技术

servlet处理表单数据表单数据的作用form action="...">form>如果省略action,那么数据将提交给当前页面对应的URL在servlet中读取表单数据1、HttpServletRequest.getParameter方法可以得到表单参数的值2、如果同一参数名在表单数据中多次出现,可以调用HttpServletRequest.getP

2018-01-27 16:39:55 909

原创 《Servlet与JSP核心编程》读书笔记——servlet生命周期

servlet的生命周期服务器只创建每个servlet的单一实例,每个用户请求都会引发新的线程——将用户请求交付给相应的doGet或doPost进行处理。servlet单一实例,减少了产生servlet的开销,在一个面向模块化开发的过程中,常常一个点击操作就被定义为一个servlet的实现,而如果servlet的每一次被访问,都创建一个新的实例的话,服务器的可用资源消耗量将是一个相当重要的问题

2018-01-07 17:08:03 290

原创 使用Bouncy Castle生成数字签名、数字信封

Bouncy Castle(轻量级密码术包)是一种用于 Java 平台的开放源码的轻量级密码术包,它支持大量的密码术算法,并提供 JCE 1.2.1 的实现。最近项目上正好用到了Bouncy Castle,用于生成数字签名、数字信封,去网上找了很久,都没有找到合适的案例,而Bouncy Castle本身的文档也不多,最有用的就是官网上的Java Doc文档,因为这个问题也困扰了我好几天,最后还是通

2016-12-08 17:09:47 11071 12

原创 Hibernate学习笔记(六)——缓存

一、Hibernate缓存1、什么是缓存?Hibernate中用到了缓存的概念,那么什么是缓存呢?这里介绍的缓存并不是指计算机的内存或者CPU的一二级缓存,这里的缓存是指为了降低程序对物理数据源访问的频次,从而提高程序运行性能的一种策略。2、为什么要使用缓存?为什么Hibernate要使用缓存呢?可以从三点进行分析:(1)Hibernate是一个ORM框架,ORM框架访问数据库的效

2016-10-09 21:10:50 5216 5

原创 Hibernate学习笔记(五)——多对多映射

一、多对多映射的简单介绍在之前的文章里,我们介绍了Hibernate中怎样使用一对一映射、一对多和多对一映射,现在来简单介绍一下多对多映射。多对多映射在数据库中也是很常见的一种映射关系,例如项目和员工之间就是很典型的多对多映射,一个项目中可能会涉及很多员工,同时一个员工也可能参与很多项目。在数据库中,要实现多对多映射,一种很常见的方法就是添加一个中间表来指定关联关系,即新增一张包含关联双方主键

2016-10-06 08:58:31 514

原创 Hibernate学习笔记(四)——HQL

一、HQL基本概念HQL是Hibernate Query Language的简称,它是面向对象的查询语句,完整的HQL语句形式如下: select…… from …… where …… group by …… having …… order by …… asc/desc,其中select子句是用来指定查询结果中的对象和属性,并指定以何种数据类型返回;from子句用来指定HQL语句的查询目标,即

2016-10-02 09:34:31 945

原创 Hibernate学习笔记(三)——Hibernate的关联关系映射

在数据库中存在四种关联关系映射,分别是一对一(one-to-one)、一对多(one-to-many)、多对一(many-to-one)和多对多(many-to-many),其中日常开发中比较常用的是一对多和多对一的映射,那么下面将分别通过几个实例来介绍一下一对多和多对一的映射。一、一对多关系映射什么叫做一对多关系映射呢?举个例子,就好比班级和学生,站在班级的角度来看,一个班级包含多个学生

2016-09-24 20:27:55 1942

原创 Hibernate学习笔记(二)——Hibernate的一些基本配置

一、hibernate.cfg.xml文件的常用配置hibernate.cfg.xml文件主要用于配置数据库连接和Hibernate运行时所需的各种属性,这个配置文件应该位于应用程序或Web程序的类文件夹 classes中,我们根据上一篇中的示例来简要分析以下这个文件中的一些常用配置。<!DOCTYPE hibernate-configuration PUBLIC "-//Hiber

2016-09-22 19:29:58 1001

原创 Hibernate学习笔记(一)——简单的Hibernate实例入门

一、Hibernate简介Hibernate是一个开源的对象/关系映射(ORM)框架,它对JDBC进行了轻量级的封装。所谓ORM就是Object/Relationship Mapping,为什么要使用对象/关系映射呢?因为使用面向对象思想编写的数据库应用程序都是要把信息存储到关系型数据库中的,使用Hibernate就可以使用面向对象的方法来操作和使用数据库了。二、Hibernate简单实例

2016-09-19 20:32:59 5287 3

原创 Java注解

一、注解的基本概念注解是JDK1.5及以后版本引入的,它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注解是以‘@注解名’在代码中存在的,它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。(摘自百度百科)按照运行机制,注解可以分为三类:1、源码注解:即注解只在源代码中存在,在编译成.class文件后就不存在了;2、编译时注解:即在

2016-09-06 19:39:58 413

原创 Java反射初探

一、反射的基本概念Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。我们知道Java是面向对象的语言,在面向对象中,万事万物皆对象,所以我们自己定义的一个类也是一个对象,是java.lang.Class类的实例对象。我们知道我们平时自定

2016-09-04 10:23:50 408

原创 JSP——监听器篇

一、什么是监听器监听器是Servlet规范中定义的一种特殊类,用于监听ServletContext、HttpSession和ServletRequest等域对象的创建和销毁事件

2016-08-24 20:12:59 12212

原创 Servlet——Servlet生命周期与路径跳转

之前有学过Servlet,对于Servlet的基本原理也大致有一些了解,最近回头又看了关于Servlet的视频,总结了两点Servlet的小知识,也是Servlet中比较常见的知识,在这里做一个记录。一、Servlet的生命周期Servlet是在服务器上运行的的小程序,我们自己编写的Servlet类都是继承自HttpServlet类的,所以也复写了HttpServlet的主要方法:init

2016-08-18 20:30:21 570

原创 JSP——过滤器篇

一、过滤器的基本概念1、什么是过滤器过滤器是一个服务器端的组件,它可以截取客户端的请求和服务端的响应信息,并对这些信息进行过滤。2、过滤器的工作原理过滤器的工作原理可以依据下图进行分析(图片转自慕课网)。用户在请求Web资源时,用户的请求会先被过滤器拦截,过滤器对用户的请求进行过滤,过滤之后过滤器再将用户的请求发送到Web资源,Web资源在将响应返回给用户时,响应也会先

2016-08-13 08:08:31 15967 7

空空如也

空空如也

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

TA关注的人

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