自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

KHOST的博客

记录自己的学习历程,大部分来自转载,如有侵权联系删除.......

  • 博客(86)
  • 资源 (3)
  • 收藏
  • 关注

转载 java 框架 面试常见题目

(一)spring mvc 工作机制(原理):DispatcherServlet主要用作职责调度工作,本身主要用于控制流程Spring mvc运行原理  1.springmvc将所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责对请求进行真正的处理工作。  2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Contro...

2018-02-26 15:54:33 1780

转载 IntelliJ IDEA常用快捷键汇总

  在使用IntelliJ Idea的时候,使用快捷键是必不可少的。掌握一些常用的快捷键能大大提高我们的开发效率。有些快捷键可以熟练的使用,但是还有另外一些快捷键虽然很好用,但是由于因为没有形成使用习惯或者没有理解快捷键的用法,甚至之前对一些快捷键根本没有概念,导致不会去使用。对于这些快捷键,如果能够用好,编辑代码的效率必能提高一个水平。所以在此梳理出来,加强自己的使用,形成习惯。(注:有些操作的...

2018-02-25 17:17:40 212

转载 JVM的各种调优参数总结

注:此文为转载 堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms355...

2018-02-25 15:35:28 215

原创 java socket异常总结

1.java.net.SocketTimeoutException . 这 个异 常比较常见,socket 超时。一般有 2 个地方会抛出这个,一个是 connect 的 时 候 , 这 个 超 时 参 数 由connect(SocketAddress endpoint,int timeout) 中的后者来决定,还有就是 setSoTimeout(int timeout),这个是设定读取的超时时间...

2018-02-25 15:33:57 537 2

转载 设计模式六大原则(1):单一职责原则

定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T2时,也不会使职...

2018-02-19 14:45:50 162

转载 设计模式六大原则(2):里氏替换原则

肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。定...

2018-02-19 14:45:43 161

转载 设计模式六大原则(3):依赖倒置原则

定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。解决方案:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与类B或...

2018-02-19 14:45:34 162

转载 设计模式六大原则(4):接口隔离原则

定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法。解决方案:将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他们需要的接口建立依赖关系。也就是采用接口隔离原则。举例来说明接口隔离原则:(图1  未遵循接口隔离原则的设计) ...

2018-02-19 14:45:24 170

转载 设计模式六大原则(5):迪米特法则

定义:一个对象应该对其他对象保持最少的了解。问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。解决方案:尽量降低类与类之间的耦合。         自从我们接触编程开始,就知道了软件编程的总的原则:低耦合,高内聚。无论是面向过程编程还是面向对象编程,只有使各个模块之间的耦合尽量的低,才能提高代码的复用率。低耦合的优点不言而喻,但是怎么样编程才能做到低耦合呢?...

2018-02-19 14:44:03 187

转载 设计模式六大原则(6):开闭原则

定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。解决方案:当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。         开闭原则是面向对象设计中最基础的设计...

2018-02-19 14:43:57 232 1

原创 java设计模式【全】-状态模式

一、概述    当系统中某个对象存在多个状态,这些状态之间可以进行转换,而且对象在不同状态下行为不相同时可以使用状态模式。状态模式将一个对象的状态从该对象中分离出来,封装到专门的状态类中,使得对象状态可以灵活变化。状态模式是一种对象行为型模式。二、适用场景    用于解决系统中复杂对象的多种状态转换以及不同状态下行为的封装问题。简单说就是处理对象的多种状态及其相互转换。三、UML类图四、参与者1&...

2018-02-15 11:35:39 196

原创 java设计模式【全】-享元模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述享元(Flyweight)模式的:❈Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意。享元模式是对象的结构模式。享元模式以共享的方式高效地支持大量的细粒度对象。❈Java中的String类型  在JAVA语言中,String类型就是使用了享元模式。String对象是fi...

2018-02-15 11:35:34 174

原创 java设计模式【全】-中介者模式

定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。类型:行为类模式类图:中介者模式的结构中介者模式又称为调停者模式,从类图中看,共分为3部分:抽象中介者:定义好同事类对象到中介者对象的接口,用于各个同事类之间的通信。一般包括一个或几个抽象的事件方法,并由子类去实现。中介者实现类:从抽象中介者继承而来,实现抽象中介者中定...

2018-02-15 11:35:28 198

原创 java设计模式【全】-责任链模式

定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。类型:行为类模式类图:首先来看一段代码:public void test(int i, Request request){     if(i==1){         Handler1.response(request);     }else if(i...

2018-02-15 11:35:23 183

原创 java设计模式【全】-备忘录模式

定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。类型:行为类类图:我们在编程的时候,经常需要保存对象的中间状态,当需要的时候,可以恢复到这个状态。比如,我们使用Eclipse进行编程时,假如编写失误(例如不小心误删除了几行代码),我们希望返回删除前的状态,便可以使用Ctrl+Z来进行返回。这时我们便可以使用备忘录模式来实现。...

2018-02-15 11:35:19 196

原创 java设计模式【全】-命令模式

23种设计模式(17)-命令模式定义:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。类型:行为类模式类图:命令模式的结构        顾名思义,命令模式就是对命令的封装,首先来看一下命令模式类图中的基本结构:Command类:是一个抽象类,类中对需要执行的命令进行声明,一般来说要对外公布一个execute方法用来执行命令...

2018-02-15 11:35:14 185

原创 java设计模式【全】-访问者模式

定义:封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。类型:行为类模式类图:访问者模式可能是行为类模式中最复杂的一种模式了,但是这不能成为我们不去掌握它的理由。我们首先来看一个简单的例子,代码如下class A {         public void method1(){             System.out.println("我是...

2018-02-15 11:35:10 172

原创 java设计模式【全】-解释器模式

定义:给定一种语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子。类型:行为类模式类图:        解释器模式是一个比较少用的模式,本人之前也没有用过这个模式。下面我们就来一起看一下解释器模式。解释器模式的结构抽象解释器:声明一个所有具体表达式都要实现的抽象接口(或者抽象类),接口中主要是一个interpret()方法,称为解释操作。具体解释任务由它的各个实现类...

2018-02-15 11:35:06 187

原创 java设计模式【全】-迭代器模式

定义:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。类型:行为类模式类图:如果要问java中使用最多的一种模式,答案不是单例模式,也不是工厂模式,更不是策略模式,而是迭代器模式,先来看一段代码吧:public static void print(Collection coll){     Iterator it = coll.iterator();     while(it....

2018-02-15 11:35:02 213

原创 java设计模式【全】-观察者模式

定义:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。类型:行为类模式类图:        在软件系统中经常会有这样的需求:如果一个对象的状态发生改变,某些与它相关的对象也要随之做出相应的变化。        比如,我们要设计一个右键菜单的功能,只要在软件的有效区域内点击鼠标右键,就会弹出一个菜单;        再比如,我们要设计一个自动部署...

2018-02-15 11:34:57 173

原创 java设计模式【全】-模版方法模式

定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。类型:行为类模式类图:        事实上,模版方法是编程中一个经常用到的模式。先来看一个例子,某日,程序员A拿到一个任务:给定一个整数数组,把数组中的数由小到大排序,然后把排序之后的结果打印出来。经过分析之后,这个任务大体上可分为两部分,排序和打印,打印功能好实现,排序就有点...

2018-02-15 11:34:52 205

原创 java设计模式【全】-策略模式

定义:定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。类型:行为类模式类图:        策略模式是对算法的封装,把一系列的算法分别封装到对应的类中,并且这些类实现相同的接口,相互之间可以替换。在前面说过的行为类模式中,有一种模式也是关注对算法的封装——模版方法模式。        对照类图可以看到,策略模式与模版方法模式的区别仅仅是多了一个单独的封装类Context,它与模版方法模...

2018-02-15 11:34:07 162

原创 java设计模式【全】- 组合模式

介绍组合模式又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解藕.组合模式可以优化处理递归或分级数据结构.有许多关于分级数据结构的例子,使得组合模式非常有用武之地.类图组成部分:Component: 为参加组合的对象声明一个公共接口, 不管是组合还是叶结点.Leaf: 在组合中表示叶子...

2018-02-15 11:34:02 225

原创 java设计模式【全】- 桥接模式

介绍桥接模式 (Bridge)将抽象部分与实现部分分离,使它们都可以独立的变化。桥接模式是一种结构式模式。结构代码实现Implementor : 定义实现接口。interface Implementor {    // 实现抽象部分需要的某些具体功能    public void operationImpl();}Abstraction : 定义抽象接口。abstract class Abstra...

2018-02-15 11:33:56 161

原创 java设计模式【全】-外观模式

定义:        为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。角色:        1,外观(Facade)角色 :客户端可以调用这个角色的方法。此角色知晓相关子系统的功能和责任。在正常情况下,本角色会将所有从客户端发来的请求委派到相应的子系统去。        2,子系统(SubSystem)角色 :可以同时有一个或者多个子...

2018-02-14 10:35:45 180

原创 java设计模式【全】-代理模式

定义:   为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用 角色:1,  抽象角色:声明真实对象和代理对象的共同接口。2,  代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对...

2018-02-14 10:35:41 225

原创 java设计模式【全】-装饰者模式

定义:    在不必改变原类文件和原类使用的继承的情况下,动态地扩展一个对象的功能。    它是通过创建一个包装对象,也就是用装饰来包裹真实的对象来实现。角色:    抽象构件角色(Project):给出一个接口,以规范准备接收附加责任的对象。    具体构件角色(Employe):定义一个将要接收附加责任的类。    装饰角色(Manager):持有一个构件对象的实例,并定义一个与抽象构件接口一...

2018-02-14 10:35:36 153

原创 java设计模式【全】-适配器模式

定义:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 角色:目标(Target)角色:这就是所期待得到的接口,也就是这类的接口是符合我们要求的。   源(Adapee)角色:我们要使用的接口,但是这个接口不符合我们的要求,也就是现在需要适配的接口。 适配器(Adaper)角色:适配器类是适配器模式的核心。适配器把源接口转换成目标接口...

2018-02-14 10:35:31 192

原创 java设计模式【全】-生成器模式

定义:        将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式利用一个导演者对象和具体建造者对象一个一个地建造出所有的零件,从而建造出完整的对象。四个要素:        Builder:生成器接口,定义创建一个Product对象所需要的各个部件的操作。        ConcreteBuilder:具体的生成器实现,实现各个部件的创建,并负责组装Pro...

2018-02-14 10:35:27 287

原创 java设计模式【全】-原型模式

定义:        通过复制现有的对象实例来创建新的对象实例。实现:实现Cloneable接口:        Cloneable接口的作用是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法。在java虚拟机中,只有实现了这个接口的类才可以被拷贝,否则在运行时会抛出CloneNotSupportedException异常。重写Object类中的clone方法:        J...

2018-02-14 10:35:22 319

原创 java设计模式【全】-工厂模式

23种设计模式(2)-工厂模式定义:        工厂模式是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。        工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 工厂模式根据抽象程度的不同分为三种:简单工厂模式(也叫静态工厂模式)工厂方法模式(也叫多形性工厂)抽象工厂模式(也叫工具...

2018-02-14 10:35:17 278

原创 java设计模式【全】-单例模式

23种设计模式(1)-单例模式定义:        单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例。特点:       1、单例类只能有一个实例。  2、单例类必须自己自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实例单例模式的要点:    1,私有的构造方法    2,指向...

2018-02-14 10:35:11 177

转载 Java进阶知识点6:并发容器背后的设计理念 - 锁分段

一、背景容器是Java编程中使用频率很高的组件,但Java默认提供的基本容器(ArrayList,HashMap等)均不是线程安全的。当容器和多线程并发编程相遇时,程序员又该何去何从呢?通常有两种选择:1、使用synchronized关键字,将对容器的操作有序错开,确保同一时刻对同一个容器只存在一个操作。Vector,HashTable等封装后的容器本质也是这种解决思路,只不过synchroniz...

2018-02-12 18:41:29 225

转载 AngularJs通过ng-class动态改变样式类实例操作

AngularJs通过ng-class动态改变样式类实例操作,代码如下:查看源码打印代码帮助01<!doctype html>02<html lang="en">03<head>04    <meta charset="UTF-8" />05    <title>Document</title>06  

2018-02-12 18:38:12 2617

原创 AngularJs使用ng-checked一步实现全选或取消功能

AngularJs使用ng-checked一步实现全选或取消功能,代码如下:01<!doctype html>02<html lang="en">03<head>04    <meta charset="UTF-8" />05    <title>Document</title>06    &l

2018-02-12 18:38:02 1363

原创 AngularJs使用ng-model-options设置数据同步时机提高网站性能

之前讲过ng-model可以实时改变数据,实现双向数据绑定,但是如果数据是联通后台的,那么当就会实时与后台进行交互,肯定会增加后台的压力,影响性能,比如以下代码:1<input type="text" ng-model="data"/>2<p>{{data}}</p>因为它的数据是实时更新的,这里可以用一个指令:ng-model-options来解决。第一种:n...

2018-02-12 18:37:54 351

原创 AngularJs使用ng-repeat实现数据循环展示的效果

一般情况下,后端给前端传输数据,前端都是用foreach来循环输出,现在使用AngularJs也能实现类似的功能,方法如下:01<!doctype html>02<html lang="en">03    <head>04        <meta charset="UTF-8">05        <title>Document

2018-02-12 18:37:48 861

原创 AngularJs使用ng-repeat实现数据循环展示的效果

一般情况下,后端给前端传输数据,前端都是用foreach来循环输出,现在使用AngularJs也能实现类似的功能,方法如下:01<!doctype html>02<html lang="en">03    <head>04        <meta charset="UTF-8">05        <title>Document

2018-02-12 18:37:40 3156

原创 AngularJs中的数据比较函数

下面是总结的部分AngularJs的比较函数:01<!DOCTYPE html>02<html lang="en">03<head>04    <meta charset="UTF-8">05    <title>Document</title>06    <style type=&quo

2018-02-12 18:37:18 940

原创 AngularJs将json字符串转为对象fromJson和将对象转为json字符串toJson

在AngularJs中,json形式的字符串可以转为json格式的对象,代码如下:利用HTML5的2种本地存储方式(localStorage和sessionStorage)来做测试:01var m = angular.module('app', []);02m.controller('ctrl', ['$scope', function($scope){03    $scope.data = {'...

2018-02-12 18:36:42 5169

winSCPPortable交互

十分好用的文件上传下载工具,在与自己的服务器交互的时候可以用这个软件进行文件互传,不管时win下的还是Linux下的都十分方便

2018-07-03

pdf阅读器_福昕

东西好用,体积小巧,使用方便,插座简单,打开快速.........................................................

2018-07-03

FSCapture.rar

可以截图录屏取色,像素尺,体积小巧功能强大携带方便........

2018-07-03

空空如也

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

TA关注的人

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