自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 GOF 设计模式 Chain of Responsibility模式

Chain of Responsibility(职责链)意图:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。结构图在以下情况使用:有多个对象可以处理一个请求,哪个对象处理该请求运行时自动确定。你想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。可处理一个请求的对象集合应被动态指定实现职责链就是将多个处理对象串起来,可以是线性的,也可以是树型的。请求在链中传递直至遇到可以处理的对

2020-09-01 15:28:16 177

原创 GOF 设计模式 Flyweight模式 笔记

Flyweight(享元模式)意图:运用共享技术有效地支持大量细粒度的对象。结构图在以下情况使用一个应用程序使用了大量的对象完全由于使用大量的对象造成很大的存储开销对象的大多数状态都可以变为外部状态如果删除对象的外部状态,那么可以用相对较少的共享对象取代很多组对象应用程序不依赖对象标识。由于Flyweight对象可以被共享,因此对于概念上明显有别的对象,标识测试将返回真值。实现flyweight是一个共享对象,它可以同时在多个场景中使用,并且在每个场景中flyweight都可以作为

2020-08-26 19:31:21 137

原创 GOF 设计模式Facade模式 笔记

Facade(外观)意图:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。结构图在以下情况使用:当你要为一个复杂子系统提供一个简单接口时,子系统往往因为不断演化而变的越来越复杂,大多数模式使用时都会产生更多更小的类。这使得子系统更具有可复用性,也更容易对子系统进行定制,但也给那些不需要定制子系统的用户带来一些使用上的困难。Facade可以提供一个简单的缺省视图,这一视图对大多数用户来讲已经足够,而那些需要更多的可定制性的用户可以越过

2020-08-25 19:13:52 172

原创 GOF 设计模式 Decorator模式 笔记

Decorator(装饰)意图:动态的给一个对象添加一些额外的职责。就添加功能来说,Decorator模式相比生成子类更为灵活结构图:在以下情况适合使用在不影响其他对象的情况下,以动态,透明的方式给单个对象添加职责处理那些可以撤销的职责当不能采用生成子类的方法进行扩充时,一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是,类定义被隐藏,或类定义不能用于生成子类。实现:就添加功能,扩展父类来说,装饰模式要比继承要灵活,而且可以有

2020-08-24 21:17:31 203

原创 GOF设计模式 Composite模式 笔记

Composite(组合)意图:将对象组合成树形结构以表示“部分–整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。结构图:在以下情况使用:想表示对象的部分-整体层次结构希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。实现主要是来表示部分-整体的结构,我们应该一致的对待 部分和整体 ,应该统一的使用它们。为了简化组合的遍历和管理,通常在Component类中定义父类部件引用。实现一个简单的目录结构Entry 顶层类 注意

2020-08-22 11:28:03 142

原创 GOF设计模式 Bridge模式 笔记

Bridge(桥接模式)意图:将抽象部分和他的实现部分相分离,使他们可以独立的变化结构图在以下情况可以使用:不希望在抽象和他的实现部分之间有一个固定的绑定关系。例如,在程序运行时实现部分应可以被选择或者切换。类的抽象以及他的实现都应该可以通过生成子类的方法加以扩充。对一个抽象的实现部分的修改对客户不产生影响对客户完全隐藏抽象的实现部分想在多个对象之间共享实现,但同时要求客户并不知道这一点。实现通常模式模式下,我们通过继承来扩展类,并将实现部分写在具体类中,但是此方法不够灵活,继承使

2020-08-22 10:24:16 151

原创 GOF设计模式 Adapter模式 笔记

Adapter(适配器)意图:将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。在以下情况可以使用你想使用一个已存在的类,而他的接口不符合你的需求你想创建一个可以复用的类,该类可以与其他不相干的类或不可预见的类(及那些接口可能不一定兼容的类)协同工作。你想使用一些已经存在 的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配他的父类接口。适配器即在另一个不相关(接口不兼容)的系统中使用该类。类适配器

2020-08-22 09:28:56 121

原创 GOF 设计模式 单件模式 笔记

