自定义博客皮肤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)
  • 收藏
  • 关注

原创 springboot学习笔记

springbootspringboot学习笔记

2020-02-25 14:17:36 442

原创 netty学习笔记

文章目录五种I/O模型netty 各大组件详解echo服务EventLoop和EventLoopGroupBootstraptChannelChannelHandler、ChannelPipline、ChannelHandlerContextChannelFuture编解码器编解码器的类型:编码器解码器什么是拆包和粘包问题(半包读写)半包读写解决方案LineBasedFrameDecoderDel...

2020-02-19 10:16:05 245

原创 java nio多路复用 selector

文章目录多路复用selector多路复用unix内核中的selector代码样例多路复用selector多路复用I/O多路复用,I/O是指网络I/O, 多路指多个TCP连接(即socket或者channel),复用指复用一个或几个线程;简单来说:就是使用一个或者几个线程处理多个TCP连接;最大优势是减少系统开销小,不必创建过多的进程/线程,也不必维护这些进程/线程unix内核中的selec...

2020-02-12 18:43:43 309

原创 jvm学习笔记

文章目录jvm虚拟机由三部分组成:类装载子系统运行时数据区程序计数器:记录代码执行的位置栈(线程栈)虚拟机栈:给java代码服务本地方法栈:给非java代码服务堆:存放对象的和数组方法区:堆中存放代码和静态变量、常量、类信息、即时编译器编译代码等数据的地方**运行时常量池:方法区中存放常量的地方直接内存:不受虚拟机控制的内存,比如io的缓冲区执行引擎备注及参考资料jvm虚拟机由三部分组成:类装...

2020-02-10 17:06:26 113

原创 spring mvc websocket和异步推送

aa

2019-03-04 21:03:56 1398

原创 spring的线程池和定时器

定时器spring中将定时器叫配置计划配置:@Configuration@ComponentScan("springBase.scheduledTask")@EnableScheduling // 开启配置计划任务public class JavaConfig {}异步任务定义:@Servicepublic class ScheduledTaskService { priv...

2019-03-04 19:16:03 752

原创 spring-jms-activemq集成

文章目录需要的jar包配置消息发布者消息消费者主函数消息在容器中的生存时间连接的超时时间spring支持jsm相关消息框架,可以类似于orm框架那样进行aop之后省略事务提交过程需要的jar包这里以activemq为例,如果是其他消息容器,请替换第二个jar包<dependencies> <dependency> <groupId>org.sp...

2019-03-03 19:22:16 366

原创 activemq三种通信方式

