自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 设计模式——单例模式

单例设计模式作用:保证一个类只有一个对象,并且提供一个访问该实例的全局访问点常见场景:windows中任务管理器Windows中回收站网站计数器日志应用数据库连接池操作系统的文件系统Application(Servlet)Spring中的每个bean默认是单例SpringMVC中控制器也是单例的单例模式的优点:单例模式只生成一个实例,减少系统性能的开销,当一个对象产...

2020-04-22 21:43:12 122

原创 Servlet的生命周期

Servlet的生命周期首先加载servlet的class文件,实例化servlet,然后初始化servlet调用init()方法,接着调用service()方法处理doGet()和doPost()方法,最后容器关闭时调用destroy销毁方法加载如果以配置加载选项,则在启动服务器时自动加载(web.xml中设置);在服务器启动后,客户机首次向servlet发出请求时;重新加载se...

2020-03-24 16:44:30 170

原创 缓存和数据库的一致性问题

目前主解决缓存和数据库一致性问题的主流方案有三种1.数据实时同步更新+缓存失效,强一致性,更新数据库之后主动淘汰缓存,读请求更新缓存,注意要避免缓存雪崩的问题;2.数据准实时更新,准一致性,更新数据库后,异步更新缓存;3.任务调度更新,最终一致性,采用任务调度框架,按照一定频率更新;...

2020-03-19 19:08:36 157

原创 Java中的集合——Set

