- 博客(22)
- 收藏
- 关注
原创 ElasticSearch入门
一、ElasticSearch简介1、什么是ElasticSearch Elaticsearch,简称为es, es是⼀个开源的⾼扩展的分布式全⽂检索引擎,它可以近乎实时的存储、检索数据;本⾝扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使⽤Java开发并使⽤Lucene作为其核⼼来实现所有索引和搜索的功能,但是它的⽬的是通过简单的RESTful API来隐藏Lucene的复杂性,从⽽让全⽂搜索变得简单。 &
2022-04-24 10:27:02 681
原创 RabbitMQ入门
一、RabbitMQ简介 RabbitMQ是一个由erlang语言编写的、开源的、在AMQP基础上完整的、可复用的企业消息系统。支持多种语言,包括java、Python、ruby、PHP、C/C++等。MQ:message queue 的简称,即消息队列,是应用程序和应用程序之间通信的中间件。AMQP:advanced message queuing protocol ,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准
2022-04-21 14:57:53 1613
原创 Nginx入门
一、nginx简介1,什么是nginx Nginx 是⼀款⾼性能的 http 服务器/反向代理服务器及电⼦邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师伊⼽尔·⻄索夫(Igor Sysoev)所开发,官⽅测试 nginx 能够⽀撑 5 万并发链接,并且cpu、内存等资源消耗却⾮常低,运⾏⾮常稳定。2,nginx应用场景http 服务器:Nginx 是⼀个 http 服务可以独⽴提供 http 服务。可以做⽹⻚静态服务器。虚拟主机:
2022-04-16 18:32:23 950
原创 Dubbo入门
一、Dubbo简介1、Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及微服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架.。 Dubbo提供了三大核心能力:面向接口的远程
2022-04-08 15:05:36 117
原创 SpringCloud之Gateway
一、服务网关简介1、什么是服务网关? 简单理解服务网关就是一个网络关口、通道,是整个服务的统一入口;所有客户端的请求都通过统一的网关接入服务。2、服务网关的作用 为微服务云平台提供统一的入口是API网关最主要的用途,除此之外,网关还可承担认证授权、访问控制、路由、负载均衡、缓存、日志、限流限额、转换、映射、过滤、熔断、注册、服务编排、API管理、监控、统计分析等等非业务性的功能。二
2022-04-04 22:36:36 814
原创 SpringCloud之OpenFeign
一、OpenFeign简介 Feign为微服务架构下服务之间的调用提供了解决方案,Feign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用Feign,可以做到使用HTTP请求访问远程服务,就像调用本地方法一样的,开发者完全感知不到这是在调用远程方法,更感知不到在访问HTTP请求。 OpenFeign添加了对于Spring MVC注解的支持,同时集成了Spring Cl
2022-04-04 15:06:50 1177
原创 转发和重定向的后续代码的执行情况
问题:在Servlet的service()方法和Filter的doFilter()方法中,我们可能会用到转发和重定向,那么在转发和重定向的代码执行后,其后续的代码是否还执行呢?答:会执行。原因: 重定向只是向response中添加了一条重定向地址,并不会立即响应给浏览器,只有当doFilter()或者service()执行完毕才会将响应信息封装起来发送给浏览器;同理,当执行请求转发时,会先到转发页面执行,执行完毕后返回继续执行后续代码,直到方法执行结束。总结:服务器接收到请求,会先后执行Filte
2022-02-12 15:07:44 1702 2
原创 IDEA如何创建web项目以及项目部署
以IDEA2021.2版本为例全程截图!!! 手把手教学一,创建JavaWeb项目步骤一,先创建一个Java项目:步骤二,为Java项目添加web支持:至此,一个javaweb项目就创建完毕了。创建完成后的界面:二,项目的配置根据规范,项目编译后的字节码文件要放在classes目录下,所依赖的库(jar包)要放在lib目录下,且这两个目录都要放在WEB-INF下面;由于IDEA会自动配置字节码文件,不需要我们关心,我们只需要在WEB-INF下创建lib目录,将需要的jar包放进去
2021-11-21 16:18:15 1727
原创 使用Java对JSON进行解析
1,什么是 JSON ?json的全称为:JavaScript Object Notation,是一种轻量级的数据交互格式。采用完全独立于编程语言的文本格式来存储和表示数据背景:数据传输是我们在敲代码时,经常遇到的一个场景,前后端交互。给数据一个统一的格式有利于我们编写和解析数据。2,JSON的格式json中含有两种复合类型的值:数组、对象基本类型的值有四种:字符串、数值(必须以十进制表示)、布尔值、null要求:字符串必须使用双引号表示,不能使用单引号。对象的键名最好放在双引号里面。
2021-09-10 12:28:04 941
原创 Java中main方法、线程、进程三者的关系
main方法是程序的入口,执行main方法开启了一个进程,同时main线程是主线程注意:执行main方法开启了一个进程 !!!如果同时开启多个main方法,那就是同时开启了多个进程!进程是资源分配的基本单位,线程是处理机调度的基本单位进程与进程之间是无法直接共享数据的(很难)进程和进程之间可以通信,传输数据,例如网络编程我们平常所涉及的多线程问题、数据共享问题(例如单例模式只创建一个对象)都是针对于单进程的;也就是服务端进程中多个线程共享数据分别处理不同客户端的请求如果同时开启多个main
2021-09-06 12:26:47 1409
原创 一篇文章搞明白Java多线程
一,线程概述1,进程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动是操作系统进行资源分配与调度的基本单位.可以把进程简单的理解为正在操作系统中运行的一个程序.2,线程线程(thread)是进程的一个执行单元.一个线程就是进程中一个单一顺序的控制流,是进程的一个执行分支进程是线程的容器,一个进程至少有一个线程,一个进程中也可以有多个线程.在操作系统中是以进程为单位分配资源,如虚拟存储空间,文件描述符等每个线程都有各自的线程栈,自己的寄存器环境,自己的线程本地存储
2021-09-04 17:49:51 301
原创 什么是 serialVersionUID ? 序列化对象时必须提供 serialVersionUID 吗?
1,什么是 serialVersionUID ?顾名思义,serialVersionUID是序列化版本号。所有可序列化的类,都有一个静态serialVersionUID属性;如果我们没有显示定义serialVersionUID,IDE默认提供一个serialVersionUID2,serialVersionUID 有什么用 ?serialVersionUID 用来标识一个可序列化类的版本当我们序列化一个对象时,会将 serialVersionUID 一并写出当我们反序列化一个对象时,会将读
2021-08-26 23:25:20 798
原创 什么是try-with-resources ?
1,什么是try-with-resources ?try-with-resources 是JDK 1.7 新增的语法糖2,为什么使用try-with-resources ?对于可关闭的资源的处理往往很复杂,使用 try-with-resources 语法可以简化代码,利于程序员的编写例如:在JDK 1.7 之前,对于流我们需要这样操作:package test2;import java.io.*;public class Test4 { public static void m
2021-08-26 19:34:37 1438
原创 Java集合(小白入门必看)
一,数组与集合1,概述:1.数组和集合都是用于存储数据的Java容器2.集合中内置了某种数据结构用于存储数据3.说明:此时的存储指内存层面的存储,不涉及到持久化存储2,数组的缺点:1.数组经过初始化后,其长度就固定不可改变了,如果数组满了,需要手动copy一份2.数组中提供的方法非常有限,对于数据的增删改查等操作非常不便3.数组存储的是有序可重复的数据。无法满足存储无序、不可重复数据的需求集合的出现解决了数组存储数据方面的弊端二,集合框架图三,Collection接口1.Colle
2021-08-21 18:19:36 203
原创 Java日期时间类
旧日期时间类一,java.util.Date类的使用该类提供了各种带参数的构造器,可根据年月日时分秒创建日期对象,还包含了各种get,set方法;但这些都已过时,其中年份和月份的设置以及日期打印信息对中国区十分不友好。目前常用的:****注意:****通过空参构造器返回的日期是系统上当前时间对应的日期,如果系统的时间有误,需要更改回来。二,java.text.SimpleDateFormat类的使用用来替代Date中的toLocaleString()方法 ,该方法得到的字符串格式固定且已过时。
2021-08-16 22:33:52 235
原创 Java中多态(方法的重写)是如何实现的
本文参考《深入理解Java虚拟机第三版》8.3章节首先我们来看下面这段代码:public class Test1 { public static void main(String[] args) { People p1=new Man(); People p2=new Woman(); p1.say(); p2.say(); }}class People{ void say(){ System.o
2021-08-10 20:00:37 435
原创 Java中new+构造函数究竟做了什么
new一个对象的过程:首先判断类是否加载,没有的话先加载类,由父及子。静态变量在此阶段加载,详情见类加载。接着为对象分配内存空间并隐式初始化,由父及子,按顺序分配。然后执行构造函数,在执行子类构造函数之前会先执行父类构造函数,在执行构造函数之前,又会先执行显示初始化和非静态代码块,执行顺序和定义顺序一致所以执行顺序为:父类静态变量,静态代码块>>子类静态变量,静态代码块>>父类非静态变量,非静态代码块>>父类构造函数>>子类非静态变量,非静态代码块&
2021-05-08 10:59:12 606 1
原创 return返回值详解
return返回值时,可以看作将返回值赋值给一个匿名的临时变量(c++中返回对象时会调用拷贝构造函数),然后结束方法,释放栈帧。该匿名临时变量一般存放在寄存器或上一个方法的栈帧中(不同语言及开发环境可能有所不同),该匿名临时变量一旦被使用便释放,一般做只读操作。...
2021-03-29 16:36:28 1059
原创 位运算和除法运算的取整差异
除法运算结果向0取整,即取模。位运算是二进制上的位移。如果将位运算看作除2来运算的话,其结果为向下取整。即正数>>1和/2结果相等,负数>>1结果比/2结果小1。
2021-03-26 13:40:17 499
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人