自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ES6学习笔记二

数组的解构赋值概念:ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构//以前,为变量赋值,只能直接指定值let a = 1;let b = 2;let c = 3;//ES6解构赋值:let [a, b, c] = [1, 2, 3];上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值//本质上,这种写法属于“模式匹配”,只要等号...

2019-07-18 20:30:30 281

原创 ES6学习笔记一

ES6和ES3(常规js)语法区别:1、var和let、const命令作用域:ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效 { let a = 10; var b = 1;}a // ReferenceError: a is not defined.b // 1 变量提升:var命令...

2019-07-18 19:53:10 297

原创 断路器:Hystrix学习

在复杂的分布式架构当中,会有许多的服务依赖于其他的服务,并且这些服务器之间都有不可避免失效的可能。如果一个服务依赖由于延时过高发生阻塞,那么调用方的线程也会阻塞,如果相关业务的QPS过高,那么就有可能产生大量的阻塞,从而导致服务器资源被耗尽被拖垮导致服务宕机,另外这种高延时的请求也会在各应用之间传播,如果故障服务的上游依赖较多,则有可能会发生服务雪崩效应,导致大量服务宕机。如图:正常情况下,当...

2019-06-18 18:29:21 313

原创 SpringBoot集成redisCluster(redis集群)实现发布订阅、消息队列

SpringBoot+redisCluster封装RedisTemplate,通过RedisTemplate操作Redis,并简单的实现消息队列、发布订阅的功能;首先导入Maven: <dependency> <groupId>redis.clients</groupId> <artifactId&...

2019-02-27 22:05:07 5538

原创 Redis使用经验、常用架构对比以及标准原生redis集群解析

Redis特点:Redis作为一个非关系型数据库,其不支持sql但以key-value键值对的形式存储数据性能非常好、读写速度非常快,读的速度能达到110000次/s,写的速度能达到81000次/s ,并且它的数据类型也很多,很好的满足我们对数据类型的需求。而且redis中的读写操作是单线程的,原子性的,并且通过MULTI和EXEC指令可以进行一个事物的封装操作,这就保证了其安全性也非常好。将其定...

2019-02-27 19:10:42 809

原创 浅析Java垃圾回收原理以及常用GC算法

垃圾回收:JVM的垃圾回收主要发生在堆内存中,绝大多数情况下都是对堆内存中的对象进行回收,jvm会监控我们堆中的对象是否存在引用,是否可达,检测到不可达的对象则将其丢进一个回收队列当中进行垃圾回收,但是垃圾回收会阻塞我们的程序,因此频繁的进行垃圾回收会严重影响我们系统的性能,JVM给我们提供了很多的优化方法;JVM对垃圾的“定义”分析:1、引用计数的判定策略:这是早起的一个算法,在我们的堆...

2019-02-27 16:11:49 280

原创 浅析JVM的内存结构以及基础参数配置

JVM虚拟机的基本结构:jvm通过类加载器将.class文件加载到jvm的内存空间运行,GC垃圾回收器对jvm的一个内存空间监控并进行对应的垃圾回收。JVM的内存分配:由上图可以看出jvm的内存分配主要分为方法区、堆、本地方法栈、java线程栈、PC寄存器这5个区方法区:用于存放类结构的信息、包括常量池、静态变量、构造函数等类型信息、这些信息是由类加载器在类加载的时候从.class...

2019-02-27 13:49:17 214

原创 JAVA多线程下高并发的处理经验

java中的线程:java中,每个线程都有一个调用栈存放在线程栈之中,一个java应用总是从main()函数开始运行,被称为主线程。一旦创建一个新的线程,就会产生一个线程栈。线程总体分为:用户线程和守护线程,当所有用户线程执行完毕的时候,JVM自动关闭。但是守候线程却不独立于JVM,守候线程一般是由操作系统或者用户自己创建的。线程的生命周期:当一个线程被创建之后,进入新建状态,JVM则给他分配...

2019-02-24 17:36:59 54043 8

原创 Java反射机制解析