Singleton(单件模式)意图:保证一个类仅有一个实例,并提供一个访问它的全局终点。结构在以下情况使用它当类只能有一个实例而且客户可以从一个众所周知的访问点访问他当这个唯一实例应该是通过子类化可扩展的,并且客户应该无须更改代码就能使用一个扩展的实例时对于某些类来说,只有一个实例是很重要的,可以让类自身保存它的唯一实例,并这个类隐藏他的创建接口,并提供一个访问实例的接口。还可以使用惰性初始化,或者用一个静态内部类保存。Apublic class A { private sta

2020-08-20 11:26:31 86

原创 GOF 设计模式 工厂方法模式 笔记

Factory Method(工厂方法)意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod 使一个类的实例化延迟到其子类。结构在以下情况使用当一个类不知道它所创建的对象的类的时候当一个类希望由他的子类来指定它所创建的对象的时候当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。工厂方法本身并不生产对象,它将生产的对象延迟到了子类工厂实现。食物 Foodpublic class Food {}

2020-08-20 11:05:32 161

原创 GOF 设计模式 原型模式 笔记

原型模式意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。在以下情况下可以使用Prototype模式:当一个系统应该独立于他的产品创建,构成和表示时当要实例化的类是在运行时指定时,例如,通过动态装载为了避免创建一个与产品类层次平行的工厂类层次时当一个类的实例只能有几个不同状态组合的一种时,建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类方便些。结构对于应用如果只需要频繁创建几个不同状态的产品时,选择克隆原型可能要比创建新对象效率要高。但是对于每一种

2020-08-20 10:23:13 103

原创 GOF 设计模式 builder模式笔记

Builder(生成器)意图:将一个复杂对象的构建与它的表示相分离,使得同样的构建过程可以创建不同的表示。在以下情况使用Builder模式当创建复杂的对象应该独立于该对象的组成部分以及它们的装配方式时。当构造过程必须允许被构造的对象有不同的表示时。结构图builder模式更注重与一个复杂对象的创建,像组装一样,一层一层,一个模块一个模块的装配,是一个由简单对象到复杂对象的过程。假设现在去淘宝请人组装机子,一台好的(goodcomputer),一台差的(badcomputer)Direc

2020-08-19 22:40:18 147

原创 GOF 设计模式 AbstractFactory 模式笔记

创建型模式创建型设计模式抽象了实例化过程。它们帮助一个系统独立于如何创建,组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象。创建型模式有五类:Abstract Factory(抽象工厂) — 对象创建型模式Builder(生成器) — 对象创建型模式Factory Method(工厂方法) — 对象创建型模式Prototype(原型) — 对象创建型模式Singleton(单件) — 对象创建型模式Abstract Facto

2020-08-19 22:14:57 87

原创 JVM笔记 垃圾收集算法

分代收集理论当前商业虚拟机的垃圾收集器,大多数都遵循了“分代收集”(Generational Collection)的理论进行设计,分代收集名为理论,实质是一套符合大多数程序运行实际情况的经验法则,它建立在两个分代假说之上:1)弱分代假说(Weak Generational Hypothesis):绝大多数对象都是朝生夕灭的。2)强分代假说(Strong Generational Hypothesis):熬过越多次垃圾收集过程的对象就越难以消亡。收集器应该将Java堆划分出不同的区域,然后将回收对象

2020-07-18 22:29:48 14255

原创 JVM笔记 垃圾对象判断

垃圾对象垃圾对象,我们可以认为是"死掉的对象",即不能被任何途径使用的对象引用计数算法在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可能再被使用的.引用计数算法(Reference Counting)虽然占用了一些额外的内存空间来进行计数,但它的原理简单,判定效率也很高,在大多数情况下它都是一个不错的算法。这个看似简单的算法有很多例外情况要考虑,必须要配合大量额外处理才能保证正确地工作,譬如单纯的引用计数就很难解决对

2020-07-18 20:55:13 39922

原创 JVM笔记 运行时数据区

运行时数据区JVM在程序运行Java程序时会将管理的内存分为几个不同的数据区域,这些区域有不同的用途,创建和销毁时间。根据《java虚拟机规范》通常虚拟机管理的内存分为以下几个不同的运行时数据区。程序计数器程序计数器(Program Counter Register)是一块较小的内存空间。可以看作是当前线程所执行字节码的行号指示器。为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储如果线程正在执行的是一个Java方法,这个计数器

2020-07-18 17:15:57 14302

原创 Hadoop笔记2 HDFS

HDFS在一个操作系统中可能存不下海量的数据,那么可以将其分配到更多的操作系统管理的磁盘中,但是不方便管理和维护。分布式文件管理系统可以管理多台机器上的文件,HDFS就是一种分布式文件管理系统。HDFS:Hadoop Distributed File System它是一个文件系统,用于存储文件,通过目录树来定位文件,其次,它是分布式的,由很多台服务器联合起来实现其功能,集群中的服务器有各自的角色。适合一次写入,多次读取的场景,不支持文件的修改。优点:高容错(副本机制)适合处理大数据可构建在

