自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 笔记——深入JVM——D2

常用JVM配置参数trace跟踪参数-verbose:gc 打印GC的简要信息-XX:+printGC 打印GC的简要信息-XX:+printGCDetails 打印GC的详细信息-XX:+printGCTimeStamps 打印GC发生的时间戳-Xloggc:log/gc.log 制定GC log的位置,以文件输出-XX:+TraceClassLoadi...

2019-04-22 17:52:28 153

原创 笔记——深入JVM——D1

JVM启动流程配置JVM装载环境java代码执行需要一个 JVM环境,JVM环境的创建包括:JVM.dll文件的查找和装载解析虚拟机参数设置线程栈大小执行main方法...

2019-04-19 10:36:04 131

原创 图解HTTP——学习笔记(二)

简单的HTTP协议HTTP协议用于客户端和服务端之间的通信两台计算机之间使用 HTTP 协议通信时, 在一条通信线路上必定有一端是客户端, 另一端则是服务器端。有时候, 按实际情况, 两台计算机作为客户端和服务器端的角色有可能会互换。 但就仅从一条通信路线来说, 服务器端和客户端的角色是确定的, 而用 HTTP 协议能够明确区分哪端是客户端, 哪端是服务器端通过请求和响应的交换达成通信H...

2019-02-18 11:30:01 207

原创 图解HTTP——学习笔记(一)

1.1 使用HTTP协议访问Web根据Web浏览器地址栏中指定的URL,Web浏览器从Web服务器端获取文件资源等信息,从而显示出Web页面。Web使用一种名为HTTP(HyperText Transfer Protocol)的协议作为规范,完成从客户端到服务器端等一系列运作流程。而协议是规则的约定。可以说Web是建立在HTTP协议上通信的。1.2 HTTP的诞生1. 为知识共享而规划...

2019-02-15 16:43:36 261

原创 设计模式学习笔记(十一)——代理模式

定义: 为另一个对象提供一个替身或占位符以控制对这个对象的访问分析: 我们可以将代理看作为另一个对象的“代表”,代理控制访问,如远程代理控制访问远程对象,虚拟代理控制访问创建开销大的对象,保护代理基于权限控制对资源的访问UML类图Subject: 为代理和实际对象提供了接口。通过实现同一接口,Proxy在realSubject出现的地方取代它。RealSubject: 是真正做事的对象...

2019-02-13 16:17:04 163

原创 设计模式学习笔记(十)——状态模式

定义: 允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类分析: 该模式将状态封装为独立的类,并将动作委托到代表当前状态的对象,行为会随着内部状态改变而改变。从客户角度,如果你使用的对象能完全改变它的行为,那么看起来这个对象是从别的类实例化而来的。UML类图State: 所有具体状态的共同接口,因此,状态之间可以互相替换ConcreteState: 具体状态,处理来自Con...

2019-02-13 11:26:05 114

原创 设计模式学习笔记(九)——迭代器模式和组合模式

迭代器模式定义: 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示分析:

2019-01-24 17:22:45 215

原创 设计模式学习笔记(八)——模板方法模式

定义: 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。分析: 这个模式是用来创建一个算法的模板。模板即使一个方法,具体一点就是,这个方法将算法定义成一组步骤,其中的任何步骤都可以是抽象的,由子类负责实现。这可以确保算法的结构保持不变同时由子类提供部分实现。...

2019-01-16 15:39:38 100

原创 设计模式学习笔记(七)——适配器模式和外观模式

适配器模式定义: 将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。分析: 这个模式可以通过创建适配器进行接口转换,让不兼容的接口兼容。这让客户和实现的接口解耦,如果我们想要改变接口,适配器可以将改变的地方封装起来,客户就不需要为了对付不同的接口而每次跟着修改。流程客户通过目标接口调用适配器方法对适配器发出请求适配器使用被适配者接口将请求转换成...

2018-12-29 11:31:51 190

原创 设计模式学习笔记(六)——命令模式

定义: 将“请求”封装为对象,以便使用不同的请求,队列或者日志来参数化其他对象。命令模式也支持可撤销的操作UML类图Command:为所有的命令声明了一个接口,调用命令对象的execute方法即可让接收者进行相关动作。ConcreteCommand:定义了动作和接收者之间的绑定关系,调用者只需要调用其execute方法即可发出请求,然后由ConcreteCommand调用接收者的动作。R...

2018-12-28 16:59:23 112

原创 设计模式学习笔记(五)——单例模式

有一些对象我们只需要使用一个,例如线程池,缓存,对话框,日志对象等等。如果这些对象有多个实例,就会导致许多问题产生,像程序的行为异常,内存溢出,或者是不一致的结果。使用全局变量可以达到效果,但同时,全局变量在程序一开始就被创建,如果这是一个占资源大的对象,而在这次执行中程序没有使用到该变量,这就形成了资源浪费。定义: 单例模式确保类只有一个实例,并提供一个全局访问点。经典的单例模式实现pu...

2018-12-28 15:05:54 108

原创 设计模式学习笔记(四)——工厂模式

“new”一个实例在技术上,用new来实例化一个具体类并没有错,但是当我们的代码涉及到“改变”的时候,问题出现了。当我们实例化一些相关的具体类时,我们通常用“if/else"条件来决定在运行时究竟实例化哪一个类,然而当有变化或扩展时,我们必须打开这部分代码进行修改,这违背了”开-闭“原则,而且造成系统更难维护和更新,更容易犯错。所以,我们提供了一种新的方式来实例化类。—— 工厂模式工厂模...

2018-12-28 10:15:02 164

原创 设计模式学习笔记(三)——装饰者模式

定义: 动态地将责任附加到对象上。若要拓展功能,装饰者提供了比继承更有弹性的替代方案。分析: 装饰者模式本质上是用对象包装对象,所以装饰者和被装饰者必须有相同的超类,可以用一个或多个装饰者包装一个对象,在需要被装饰者的场景可以直接使用装饰过的对象,重点是拓展功能,可以在被装饰者的行为前后加入自己的行为,达到特定的目的。使用场景:需要扩展一个类的功能,或给一个类添加附加职责。需要动态的给一...

2018-12-27 15:43:06 105

原创 设计模式学习笔记(二)——观察者模式

定义: 观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。分析: 一对多依赖,我们可以理解为一个主题对应多个观察者,主题对象管理某些数据,观察者需要注册主题以便在主题数据更改时收到通知,当主题内数据发生改变,就会通知观察者。使用场景:1.对一个对象状态的更新,需要其他对象同步更新,而且其他对象的数量动态可变。2.对象仅需要将自己的更...

2018-12-26 17:21:51 207 1

原创 设计模式学习笔记(一)——策略模式

本文中涉及到代码大部分为《Head First设计模式》书中代码,测试可以成功运行策略模式的定义:定义算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。定义分析: 将算法封装起来,算法间可以互相替换且独立于客户,说明各个算法有相同的特性,也就是实现了同一个超类接口,为了和客户解耦,让客户持有超类,运行时动态选择算法,也就是多态。使用场景: (百度百科)1...

2018-12-26 11:51:52 153 1

空空如也

空空如也

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

TA关注的人

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