首先在反射之前我们要先了解java类的整个加载机制:我们的.java源码文件通过编译之后会生成一个JVM可识别的二进制字节码.class文件,每一个类都会产生一个Class对象,保存在对应的.class字节码文件中,类装载器在会将这些类装载到JVM中。类装载器一般会在类的首次使用时或者一个静态(static)成员引用时,就会触发类加载器动态的将类加载到JVM中(另外JVM预先加载某些类也是被允许的...

2019-02-21 18:53:29 140

原创 JAVA设计模式之观察者模式

观察者模式的定义:在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新类似于发布订阅,订阅了主题对象的改动信息,自己则受到通知并作出自己的应对原理图:具体实现:定义观察者接口:观察者定义一个收到被观察对象改变时调用的方法package pers.ly.learn.designModel.observer;public inter...

2019-02-20 19:13:07 112

原创 JAVA设计模式之工厂模式伪代码解析

我们都知道一个接口可以有很多的实现子类,例如汽车,子类有宝马、梅赛德斯奔驰、大众、荣威等。如果我们需要什么子类汽车的话就得分别取实例化这些子类,而工厂模式则是提供了一个方法根据我们的需要去选这创建这些子类,例如:我们需要一辆宝马汽车,工厂则给我们创建一辆宝马汽车,需要一辆奔驰汽车,工厂则给我们创建一辆奔驰汽车等等....我们无需关注整个创建的过程。这就是工厂模式的作用:把对象的创建和使用过程进行解...

2019-02-20 17:00:05 1478

原创 JVAV设计模式-代理模式实现原理伪代码

动态代理:它能代理所有实现类的方法调用:根据传进来的业务实现类和方法名进行具体调用JDK动态代理:JDK动态代理所用到的代理类在程序调用到代理类对象时才由JVM真正创建,JVM根据传进来的 业务实现类对象 以及 方法名 ,动态地创建了一个代理类的class文件并被字节码引擎执行,然后通过该代理类对象进行方法调用。我们需要做的,只需指定代理类的预处理、调用后操作即可实现代码:定义抽象接口...

2019-02-19 19:19:34 650

原创 JAVA单例模式的实现伪代码

什么是单例?:其定义是单例对象的类只能允许一个实例存在单例的实现基本原理:1.将该类的构造方法定义为私有访问,不对外暴露从而使其他类不能实例化该类对象,只能通过该类的静态方法得到该类的唯一实例 2.在该类中定义一个静态方法(getInstance),当我们调用该方法时返回该类的实例对象几种实现方式:饿汉式单例模式:package pers.ly.learn.designModel...

2019-02-19 15:31:01 1461

原创 集合Collection和Map结构原理

  List Set Map AttributeofAll ArratList LinkedList Vector HashSet TreeSet LinkedHashSet HashMap HashTable LinkedHashMap TreeMap 数据结构 动态数组 链表结构,地址任意 ...

2019-02-17 11:31:41 232

原创 Servlet运行原理解析/在web.xml中的配置

Servlet机制:    Servlet是服务器端用来处理用户请求并相应返回结果的应用程序,它的生命周期由web容器来负责维护,它的多线程体系建立在java多线程的机制之上;Servlet被设计为多线程的,当web应用程序初始化的时候,Servlet会根据web.xml中的配置文件实例化一个Servlet类,每当一个用户请求通过Tomucat获其他服务器进来直接调用已经实例化的Servlet对...

2019-01-30 14:50:21 19890 6

原创 JAVA四种内部类理解

在java中,将一个类定义在另一个类里面或者方法里,我们称之为内部类。内部类可以拥有private访问权限、protected访问权限、public访问权限及包访问权限。如果成员内部类Inner用private修饰,则只能在外部类的内部访问,如果用public修饰,则任何地方都能访问;如果用protected修饰,则只能在同一个包下或者继承外部类的情况下访问;如果是默认访问权限,则只能在同一个...

2019-01-28 15:19:51 242

原创 HTTP/TCP/IP协议

OSI(Open System Interconnect)七层模型和TCP/IP五层模型:      OSI模型:OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型应用层: OSI参考模型中最靠近用户的一层,是为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTP...

2019-01-21 16:03:16 261

原创 RocketMQ工作原理

1.消息中间件的发展:第一代以ActiveMQ为代表,遵循JMS(java消息服务)规范                                                                                                  第二代以RabbitMQ为代表。是一个有Erlang语言开发的AMQP的开源实现                  ...

2018-06-28 13:41:08 26778 1

原创 Dubbo服务接口的泛化调用

 dubbo服务框架作为内部RPC(远程过程调用协议)时,无法承担对外输出的功能,这个时候我们就需要一个由外部到内部的转换框架使得外部请求能够来调用我们的dubbo服务,我们可以把它称为服务网关或者开放平台。        dubbo框架是支持泛化调用的,使用通用的GenericService接口invoke需要调用的方法。下面是具体代码:package com.ebanma.cloud.data...

2018-06-28 09:51:54 5883

原创 spring boot集成swagger2构建restful API文档

我这里新建一个新的springboot项目来集成swagger2。项目结构如下:首先在pom.xml文件下导入swagger2的依赖,复制粘贴上去保存就会自动下载对应的依赖库文件<!--导入swagger2依赖 --> <dependency>            <groupId>io.springfox</groupId>           ...

2018-06-27 17:19:54 405

原创 git永久保存账号密码,免去git重复输入账号密码操作

我之前就是每一次操作都要输入用户名和密码,繁琐得很。现在给各位分享下git永久保存账户名和密码。方法一:安装好git之后一般会在C盘的C:\Users\Administator目录下生成 .gitconfig配置文件。用文档编辑工具打开该文件添加:[user] name = wb-ly409739  //你的用户名 email = wb-ly409739@alibaba-inc.com  //你的...

2018-06-14 13:51:12 84834 7

原创 windows上git安装和配置并且生成SSH秘钥

在网上下载Git的安装包,下载地址:http://git-scm.com/download/win.下载好之后直接点next安装即可。具体的可参考:https://jingyan.baidu.com/article/9f7e7ec0b17cac6f2815548d.html配置git:找到git的安装路径,例如我的:D:\Program Files (x86)\Git  如下图然后出现这个界面:设...

2018-06-14 13:22:29 1706

原创 查看本地eclipse版本

方法一:在eclipse解压文件下→找到readme文件夹,该文件夹与eclipse.exe处于同一层目录。点开该文件夹下readme_eclipse.html文件,用浏览器打开。方法二:在eclipse中查看版本,点击菜单help→About Eclipse就可以查看到版本信息了...

2018-06-14 11:08:03 623

空空如也

空空如也

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

TA关注的人

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