2020-05-25 10:57:29 14385

原创 Hadoop笔记1 Hadoop架构

大数据大数据(big data),是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。4V:(Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度))Hadoophadoop是apach

2020-05-24 15:41:38 14478

原创 Mybatis笔记6 SqlSessionFactory SqlSession Mapper源码分析

Mybatis流程步骤a.获取SqlSessionFactory对象b.获取SqlSession对象c.获取Mapper对象(代理接口中的方法、mapper.xml中的标签)d.执行标签中定义的SQL语句SqlSessionFactory String resource = "conf.xml"; InputStream inputStream = Resources.getRe...

2020-04-24 21:53:49 14641

原创 Mybatis笔记5 查询缓存和逆向工程

查询缓存一级缓存:在同一个sqlSession中有效MyBatis默认开启一级缓存,如果用同样的SqlSession对象查询相同的数据,则只会在第一次 查询时 向数据库发送SQL语句,并将查询的结果 放入到SQLSESSION中(作为缓存);后续再次查询该同样的对象时,则直接从缓存中查询该对象即可(即省略了数据库的访问)DEBUG [main] - Logging initialized...

2020-04-22 15:01:07 133

原创 Mybatis笔记4 关联查询 日志 延迟查询

关联查询一对一查询通过resultMap的 association 标签实现student表card表student类mapping.xml <select id="queryAllStudentAndCard" resultMap="AllStudentAndCardMap"> select s.*, c.* from student s,card...

2020-04-21 18:47:57 14423

原创 Mybatis笔记3 if标签 where标签 foreach标签

if标签<select id="queryStudentBySno" resultType="Student" parameterType="int"> <if test="sno!=null and sno > 0"> select * from Student where sno = ${sno} ...

2020-04-20 17:35:29 14309

原创 Mybatis笔记2 别名,类转换器

别名内置别名自定义别名conf.xml<typeAliases> <!-- 单个别名 ( 忽略大小写) --> <typeAlias type="entity.Student" alias="student"/> <!-- 批量定义别名 ,以下将该包中的所有类 批量定义别名: 别名就是类名(不带包名,忽略大小写) -->...

2020-04-20 17:04:12 104

原创 Mybatis笔记1 配置和简单使用

Mybatis作用:简化JDBC操作,实现数据的持久化。ORM:对象关系映射(Object Relational Mapping),mybatis是ORM的一种实现。即可以操作对象一样操作数据库。配置映射文件mapper.xml 增删改查标签conf.xml 配置数据库信息和需要加载的映射文件映射文件配置xxMapping.xml:简单示例:<?xml version="1...

2020-04-19 16:51:37 147

原创 Maven笔记

Mavenmaven 是一个基于Java平台的 自动化构建工具.maven 作用:1.管理jar:i.增加第三方jarii.jar包之间的依赖关系 自动下载依赖关联的jar,不会冲突2.将项目拆分成若干模块maven 功能:清理:删除编译的结果,为重新编译做准备。编译:java->class测试: 针对于 项目中的关键点进行测试,亦可用 项目中的测试代码 去测试开发代码;...

2020-04-17 13:34:26 69

原创 JavaWeb拾遗(10)连接池 Tomcat-dbcp dbcp c3p0

连接池传统的JDBC操作需要频繁的Connection开启和关闭,这耗费大量的时间和性能,而连接池技术可以很好的改善这一问题。连接池可以使连接对象重复使用,需要使用时从池子中取出一个空闲的连接对象即可,避免了连接对象的频繁创建,断开时只需要断开与连接池的连接。我们通过数据源(javax.sql.DataSource)可以管理连接池。(dataSource.getConnection())...

2020-04-11 14:30:35 117

原创 JavaWeb拾遗(9)Servlet Filter Listener