文章目录点对点:发布订阅消费者:activemq是jms一种消息服务器,可以实现消息的转发,一般有三种转发模式:发布订阅、点对点、应答点对点:点对点一般使用队列实现:生产者:public class Publisher { // Connection :JMS 客户端到JMS Provider 的连接 private static Connection connection = nu...

2019-02-28 20:27:50 734

原创 springmvc restful api && swagger生成api文档

文章目录媒体类型(xml或json)restfull api 一般会使用五种方法状态码媒体类型(xml或json)spring mvc 配置restful视图解析器ContentNegotiatingViewResolver,这个解析器可以根据扩展名的不同返回不同形式的结果,默认是xml格式(也可以通过重载WebMvcConfigurerAdapter的configureContentNego...

2019-02-25 20:19:26 152

原创 hibernate关于视图的处理

hibernate处理视图和处理表情况是一样的,以下是通过springboot和jpa进行的测试实体:@Entitypublic class Person { @Id @GeneratedValue private Long id; private String name; private Integer age; private String address; /*get和s...

2019-01-28 19:50:10 249 1

原创 spring security

spring security工作原理简介spring security和springmvc配合使用可以提供安全性,可以通过注册org.springframework.web.filter.DelegatingFilterProxy这个filter进行安全管理,也可以扩展AbstractSecurityWebApplicationInitializer类进行java方式的配置,AbstractS...

2019-01-07 21:16:55 467

原创 spring mvc

文章目录一个web请求经历的路径springmvc的基本配置需要引入的jar包使用AbstractAnnotationConfigDispatcherServletInitializer替代web.xml文件WebConfig.javaRootConfig.javaspringmvc的控制器基本控制器返回model控制器处理一般请求参数处理request参数处理路径参数多个路径访问同一个contr...

2018-10-19 11:35:52 387

原创 spring aop

文章目录aop术语:举例aop术语:通知(advice)切面的工作被称为通知,分为以下几种类型注解前置通知(before)@Before后置通知(after)@After返回通知(after-returning)@AfterReturning异常通知(after-throwing)@AfterThrowing环绕通知(around)...

2018-09-18 20:53:25 140

原创 spring EL表达式

spring EL表达式需要放入:#{…}属性占位符需要放入:#{…}package springBase.springEL;import java.io.IOException;import java.util.List;import org.apache.commons.io.IOUtils;import org.springframework.beans.factory.an...

2018-09-18 18:45:38 345

原创 spring bean定义相关

需要的最少jar包<dependency> <groupId>org.springframework</groupId&

2018-09-11 20:54:04 143

原创 六大原则和设计模式列表

六大原则:单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因开闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展里氏代换原则(Liskov Subst...

2018-09-09 16:37:08 585

原创 行为模式---解释器模式

解释器模式解释器模式解决某一领域重复出现的特定问题,使用普通编程方法极度复杂,需要这一特定领域的特定语法,解释器模式就是用来解释这种语法 类图: 比如解释加法和减法问题: 解释器:public abstract class AbstractExpression {//此处也可以使用接口 public abstract Object interpreter();}p...

2018-09-06 22:01:22 113

原创 结构模式---访问者模式(visitor模式)

访问者模式访问者模式解决研发一个jar包,但因为新需求来了,又不想动原来的jar包,如果原来的jar包是按照访问者模式进行设计的,就可以做到不动jar包加代码(有些代理的影子) 这个类图乍一看像桥接,感觉好像也是解决两个维度问题,但比桥接多了一个ObjectStructure,这个ObjectStructure中持有了所有的Element(已经写好jar包的类),并且通过showElem...

2018-09-06 21:14:28 133

原创 结构模式---观察者模式

观察者模式观察者模式主要解决事件监听器和发布订阅模式问题 类图: 如果一个主题只有一个观察者,观察者模式就是事件监听器 如果一个主题只有多个观察者,观察者模式就是发布订阅 观察者:public interface Observer { public void update(); public void subscribeTo(Subject subject);...

2018-09-06 20:10:39 232

原创 行为模式---备忘录模式

备忘录模式备忘录模式主要解决那些需要记录状态(数据)的类,恢复状态的问题,这个和状态模式有些类似,状态模式解决状态之间流转问题,即状态流转是事先固定在状态类内部的;备忘录解决的类的某一时刻状态的记录,其实也就是类在某一时刻的数据,而数据的变化不是事先固定的,有一定的不确定性并且不需要流转,但需要数据全面 类图: 原发类: 可以使用内部类方式(黑盒方式,不暴露自己数据结构),也可以使用...

2018-09-05 21:45:12 154

原创 行为模式---中介者模式

中介者模式中介者模式解决将网状类图变为星状类图的过程,即原来每个类之间通信都需要持有对方,现在大家都不需要持有对方了,只需要持有中介者,而中介者持有大家即可 网状类图: 使用中介者模式后变为的星状类图: 其中AbstractColleague只是为了让每个子类进行Mediator设置而已,如图所示现在各个Colleague类编程了星状关系,所有的Colleague之间相互通信都需...

2018-09-05 21:10:44 143

原创 行为模式---迭代器模式(游标模式)

迭代器模式主要用来解决遍历集合问题,也可以使用foreach进行遍历,这里主要举例使用如何使用java的Iterable和Iterator实现迭代器模式 类图 此图省略了两个接口类 可迭代类:import java.util.Iterator;public class BookShelf implements Iterable<Book> { privat...

2018-09-04 21:47:19 234

原创 行为模式---模板方法

模板方法:解决主代码框架已定,而部分逻辑可替换问题,所以模板方法只能用抽象类来实现 类图: 模板类:public abstract class Template { //子类重写此方法 protected abstract void print(String message); //主代码框架已定,只是print方法的实现多态到子类中 public v...

2018-09-04 21:25:54 117

原创 行为模式---责任链模式

责任链模式责任链模式主要解决消息逐级传递问题,直到传递到可以解析此消息的处理者为止,比如java web的消息过滤器 类图: 其中FilterChain不是必须的,这里为了演示java web的Filter加入的 处理者:public interface Filter { public void doFilter(String request, FilterChain f...

2018-09-04 21:09:24 197

原创 java虚拟机中的内存区域

程序计数器:记录代码执行的位置 当前线程所执行的字节码的行号指示器,用它来进行选取下一条指令栈 虚拟机栈:给java代码服务 用于在代码运行期间存储局部变量表、操作数栈、动态链接、方法出口等信息,其中局部变量表博阿寒基本数据类型(比如int,byte等)、对象引用和returnAddress类型 本地方法栈:给非java代码服务 存储的数据和虚拟机栈一样,只是给native方法使用的...

2018-09-04 20:32:47 97

原创 结构模式---动态代理

动态代理动态代理是相对静态代理(https://blog.csdn.net/weixin_43060721/article/details/82313877)而言,java动态代理是基于自动生成class文件字节码,然后将字节码动态(运行期而非编译器)加载到classloader,然后调用接口其实是调用字节码的代理类的对象的方法;相比于静态代理而言,不需要提前将类进行配置好,并且可以服务多个接...

2018-09-03 21:05:34 108

原创 结构模式---享元模式

享元模式是为了解决创建大量重复对象问题,注意此处一定是重复对象,重复对象:即除了堆栈的地址不一样外其他的数据和结构完全一样的对象 类图: 享元类:public interface FlyWeight { public void print();}//对于这个具体享元对象而言只要id一样则它对外展现就是一样的,因为name是通过id生成了,而整个对象只有一个print方法...

2018-09-02 11:46:27 111

原创 结构模式---外观模式和静态代理

外观模式外观模式解决的是复杂系统的问题,将复杂系统的多个步骤封成一个步骤对外呈现,减少客户端的操作,比如说一个家里有电视,冰箱,电灯,我回家需要把这些依次打开,如果有一个开关,这个把这三都开了多好,这个总开关就是外观;外观模式主要是省略了交互,原先客户端需要和电视,冰箱,电灯都交互才能完成全部动作,现在只需要和外观类交互即可 外观模式可以将类图1转化为类图2 类图1: 类图二: ...

2018-09-02 11:15:14 186

原创 结构模式--组合模式

组合模式组合模式特别适合处理那种整体和部分抽象为统一体的问题,比如目录接口(java中的File类即可以表示路径,也可以表示文件),树状接口(树枝和树叶) 组合模式的核心在于部分和整体的抽象为同一物体,至于抽象之后有什么需求再加相应的方法,下边是一个有遍历需求的组合模式定义,因为需要组合成一棵树和遍历,所以需要在接口添加getChildren和addChild方法,组合模式考虑给接口添加什么...

2018-08-30 22:40:43 115

原创 结构模式---桥接模式和装饰者模式

桥接模式桥接模式适合解决两个维度的问题,可以使问题在两个维度上无限扩张,并且可以随意组合,比如下表: 发送消息的方式 紧急 一般 邮件 紧急消息邮件发送 一般消息邮件发送 短信 紧急消息短信发送 一般消息短信发送类图: 桥接模式必须由一方使用抽象类,持有使用接口的一方,建议描述动作的一方使用接口,描述形态的一方使用抽象类...

2018-08-30 20:23:06 493

原创 结构模式---适配器模式

适配器模式适配器模式多用于接口之间的转化,比如家用三头插座,想插一个两头插头,怎么办,买一个三头转两头的转换器就可以了,这个三头转两头的转换器就是适配器 类图: 被适配者(三头)public class Adaptee { private String fireLine; private String zeroLine; private String gro...

2018-08-30 19:50:50 151

原创 创建模式---建造者模式

建造者模式适合创建复杂对象 类图: 产品类:public class Product { private String partA; private String partB; private String partC; public void setPartA(String partA) { this.partA = partA; ...

2018-08-28 22:37:29 116

原创 创建模式---单例模式和原型模式

单例模式单例模式即只有一个对象的类模式 使用简单工厂的方式实现: 最常使用的单利模式,懒加载模式:public class Product { public static Product product; private Product() { } public static Product getInstance() { if ...

2018-08-28 20:49:19 204

原创 创建模式---静态工厂,工厂方法和抽象工厂

静态工厂静态工厂也叫简单工厂,类图如下 产品类:public interface Product { public void print();}public class ConcreteProduct implements Product { @Override public void print() { System.out.printl...

2018-08-28 20:22:46 275

原创 行为模式---策略模式和状态模式

策略模式状态模式策略模式和状态模式对比策略模式策略模式类图: 策略模式重在抽象行为,即将行为抽象为具体的类,调用的时候动态选择行为,策略模式不同策略之间可以相互替换,并不影响最终结果,比如定义不同算法,不同算法之间虽然逻辑不同,但要求执行结果一样,所以策略模式多用于封装算法Strategy 类,定义行为:public interface St...

2018-08-27 21:42:34 1759

原创 git----本地工程上传到github

登陆gihub账户关联sshkey 点击“your repositories” 点击new 创建一个repository 此处名称可以与你项目相同,也可以不同,建议相同 创建成功后,需要敲那些命令github已经告诉你了 本地创建sshkey,创建成功后再/c/Users/Administrator/.ssh/路径下找,或者在下图提示路径中找id_rsa文件 推...

2018-08-25 17:05:35 94

原创 字符流和字节流

java字符流和字节流字符流和字节流的区别是否使用缓存是否编码读取字节数使用场景(后续补充,暂未想好)java字符流和字节流字符流和字节流的区别 字节流 字符流 使用缓存 否 是 是否编码 否 是 读取字节数 中文1个,英文1个 中文2个,英文1个是否使用缓存字节...

2018-08-25 11:38:59 305

空空如也

空空如也

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

TA关注的人

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