Set接口的实现类HashSet的使用public class TestSet { public static void main(String[] args) { Set<String> set=new HashSet<String>(); set.add("hello"); System.out.printl...

2020-02-18 15:32:18 237

原创 集合——List

1.为什么使用集合例如:存储数据之前可以用数组存储数据,数组有很大的缺点,长度一旦确定,就没法修改,所以如果删除或者增加元素,需要大量的移动元素的位置。数组:只能放一种数据类型,可以是基本数据类型也可以是引用数据类型总行所述,可以使用集合来解决这种问题:集合的优点:增加删除元素效率高集合的特点:一个集合可以有多种数据类型(一般使用泛型,只存放一种数据类型),但是他只能存放引用数据类型...

2020-02-17 13:39:43 301

原创 包装类

包装类基本数据类型这个数进行了一个封装,产生了一个类,----包装类对应关系 基本数据 对应的包装类 继承关系 byte Byte Number----->Object short Short int Integer long Long float Float ...

2020-02-17 11:50:16 262

原创 Java中异常处理

异常介绍异常:编译正常通过,在运行过程中出现不正常情况错误:单词或语法错误,程序无法正常编译bug:编译正常,运行正常,运行结果不正确出现异常可以使用if…else进行判断public class Test { public static void main(String[] args) { Scanner input=new Scanner(System.i...

2020-02-17 11:06:39 198

原创 垃圾回收

对象空间的分配:使用new关键字创建对象即可对象空间的释放:传统的C/C++语言,需要程序员负责回收已经分配内存。显式回收垃圾回收的缺点:程序忘记及时回收,从而导致内存泄露,降低系统性能。程序错误回收程序核心类库的内存,导致系统崩溃。Java语言不需要程序员直接控制内存回收,是由JRE在后台自动回收不再使用的内存,称为垃圾回收机制(Garbage Collection)。可以提高编程...

2020-02-16 22:06:07 149

原创 内部类

内部类:把类定义在另一个类里面public class Outer { //外部类 private class Inner{ //内部类 }}内部类的分类(1)成员内部类 :定义在类里,方法外,作为外部类的成员而存在成员内部类基本特征内部类可以直接访问外部类的成员外部类不可以直接访问内部类的成员,必须先创建对象再使用外部类只能使用public和默认修饰,而内部...

2020-02-16 22:04:32 227

原创 interface接口

interface关键字使用interface声明一种数据类型 ,称为接口类型 --》属于引用数据类型public interface MyInterface {}引用数据类型包括 类,数组,接口为什么需要接口(1)从N多个对象当中抽取不出来象的东西(2)为了扩展单继承的功能接口体现的是一种“规范”,接口满足的关系是 has -a "如果你是什么,你就需要具备什么样的能力”接...

2020-02-16 21:50:44 567

原创 abstract关键字

abstract关键字 :英文单词的意思,抽象的(1)修饰类 -->称为抽象类特征:就是不能创建对象(不能实例化)public abstract class Animal {}(2)修饰方法 :使用abstract修饰的方法称为抽象方法特 点:a)没有方法体,只能以分号结尾b)必须定义在抽象类里c)必须被子类实现,如果子类不实现,那么子类也得是抽象类抽象类里可以包含...

2020-02-16 21:42:01 138

原创 final关键字

final关键字可以修饰类,方法,变量final修饰的变量称为常量变量–>成员变量和局部变量final修饰成员变量,通常与static一起使用,称为静态常量static说明PI的使用需要使用类名. Math.PIfinal说明PI的值在整个程序的运行过程其值不允许改变final修饰的局部变量称为常量变量–>基本数据类型和引用数据类型final修饰的基本数据类型...

2020-02-16 21:38:29 116

原创 类型转换

向上类型转换(自动类型转换)只能调用父类中存在的方法,或者是重写的方法在子类中定义的方法将不能使用父类引用=子类对象 自动转换调用的子类继承的方法调用的是子类重写的方法不能调用子类特有的方法public class TestPoly2 { public static void main(String[] args) { //基本数据类型的类型转换 ...

2020-02-16 21:32:55 172

原创 面向对象三大特征——多态

多态对的前提:继承和方法重写多态:父类引用指向子类对象,调用相同的方法,运行结果不同多态的三个必要条件继承方法重写父类引用 new 子类对象多态的好处减少重载方法的数量符合开闭原则,即使增加子类,不需要提供额外的方法多态的使用场合使用父类做方法的形参,实参可以是任意的子类类型(最主要的场合)使用父类做方法的返回值类型,实际返回的可以是任意子类的对象父类pub...

2020-02-16 21:26:43 530

原创 Object

Object类:是java中所有类的直接或间接父类如果一个类没有继承任何类,默认继承Object类public class Person extends Object {}或者public class Person {}Object类的常用方法equals(Object obj):用于比较两个对象的属性值是否相同,但是在Object类中的定义为toString():显...

2020-02-16 21:19:06 107

原创 方法的重写

方法的重载 overload作用:在同一个类中为同一种功能提供不同的实现方式(1)发生在同一个类中(2)方法的名称相同(3)参数不同 (类型,顺序,个数)(4)访问权限和访问值类型无关方法的重写 override作用 :父类提供了方法,但是不能满足子类的需求,子类可以重写编写方法体(1)发生在子类(2)方法的名称,参数的类型 ,个数,顺序必须与父类的方法完全相同(3)返回值&l...

2020-02-16 19:29:17 203

原创 面向对象三大特征——继承

继承:提高代码的复用性继承的好处避免代码重复修改父类,影响所有的子类(增加了耦合性)如何继承:使用extends关键字如果一个类没有指定父类,默认父类是Object,Object类是所有类的父类单继承 一个类只能有一个父类 C++可以多继承可以多层继承一父二子一测试(1)编写父类public class Person {//父类 private String ...

2020-02-16 19:24:10 199

原创 面向对象的三大特征——封装

面向对象的三大特征(1)封装 –>提高程序的安全性 (主要指的是值的准确的性)(2)继承–>提高代码的复(重复使)用性(3)多态–>提高程序的扩展性封装public :最大的访问权限(整个项目可见)protected :子类方访问权限package :包内访问权限private :本类访问权限封装的好处:安全使用封装保证属性的安全性(属性值的准确性...

2020-02-16 19:12:23 672

原创 static关键字

static:静态的static可以修饰成员变量,称为静态变量,在方法区标准使用方式:类名.静态变量名另一种使用方式:对象名.静态变量名static可以修饰成员方法 ,称为静态方法标准使用方式:类名.方法名()另一种使用方式:对象名.方法名()public class Student { String name; //name与age称为成员变量,在堆 ...

2020-02-16 19:02:39 92

原创 this关键字

this关键字this关键字是代表当前对象的引用(地址)public class Person{//(1)类名 //(2)属性 String name; int age; String gender; public Person(){ System.out.println("this...

2020-02-16 18:47:57 122

原创 构造方法

构造方法是一种特殊的方法方法的名称必须和类的名称相同不能写返回值,也不能写void,更不能使用return构造方法可以重载类的组成部分属性方法构造方法public class Person{//(1)类名 //(2)属性 String name; int age; String gender; ...

2020-02-16 18:39:20 92

原创 成员变量和局部变量

成员变量我们研究一个事物:属性:外在特征(类中的成员变量)行为:能做什么局部变量方法中,或者方法的形参成员变量和局部变量的区别位置不同:成员变量:----> 类中,方法外局部变量:-------> 方法里,方法的形参,代码块里public class Test1{ String name;//成员变量 pu...

2020-02-16 18:26:50 114

原创 类和对象

采用面向对象的方式开发一个软件,声明周期当中:面向对象分析:OOA面向对象设计:OOD面向对象编程:OOP类和对象对象:具体的实物类:由N多个对象 抽取出来像的部分(抽象)归结为类(别),像的部分包括描述的属性和功能(类别的特征),根据认识其他对象是否属于这个类别类和对象之间的关系...

2020-02-16 18:08:32 90

原创 面向对象和面向过程的区别

面向对象找参与者面向过程注重操作步骤(顺序,线性思维)二者之间的关系 面向过程 面向对象 区别 事物比较简单,可以用线思维去解决 事物比较复杂,使用简单的线性思维无法解决 共同点 面向对象和面向过程都是一种解决问题的思维 二者是相辅相成,并不是独立的 解决复杂的问题,通过面向对象的方式便于我们从宏观上把握事物之间复...

2020-02-15 21:16:05 128

原创 传统单体应用、SOA(面向服务)、微服务之间的对比

1.单体应用MVC模式构建的单体应用适合项目初期,能够方便的进行开发,部署,测试。随着业务的增长与访问量的增加,单体应用存在的问题也会暴露出来。单体应用的维护:单体应用中,大部分逻辑部署在一个集中化,单一的环境或服务器中运行。单体应用通常很大,由一个大型团队或多个团队维护。庞大的代码可能给开发人员增加开发成本。开发过程中使用的开发环境和容器不堪重负,降级开发效率。部署:单体应用需要编译...

2020-02-15 15:07:58 2537

原创 RESTful

介绍:RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。REST这个词,是Roy ThomasFielding在他2000年的博士论文中提出的 .REST 是Representational State Transfer的缩写,翻译是”表现层状态转化”。 可以总结为一句话:REST是所有Web应用都应该遵守的...

2020-02-11 19:44:57 78

原创 Node.js入门

1.什么是Node.jsNode.js就是运行在服务端的JavaScriptNode.js是一个基于Chrome JavaScript运行时建立的一个平台Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的v8引擎,v8引擎执行JavaScript非常快,性能非常好。2.Node.js的安装1.下载对应版本Node.js各版本下载2.下一步安装...

2020-02-11 18:07:17 86

原创 灾难性雪崩效应及其解决方案

灾难性雪崩效应一个请求调用多个服务时,如果客户端访问A服务,A服务调用B服务,B服务需要调用C服务,由于网络原因或者硬件故障,程序Bug的原因,如果B和C服务不能及时响应,A服务处于阻塞状态,此时有大量的请求涌入,导致资源消耗完毕,最终造成服务逻辑崩溃。服务与服务之间的依赖性,会造成连锁反应,对整个微服务系统造成灾难性的严重后果。造成灾难性雪崩的原因服务提供者不可用硬件故障、程序Bug...

2020-02-07 23:00:33 362

原创 Spring Cloud Ribbon实例

Spring Cloud Netflix Ribbon简介Ribbon 是一个基于Http和TCP的客服端负载均衡工具,它是基于Netflix Ribbon实现的。它不像spring cloud服务注册中心、配置中心、API网关那样独立部署,但是它几乎存在于每个spring cloud 微服务中。包括feign提供的声明式服务调用也是基于该Ribbon实现的。ribbon默认提供很多种负载均衡算...

2020-02-06 20:24:50 573

原创 Spring Cloud Eureka服务中心

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。Eureka组件Eureka Server 和Eureka ClientEureka ServerE...

2020-02-05 15:06:57 140

原创 Web开发中的技术Cookie,Session,Token

在Web应用中,Http请求是无状态的。即:用户第一次发起请求,与服务器建立连接并登录成功后,为了避免每一次打开页面需要登录,就出现了Cookie和Session技术。CookieCookie是客户端保存用户信息的一种机制,用来记录用户的信息,也是实现Session的一种方式。Cookie存储的数据量有限,都是保存在浏览器中。不同的浏览器有不同的存储大小,但一般不超过4KB。因此Cookie...

2020-02-05 14:32:57 156

原创 SpringMVC的执行流程

SpringMVC四大组件DispatchServlet:前端控制器,整个SpringMVC框架入口HandlerMapping:寻找URL所请求的HandlerMethod,找@RequestMappingHandlerAdapter:实际调用HandlerMethod组件ViewResovler:视图解析器,解析HandlerMethod的返回值,把逻辑视图转化为需要调用的物理视图S...

2020-02-04 22:19:02 135

原创 java实现多线程的四种方式

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2020-02-03 21:42:08 210

原创 Solr的运行原理

运行流程用户在网页中输入关键字进行检索,关键字被solr接收,会对关键字进行分词,然后检索solr库中的资源,将符合要求的数据返回给用户相关概念 **基本存储单元:**文档 顺序扫描法: 根据需求挨个比较文档,找出所有符合要求的数据。效率低。 ** 全文检索法:基于字段的代拍索引表的检索方式,效率高,适合大量数据。** ** 倒排索引:**根据某个字段分词后,产...

2019-12-09 22:21:23 313

原创 redis中缓存数据的格式

使用json格式存储:java对象----》json字符串获取:json字符串-----》java对象添加依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> ...

2019-12-09 21:55:12 399

原创 使用jedis操作redis

依赖配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="...

2019-12-09 21:34:27 128

原创 Solr的相关配置

安装solrHome将solr安装包解压进行拷贝![在这里插入图片描述](https://img-blog.csdnimg.cn/20191205194444340.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BlbmVyeA==,...

2019-12-05 20:02:15 129

原创 linux中安装JDK

Linux系统中安装和配置JDK上传JDK压缩包到linux主机中在usr下创建一个目录叫bjsxt,用来存储上传的jdk压缩包资源。使用FileZilla软件上传jdk压缩包到usr/bjsxt目录中在Xshell中使用tar命令将jdk压缩包进行解压。将解压后的jdk文件复制到usr/local目录下 并重名名为 jdk8查看/usr/local下是否有jdk7目...

2019-12-02 22:12:07 137

原创 VMWare中安装centos 6.5

VM中linux系统的安装:配置虚拟主机的硬件资源安装linux系统①双击桌面VMware Workstation Pro启动虚拟机。②进入VM虚拟机主页,单击创建新的虚拟机③进入虚拟机创建页面,点击自定义模式,然后点击下一步④选择虚拟机硬件兼容性直接下一步即可⑤选择要按照的linux的镜像文件(centos6.5/64位)⑥设置虚拟机的主机名字和账户密码等信息⑦设置...

2019-12-02 22:03:41 127

原创 VM 的安装

1.VMWare的下载地址:可以选择官网下载,也可以从百度网盘下载VMWare122.安装步骤:

2019-12-02 21:56:05 141

mysql安装步骤-CentOS.ppt

详情见PPT CentOS上安装MySql官方推荐使用rpm在线安装的方式进行安装。 但是使用在线安装的方式无法修改安装的路径。 而且所有同学使用在线安装方式,会导致网络过慢,所花时间过多。 所以:下面我们以解压版的方式进行安装。

2019-12-03

空空如也

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

TA关注的人

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