- 博客(60)
- 收藏
- 关注
原创 装饰者模式
什么是装饰者模式装饰者模式(Decorator Pattern,有的也用 Wrapper Pattern)就是动态地把职责附加到已有对象上去,实现功能扩展。这种特性,使得装饰者模式提供了比继承更具有弹性的解决方案。提到装饰者模式,总让我想起卞之琳的《断章》来:你站在桥上看风景,看风景的人在楼上看你。明月装饰了你的窗子,你装饰了别人的梦。多么有意境啊,单身狗读完会
2017-12-07 02:04:28
161
翻译 计算机网络基础知识
传输层概作用:传输层为它上面的应用层提供通信服务。在OSI七层参考模型中,传输层是面向通信的最高层,也是用户功能的最底层。传输层两大重要的功能:复用 和 分用。复用:在发送端,多个应用进程公用一个传输层;分用:在接收端,传输层会根据端口号将数据分派给不同的应用进程。和网络层的区别:网络层为不同主机提供通信服务,而传输层为不同主
2017-12-07 00:01:14
483
原创 适配器模式
什么是适配器模式顾名思义,适配器模式(Adapter Pattern)当然是用来适配的啦。当你想使用一个已有的类,但是这个类的接口跟你的又不一样,不能拿来直接用,这个时候你就需要一个适配器来帮你了。这就好像你兴冲冲地跑去香港,买了个港版的 iPhone6,充电器插头拿回家一看,不能用啊。这时候你多么需要买一个转接头适配器...适配器模式类图
2017-12-06 22:05:24
178
原创 抽象工厂模式
什么是抽象工厂模式抽象工厂模式(Abstract Factory Pattern)是一种软件开发设计模式。抽象工厂模式提供了一种方式,可以将一组具有同一主题的单独的工厂封装起来。如果比较抽象工厂模式和工厂模式,我们不难发现前者只是在工厂模式之上增加了一层抽象的概念。抽象工厂是一个父类工厂,可以创建其它工厂类。所以我们也叫它 “工厂的工厂”。现在,假设我们有 A、B 两个厨房。每个厨
2017-12-06 21:11:45
121
原创 工厂模式
什么是工厂模式工厂模式(Factory Pattern)的意义就跟它的名字一样,在面向对象程序设计中,工厂通常是一个用来创建其他对象的对象。工厂模式根据不同的参数来实现不同的分配方案和创建对象。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。例如用工厂来创建 人 这个对象,如果我们需要一个男人对象,工厂就会为我们创建一个男人;
2017-12-06 20:04:27
145
原创 设计模式简介
什么是设计模式在软件工程中,设计模式是对软件设计中普遍存在的各种问题,所提出的 解决方案。换句话说,设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计的 经验的总结。使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可靠性。设计模式原则1、开闭原则(Open Close Principle)开闭原则的意思是:对扩展开放,对修
2017-12-06 19:43:06
140
原创 配置BASH SHELL和系统配置文件
重新配置BASH SHELL可以通过以下几种方式:1、利用局部变量来配置BASH SHELL2、通过别名和函数来设定BASH SHELL3、通过set命令来配置BASH SHELL4、通过环境变量来设定BASH SHELL 中的其他命令和应用程序。shell变量分为两种类型:局部变量:只能在当前的shell环境中使用环境变量:当前shell和子shell均可以使用使
2017-12-05 20:28:08
872
原创 Linux中文件类型
-:普通文件 regular file,所以也称作正规文件d:目录directoryl:符号软链接b:块特殊文件,一般是指块设备,如硬盘c:字符特殊文件,一般是指字符设备,如键盘p:命名的管道文件,一般用于在进程之间传输数据s:socket,套接字文件。
2017-12-03 03:40:42
204
翻译 Linux为什么不能对目录进行硬链接?
说法一:如果使用 hard link 链接到目录时, 链接的数据需要连同被链接目录底下的所有数据都创建链接,举例来说,如果你要将 /etc 使用实体链接创建一个 /etc_hd 的目录时,那么在 /etc_hd 底下的所有档名同时都与 /etc 底下的档名要创建 hard link 的,而不是仅连结到 /etc_hd 与 /etc 而已。 并且,未来如果需要在 /etc_hd 底下创建新文件时
2017-12-03 03:17:42
7274
1
翻译 Linux中的软链接和硬链接区别
1.原理上:硬链接(hard link):A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直
2017-12-03 03:05:55
154
原创 Linux特殊权限
1、基本权限三种(1)r (read) 读针对目录,有读(r)权限就代表能对此目录有列表功能,就是可以执行ls命令进行查看,另外还有cp的功能。针对文件,有读(r)权限就代表能对此文件有阅读功能,可以通过cat等命令查看文件内容。(2)w (write) 写 针对目录,有写(w)权限就代表着在此目录下创建文件和目录,可以通过touch,mkdir等命令创建文件和目录,另外还可以
2017-12-03 01:33:44
246
原创 Linux的suid
suid特殊权限是以命令(可执行文件)的所有者权限来运行这一命令的,而不是以执行者的权限来运行该命令 。下面举例,查看passwd这个命令的权限shiyanlou:teshuquanxian/ $ where passwd [0:27:58]/usr/bin/passwdshiyanlou:teshuquanxian/ $
2017-12-03 00:44:37
846
原创 Linux的umask理解
umask权限掩码查看所属用户的umask只需要执行umask命令即可,对于普通用户一般为002在Linux系统上,所有文件的系统默认预设权限是666,目录而言是777那当我们创建一个文件的时候所生成的权限是什么呢?666 代表着rw-rw-rw-而umask为002的情况下-------w-也就是说我们在默认权限的基础上拿掉了o用户的w权限,那最后就是rw-r
2017-12-03 00:15:01
490
翻译 究竟啥才是互联网架构“高并发”
一、什么是高并发高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。响应时间:系统对请
2017-12-01 03:56:23
138
转载 互联网时代,我眼中的架构变迁
互联网在变,架构也在变,架构的变迁亦是互联网的变迁。所以,我们有必要来聊聊互联网的架构及其变迁。何为架构?往大的说,宇宙有架构,社会有架构,往小的说,建筑要有架构,软件要有架构,往玄乎的说,它由分工而来,回归整体而去,往实际的说,架构的核心就是为了解决问题,包括业务的问题、人的问题。立足互联网行业,架构通常指的是技术架构,更具体一点的说是系统架构、软件架构,或者是最常见的网站架构。本文就来
2017-12-01 03:49:36
1317
原创 MyBatis简介
一、实验介绍1.1本节课程将介绍mybatis框架的整体设计,包括功能架构和框架架构。1.2实验知识点mybatis概念mybatis架构二、实验步骤2.1什么是mybatis首先我们了解一下什么是ORM?ORM,object relational mapping,即对象关系映射,它完成面向对象的编程语言到关系数据库的映射。ORM工具的唯一作用是:把持久化对象的
2017-11-19 21:52:40
258
原创 章节10课时74Bash变量-位置变量
[root@user-577022 home]# cat first.sh#!/bin/bashecho $0echo $1echo $2[root@user-577022 home]# ./first.sh 11 22 33./first.sh1122
2017-11-17 13:24:56
212
原创 springMVC上传文件
第一步:配置虚拟目录在tomcat上配置图片虚拟目录,在tomcat下conf/server.xml中添加:开启Tomcat服务器,访问http://localhost:8080/pic即可访问D:\develop\upload\temp下的图片。此时,D:\develop\upload\temp==http://localhost:8080/pic可作为图片服务器
2017-11-02 01:23:03
210
原创 springmvc与struts2的不同点
1、struts2绑定参数是绑定在成员变量上,而springmvc是绑定在形参上。2、struts2多例,springmvc单例。3、struts2存数据与值栈上,springmvc存放在request域中。1、 springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过滤器。2、 springmvc是基于方法开发(一个u
2017-11-01 23:58:21
177
原创 SpringMVC入门
SpringMVC第一天 框架课程 1. 课程计划第一天1、SpringMVC介绍2、入门程序3、SpringMVC架构讲解a) 框架结构b) 组件说明4、SpringMVC整合MyBatis5、参数绑定a) SpringMVC默认支持的类型b) 简单数据类型c) Pojo类型d) Pojo包装类型e) 自
2017-10-31 21:10:29
316
原创 mybatis全局配置文件详解
PUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">resource :引入类路径url :引入网络路径或磁盘文件-->setting:用来设置每一个设置项name 设置项名value 设置项取值-->
2017-10-25 00:21:03
223
原创 垃圾回收器如何工作?
引用计数法是一种简单的但速度很慢的垃圾回收技术。每个对象都含有一个引用计数器,当有引用连接至对象时,引用计数+1.当引用离开作用域或被置为null,引用计数-1.
2017-10-15 20:54:53
241
原创 spring_jdbctemplate
02-spring整合jdbc-jdbc模板对象_@Testpublic void fun1()throws Exception{//0 准备连接池ComboPooledDataSource dataSource = new ComboPooledDataSource();dataSource.setDriverClass("com.mysql.jd
2017-08-15 16:51:48
177
原创 spring_2
2-spring中使用注解代替xml配置_package cn.itcast.bean; import javax.annotation.PostConstruct;import javax.annotation.PreDestroy;import javax.annotation.Resource;import javax.xml.ws.RespectBind
2017-08-15 14:53:57
173
翻译 动态代理
动态代理代码回顾 package cn.itcast.c_proxy; import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy; import cn.itcast.service.UserService;im
2017-08-15 10:44:56
175
原创 Java多线程
线程与进程的区别1、线程:负责程序执行的执行单元,线程本身依靠程序进行运行,线程是程序中的顺序控制流,只能分配给程序的资源和环境。2、进程:执行中的程序,一个进程至少包含一个线程。3、单线程:程序中只存在一个线程,实际上主方法就是一个主线程。4、多线程:在一个程序中运行多个任务,目的 更好的利用CPU资源线程的实现继承Thre
2017-08-15 02:02:29
121
原创 spring-1
01-spring介绍_ 为什么学习 Spring: 方便解耦,简化开发 Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给 Spring管理 AOP编程的支持。Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能 声明式事务的支持 。只需要通过配置就可以完成对事务的管理,而无需手动编程方便程序的测试 。Spring对
2017-08-15 00:42:15
283
原创 struts2_4
02-拦截器准备练习-登陆功能_ 03-拦截器api介绍_ 拦截器创建的第一种方式:package cn.itcast.a_interceptor; import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.Interceptor;
2017-08-14 00:06:05
356
原创 struts2_3
02-ognl表达式介绍&准备工作_03-ognl表达式语法_04-ognl表达式语法02_导包:不用导包,struts2包中已经有了,不需要导入额外的jar包EL取值环境 OGNL取值环境 package cn.itheima.a_ogn
2017-08-13 15:59:44
222
原创 struts2_2
04-struts2参数获得方式1-action生命周期&线程安全&MVC_获得请求参数:属性驱动和线程安全 每次请求都会创建action对象,线程安全可以使用成员变量,可以使用成员变量接收参数 package cn.itheima.c_param; import java.util.Date; import com.opensymphony.xwork2.Ac
2017-08-13 11:10:39
168
原创 struts2_1
\01-struts2介绍_. struts2是什么 struts2的优势:自动封装参数参数校验结果的处理(转发|重定向)国际化显示等待页面表单的防止重复提交 struts2具有更先进的架构以及思想 struts2的历史 02-struts2框架-搭建演示_a导包 b书写action类package c
2017-08-12 23:10:33
159
原创 hibernate_4
hibernate_day0402-查询总结&HQL基础语法详解_hibernate的检索方式:导航对象图检索方式、OID检索方式、HQL检索方式、QBC检索方式、SQL检索方式导航对象图检索方式导航对象图检索方式是根据已经加载的对象,导航到它关联的对象。利用类与类之间的关系来检索。譬如要查找一个联系人对应的客户,就可
2017-08-12 18:08:05
179
原创 hibernate_2
表与表之间的关系回顾1 一对多(1)分类和商品关系,一个分类里面有多个商品,一个商品只能属于一个分类 (2)客户和联系人是一对多关系- 客户:与公司有业务往来,百度、新浪、360- 联系人:公司里面的员工,百度里面有很多员工,联系员工** 公司和公司员工的关系 - 客户是一,联系人是多- 一个客户里面有多个联系人,一个联系人只能属于一个客户 (3
2017-08-12 00:37:55
326
原创 hibernate_1
02-hibernate中的实体-详解、05-hibernate中的一级缓存&快照_、06-hibernate中的事务相关知识点-隔离级别设置&项目中的事务管理_07-hibernate中的HQL查询_、08-hibernate中的Criteria查询_无语句调用查询、09-hibernate中的原生SQL查询_
2017-08-11 20:29:39
218
原创 数据库分页(一)
1 Statement和PreparedStatement的特点 a)对于创建和删除表或数据库,我们可以使用executeUpdate(),该方法返回0,表示未影向表中任何记录 b)对于创建和删除表或数据库,我们可以使用execute(),该方法返回false,表示创建和删除数据库表 c)除了select操作返回true之除,其它的操作都返回false d)Prepared
2017-08-10 13:58:55
632
原创 jsp九大隐式对象和jsp内置标签和jsp的usebean标签
jsp九大隐式对象和jsp内置标签和jsp的usebean标签,el和jstl的简单入门,即遍历list和map集合
2017-08-10 00:17:12
240
原创 jsp基础—1
*0 带用验证码功能的用户登录 1)验证码使用一个CheckCodeSerlvet产生,通过发送请求,将验证码绑定到HttpSession中 2)产生的验证码一定要在输出到浏览器之前绑定到HttpSession中 3)设置验证码禁止缓存要在输出到浏览器之前 4)所有响应头的设置放置在最先 1 什么是JSP 1)为什么说,Servlet是一个动态Web开发技
2017-08-09 21:42:02
160
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