Filterfilter即过滤器,可用来进行字符编码的过滤,检测用户是否登陆的过滤,禁止页面缓存等要实现一个filter,要实现Filter接口(javax.servlet.Filter)并重写三个方法void init(FilterConfig filterConfig)void doFilter(ServletRequest request, ServletResponse resp...

2020-04-08 18:45:44 88

原创 JavaWeb拾遗(8)Servlet

ServletServlet(Server Applet) java服务器小程序。是用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。理论上,Servlet适用于任何通信协议,但一般用来支持HTTP协议。执行流程:1.浏览器发送一个http请求(URL指向一个Servlet)2.服务器将http请求发送给Servlet容器...

2020-04-06 14:02:12 226

原创 JavaWeb拾遗(7)JDBC Statement PreparedStatement CLOB/BLOB大型数据存储

JDBCJDBC(Java Database Connectivity)可以为多种关系型数据库提供统一的访问操作接口。JDBC API:提供各种访问操作接口。数据库的驱动程序一般由第三方提供:Oracle ojdbc-x.jarMySQL mysql-connector-java-x.jarSqlServer sqljdbc-x.jarAPI:DriverMana...

2020-04-04 17:55:23 426

原创 JavaWeb拾遗(6)Cookie Session

Cookiecookie:服务端在客户端上暂时或永久储存的信息(常用于登录识别用户身份,可以提高效率)由服务端产生,保存于客户端(安全性较差)cookie不是内置对象(session才是)定义于javax.servlet.http.Cookie主要方法:public Cookie(String key,String value)构造方法,cookie是一组键值对,key------v...

2020-04-02 17:36:02 14190

原创 JavaWeb拾遗(5)response 请求转发 重定向

responseresponse:是JSP的内置对象,是响应对象主要方法:void addCookie(Cookie cookie)服务端向客户端增加cookievoid sendRedirect(String location) throws IOException重定向void sentContentType(String type)设置服务端响应编码(设置服务端content...

2020-04-01 17:40:26 171

原创 JavaWeb拾遗(4) request get请求 post请求

JSP九大内置对象所谓内置对象,简单的理解就是不需要new就可以使用的对象outrequestresponsepageContextsessionapplicationconfigpageexceptionoutout是输出对象,用于向客户端输出内容如out.print(“zjj”);requestrequest是请求对象,用于储存客户端发送的请求信息主要方法:...

2020-03-31 18:20:43 14341

原创 JavaWeb拾遗(3)JSP页面元素

JSP页面元素jsp的页面元素有:HTML, java(Scriptlet), 注释, 指令java代码(Scriptlet)a. <% 局部变量 和 java代码 %> <% String name1; name1 = "zjj1"; out.print(name1); %>b. <%! 全...

2020-03-31 16:57:12 107

原创 JavaWeb拾遗(2)eclipse环境下 tomcat搭建和部署

eclipseeclipse 的tomcat搭建和部署。Window—>Preferences—>Server---->Runtime Environments如果找不到Server选项卡help---->install new software输入版本我的是2019-09然后勾选最后一项下载安装在Runtime Environments 点击add然后选...

2020-03-31 15:35:28 106

原创 JavaWeb拾遗(1)JSP Tomcat简介搭建

JSPjsp(JavaServer Pages)是一种用于动态网页技术的服务器脚本语言。jsp部署在服务器端,用于响应客户端发送的请求并动态的生成web网页返回给客户端。(JSP在服务器端编译成java和class文件,jsp---->java----->class)B/S架构客户端通过浏览器向服务器发送请求,服务器响应请求后将对应的JSP文件编译成java文件(实质是Ser...

2020-03-30 20:07:53 218

原创 java Socket

SocketSocket即套接字,用于计算机通信,以一定的格式和方式让其可以向别的计算机发送信息或接收信息。其实真正完成计算机通信的是Socket背后复杂的TCP/IP协议族。TCP/IP协议一般认为分为四层:应用层,运输层(TCP,UDP),网路层(IP),网络接口层(物理层和数据链路层)而Socket是处于应用层何运输层之间的抽象层,对于用户来说,只需要将信息交给Socket,Sock...

2020-03-23 19:29:29 77

原创 Java的八大基本数据的封装源码简要分析

Java的八大基本数据的封装源码分析Java中基本数据类型可分为8类 ,数值型{ 整数型(byte,short,int,long)+ 浮点数型(double,float) }字符型 (char) 布尔型(boolean)。他们的封装类分别为Byte,Short,Integer,Long,Double,Float,Character,Boolean这些类都在lang...

2020-03-20 16:33:13 129

原创 聊天室 SWT Socket 简单实现

聊天室 SWT Socket 简单实现说起来惭愧,都已经大三了,也没写过一篇博客,也就是这次新冠爆发,宅家里宅久了,脑子才醒过来,不能在颓废了,好吧从这第一篇博客开始,每过一段时间就总结一下心得。激励一下自己。写点什么呢想了很久,但总要写点东西吧,刚好前几天上网课讲多核程序,我又刚好在想计算机通信的问题,那就花三天写一个简单的聊天室程序吧。想看的朋友可以随便看看,很简陋主要是记录学习。gi...

2020-03-17 14:18:22 1130

空空如也

空空如也

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

TA关注的人

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