- 博客(20)
- 收藏
- 关注
原创 设计模式(7)---适配器模式
上一篇:原型模式1.什么是适配器模式? 下面这个读卡器的性质就能够非常清晰的表示这个问题: 读卡器作为内存卡和电脑之间的沟通桥梁,使得我们可以通过笔记本来存取内存卡上面的数据。官方一点的解释: 适配器模式是作为两个完全独立不兼容的接口的连接桥梁。在适配器模式中我们定义一个类,该类负责加入独立的接口功能。2.适配器模式的优缺点?1)优点: 使两个毫无关系的类能够一起合作运...
2020-01-19 16:42:28 262
原创 设计模式(6)---原型模式
1996年7月5日,英国科学家伊恩·威尔穆特博士成功的克隆出了一只小羊,小羊与它的“母亲”一模一样。这只小羊的名字就是Dolly。 Dolly是由…… 不要认为介绍多莉克隆的故事和本文牛头不对马嘴,事实上多少还是有点关系的。上一篇:建造者模式1.什么是原型模式? 原型模式就是用来创建重复的对象,再直白一点:复制粘贴的原理。 怎么样?是不是和克隆羊是不是还能扯上关系?...
2020-01-19 11:50:25 371 1
原创 设计模式(5)---建造者模式
上一篇:抽象工厂模式 1.什么是创建者模式? 将一个复杂对象的构建和表示分离开,使得同样的构建可以创建不同的表示。整不明白? 你就想象一下你点外卖的时候有不同的套餐:可乐+炸鸡=套餐A,可乐+薯条=套餐B。套餐A和套餐B是两个不同的表示,它的构建就是可乐、炸鸡、薯条这些子对象,这些子对象是不变的,但是能够通过不同的组合生成不同的套餐。 还没有懂? 造房子!造房子你用...
2020-01-17 16:06:43 271
原创 设计模式(4)---抽象工厂模式
上一篇:工厂模式 1.什么是抽象工厂模式? 在上一篇文章中我们也说到,抽象工厂模式可以说是一个超级工厂,可以通过超级工厂来创建其他的工厂。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,无需指定他们具体的类,每个生成的工厂都可以按照工厂模式来创建对象。 1.什么时候使用抽象工厂模式? 系统的产品有多个产品族,而我们只需要消费其中某一个产品族中的产品。什么是产品族?以手机为例:...
2020-01-16 16:09:10 308
原创 设计模式(3)---工厂模式
1.什么是工厂模式? 工厂模式是我们平时较常使用得一种设计模式,它实现了创建者与调用者分离。在工厂模式中,我们在创建对象得时候不会对客户端暴露创建逻辑,并且是通过使用一个共同得接口来指向新创建得对象。 太官方了,整不懂?大白话就是:你买一个手机,直接从手机生产商那里提货用就行了,不用去管它手机内部是怎么构建得,功能是怎么实现得。 2.什么时候使用工厂模式? 工厂模式并不...
2020-01-16 13:54:41 304
原创 设计模式(2)---单例模式
1.什么是单例模式? 单例模式是java种最简单的设计模式之一,它提供了一种创建对象的最佳方式。此种设计模式保证一个类只有一个实例,并且提供一个访问该实例的全局访问点(就像是一个学校只有一个校长)。2.单例模式的优点? 1.单例模式因为在内存中只有一个实例,避免了频繁地创建实例、销毁实例,所以极大地节省了系统资源地开销。 2.设置全局访问点,优化共享资源访问。3.常见地单例模式?...
2020-01-15 17:52:59 295
原创 JVM(三)---堆、栈、方法区
堆(线程共享): 虚拟机在启动的时候创建堆,用于存放对象的实例。几乎所有的对象(包含常量池)都在堆上分配内存。当对象无法在该区分配内存的时候,将会报OutOfMemoryError,是jvm中主要的GC区域。堆区是jvm中进行垃圾回收的主要区域,堆区可以分为:新生代、老年代、永久代GC垃圾回收机制栈(线程私有): java线程执行的内存模型,一个线程对应一个栈,每个方法在执行的时...
2020-01-13 13:44:01 316
原创 Native关键字
不知道大家在学习线程的时候有没有注意到Thread这个类中有下面这样一些代码: 大家如果看了Thread类的源码的时候就会发现,Thread就是一个普通的class类,但是为什么在这个类中可以定义一个类似于接口的方法呢?但是我们自己来定义一个这样的方法就会报错:但是如果我们加上native关键字的话,情况就不一样了:加上native关键字的时候,就不会再报错了。1.n...
2020-01-12 17:35:05 284
原创 IDEA集成Git上传代码到码云
Git相信大家都知道是我们现在java开发非常常用的项目版本控制工具,另外SVN也是比较常见的。但是在分布式开发当道的今天,Git毫无疑问是进行版本控制的不二选择。那么如何在IDEA开发工具中集成Git呢?1.下载Git客户端 Git客户端下载链接 下载好了Git客户端之后,开始安装2.检验是否安装成功 在桌面空白处点击鼠标右键,出现以下页面即表示Gi...
2020-01-11 18:13:17 432
原创 JVM(二)---双亲委派机制
常说的双亲委派机制实际上是类加载器(Class Cloader)的一种加载机制。1.什么是类加载器? 我们在进行java程序开发的时候,.java文件会经过javac命令编译为.class字节码文件,而类加载器的职责就是动态的加载这些.class文件到JVM内存空间中,类通常是在第一次使用它的时候进行加载,也就是说,如果没有使用过该类,则该类不会被加载到JVM中。2.加载器有哪些?...
2020-01-09 22:07:27 279
原创 SpringCloud---(9)Config分布式配置中心
1.为什么会有SpringCloud Config? 所谓的微服务架构,就是将一个应用拆分成多个微服务,然后微服务之间再进行相互调用协调,但是每个微服务都需要进行一些特定的配置,它的配置或许不多,但是不可缺少。一个完整的微服务架构的项目中,可能会有好几百个微服务,那每个微服务中都有一点配置,如果此时需要对配置进行调整,就问你绝不绝望? Spirng Cloud实际上也是单独的微服务,它将项...
2020-01-07 16:46:30 274
原创 MarkDown字体颜色表
颜色名列表 MarkDown编辑器字体颜色表颜色名十六进制颜色值颜色AliceBlue#F0F8FFrgb(240, 248, 255)AntiqueWhite#FAEBD7rgb(250, 235, 215)Aqua#00FFFFrgb(0, 255, 255)Aquamarine#7FFFD4rgb(127, 255, 212)Azure#F0FFFFrgb(240, 255, 255)...
2020-01-07 11:05:40 480
原创 JVM(一)---基础概念
JVM概念 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代...
2020-01-06 18:16:54 399
原创 SpringCloud---(8)Zuul路由网关
1.什么是Zuul? Zuul存在于前端和后端之间,客户发起的所有请求都会经过Zuul进行路由和过滤路由: 用户发起访问请求的时候,Zuul负责将该请求转发到具体的服务实例上,从而实现所有的用户通过统一的入口进行资源访问。过滤: 可以对某些请求进行过滤,如:不允许通过某个网址访问到真实的项目资源。 项目中将Zuul注册到Eureka之后,就可以从Eureka上获取到注册...
2020-01-03 17:19:52 260
原创 SpringCloud---(7)Hystrix断路器
1.Hystrix是什么? 当用户调用服务A的时候,这个服务A可能还会与服务B进行交互,服务B可能还会与服务C进行交互,然后最终取得数据并返回,现在服务C因为某个原因无法正常使用了。那么该请求就会一直等待数据响应,直到请求超时。此时因为此请求堵塞了,那么后面其他用户的请求可能也就会进行排队阻塞……在高并发的场景下,这种情况很容易拖垮服务。 Hystrix可以很好的处理这种情况,假设服务C崩...
2020-01-03 14:22:58 231
原创 SpringCloud---(6)Feign调用服务
Feign是一个声明式的web服务客户端,它让微服务之间的调用如何Controller调用Service一样更加简洁。Spring Cloud集成Ribbon和Eureka以在使用Feign时提供负载均衡的http客户端。 调用微服务的两种方式:Robbin 通过微服务名字调用Feign 通过注解和接口进行服务调用1.使用Feign1)引入Feign依赖<depe...
2020-01-02 17:33:55 432 1
原创 SpringCloud---(5)Ribbon负载均衡
Ribbon是基于Netfix Ribbon实现的一套客户端负载平衡器。负载均衡 说到负载均衡,可能会想到我们的Nginx负载均衡,其常见的负载均衡策略:1.轮询(默认)2.指定权重3.ip_hash 根据ip分配4.最少连接负载均衡的作用就是将用户的访问请求有规律的分发到各个不同的服务上,避免出现某个服务器的压力过大,而某个服务器压力很小的情况。 之前的负载均衡我们一般...
2020-01-02 16:35:10 307
原创 SpringCloud---(4)Eureka与Zookeeper的区别
Eureka和Zookeeper最主要的区别来看就是他们关注的点不一样,所以满足的原则不一样。 著名的CAP原则提出:一个分布式系统中一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)很难三者兼顾,三个要素最多只能满足其中两个。Zookeeper(CP原则) Zookeeper使用的是CP原则,保证了一致性和容错...
2020-01-02 11:53:55 246
空空如也
Outlook,OAuth2.0,IMAP,SMTP
2024-01-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人