![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 86
lgcgkCQ
Java小菜鸟
展开
-
Java 服务限流方案
限流对于一个微服务架构系统来说具有非常重要的意义,否则其中的某个微服务将成为整个系统隐藏的雪崩因素,举例来讲,某个平台有多个微服务应用,但是作为底层的某个或某几个应用来说,将会被所有上层应用频繁调用,业务高峰期时,如果底层应用不做限流处理,该应用必将面临着巨大的压力,尤其是那些个别被高频调用的接口来说,最直接的表现就是导致后续新进来的请求阻塞、排队、响应超时...最后直到该服务所在JVM资源被耗尽。原创 2024-08-13 11:29:42 · 636 阅读 · 0 评论 -
Java SSE:实现服务器推送数据客户端
体验过大语言模型的人(chatgpt,文心一言,通义千问...)都知道,大模型的回答是一边思考一边返回数据的,属于流式响应。要达到这种效果就需要实现前后端的即时通讯。原创 2024-08-12 11:43:11 · 867 阅读 · 0 评论 -
Jenkins自动化构建运行Springboot项目
通过在Jenkins中创建流水线任务,编写流水线脚本以实现自动化构建和部署SpringBoot项目。原创 2024-07-31 11:36:32 · 727 阅读 · 0 评论 -
WebSocket解决方案(springboot 基于Redis发布订阅)
因为一般的请求都是HTTP请求(单向通信),HTTP是一个短连接(非持久化),且通信只能由客户端发起,HTTP协议做不到服务器主动向客户端推送消息。WebSocket确能很好的解决这个问题,服务端可以主动向客户端推送消息,客户端也可以主动向服务端发送消息,实现了服务端和客户端真正的平等。3.WebSocket 服务器负责监听客户端的连接请求,一旦有客户端连接,服务器会创建一个 WebSocket 会话(Session)来管理这个连接。socket服务订阅redis的消息,订阅成功后进行推送。原创 2024-07-02 16:08:30 · 1165 阅读 · 0 评论 -
Elasticsearch之集群化部署
一个集群就是由一个或多个服务器节点组织在一起,共同持有整个的数据,并一起提供索引和搜索功能。一个 Elasticsearch 集群有一个唯一的名字标识,这个名字默认就是”elasticsearch”。这个名字是重要的,因为一个节点只能通过指定某个集群的名字,来加入这个集群原创 2024-05-30 17:10:26 · 1032 阅读 · 0 评论 -
Elasticsearch之JavaAPI-索引与文档
1.新建Maven工程。2.pom添加依赖-- elasticsearch 的客户端 -->-- elasticsearch 依赖 2.x 的 log4j -->-- junit 单元测试 -->3.连接Elasticsearch。原创 2024-05-30 16:10:57 · 982 阅读 · 0 评论 -
Elasticsearch之http-索引与文档
数据格式Elasticsearch是面向文档型数据库,一条数据在这就是一个文档。下图是Elasticsearch和mysql的概念类比:ES 里的 Index 可以看做一个库,而 Types 相当于表, Documents 则相当于表的行。这里 Types 的概念已经被逐渐弱化, Elasticsearch 6.X 中,一个 index 下已经只能包含一个type, Elasticsearch 7.X 中, Type 的概念已经被删除了。原创 2024-05-28 14:26:43 · 1138 阅读 · 0 评论 -
Elasticsearch之入门与安装
Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单原创 2024-05-27 15:54:27 · 1201 阅读 · 0 评论 -
java基础复习(集合)
java集合又叫做容器,主要由:Collection、Map两个接口派生而来。Collection接口:主要用于存放单一元素,下面又有:List、Set、Queue三个子接口;Map接口主要用于存放键值对。原创 2022-08-25 08:40:50 · 169 阅读 · 0 评论 -
dubbo之原理
RPC就是远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想。原创 2023-08-14 11:14:51 · 96 阅读 · 0 评论 -
dubbo之高可用
在消费服务端本地创建一个实现了服务接口的Mock类,当远程服务不可用时或临时需要停用时,Dubbo框架将会调用mock属性指定的Mock类对应的方法并返回预设值给到用户。或:如果属性mock设置为true的方式,则需要将Mock实现类放在和接口相同的包下Mock类的命名规则遵循为服务接口名+Mock后缀,实现服务接口,并有一个无参构造函数。//必须有一个无参构造函数@Overrideorder.setOrderName("调用失败");@Override。原创 2023-08-09 11:50:43 · 1775 阅读 · 0 评论 -
dubbo之整合SpringBoot
进入到D:\idealTestProjects\dubbo\dubbo-admin-develop\dubbo-admin-distribution目录下,按住shift+右键,打开power shell,执行清除并打包命令。在目录D:\idealTestProjects\dubbo\dubbo-admin-develop\dubbo-admin-distribution\target下,执行下面的命令启动dubbo-admin。形式注册到Spring容器中,以便后续创建Dubbo Service。原创 2023-08-08 15:09:44 · 741 阅读 · 0 评论 -
Mysql sql优化
Mysql sql优化原创 2023-07-27 17:43:44 · 702 阅读 · 0 评论 -
java实现文件下载功能
文件下载功能已经成为现代Web应用程序不可或缺的一部分原创 2023-07-26 16:45:09 · 13403 阅读 · 0 评论 -
Swagger之集成与用法
Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务;我们可以通过Swagger给一些比较难理解的属性或者接口,增加注释信息接口文档要实时更新可以在线测试。原创 2023-05-15 23:24:58 · 380 阅读 · 0 评论 -
java变量与方法
定义:构造方法是一个特殊的成员方法,名字必须与类相同,在创建对象时由编译器自动调用,并且在生命周期内只调用一次演示:特性:1.构造方法名字必须与类名相同(如果不同,JAVA的编译器就会将该方法归结为成员方法,但是成员方法是必须有返回值类型,因此这就会导致编译通不过)2.没有返回值类型,设置成void也不行3.创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次(相当于每个人的出生,每个人只能出生一次)4.构造方法可以重载(用户可以根据自己的需求提供不同参数的构造方法)原创 2023-05-09 11:51:57 · 514 阅读 · 0 评论 -
java多线程(线程)
1.Java中所有线程都是同时启动的,哪个线程占有cpu等运行资源,那个线程就可以运行2.Java每次运行都需要启动两个线程,main线程和垃圾回收线程3.Java线程运行过程中,其他线程并不会随着主线程的结束而结束。原创 2022-08-26 15:13:21 · 932 阅读 · 0 评论 -
第三天:java基础复习(3)
java基础,泛型、异常、io原创 2022-08-22 16:07:29 · 154 阅读 · 0 评论 -
第一天:java基础复习(1)
java基础知识复习原创 2022-08-18 22:26:41 · 226 阅读 · 0 评论 -
zookeeper客户端操作
1.客户端命令行操作1.启动客户端(其中-server Cenos01 :2181为修改名称,不修改则为localhost)[root@Cenos01 zookeeper-3.5.7]$ bin/zkCli.sh -server Cenos01 :21812.显示所有操作命令[zk: Cenos01 :2181(CONNECTED) 1] help3.查看当前znode中所包含...原创 2021-07-18 21:22:21 · 466 阅读 · 1 评论 -
zookeeper基础
1.特点1.Zookeeper:一个领导者,多个跟随者组成二点集群。2.集群中只要有半数以上节点存活,zookeeper集群就能正常服务。所以zookeeper适合安装奇数台服务器。3.全局数据一致:每个server保存一份相同的数据,Client无论连到哪一个server,数据都一致。4.更新请求顺序执行,来自同一个Client的更新请求按其发送的顺序依次执行。5.数据更新原子性,一次数据更新要么成功,要么...原创 2021-07-18 21:07:13 · 157 阅读 · 0 评论 -
java io详解
gbk编码: 中文占用两个字节,英文占用一个字节utf-8编码:中文占用三个字节,英文占用一个字节java是双字节编码,是utf-16be编码utf-16be编码:中文占用两个字节,英文占用两个字节当你的字节序列是某种编码时,这个时候想把字节序列变成字符串,也需要用这种编码方式,否则会出现乱码//这时会使用项目默认的编码来转换,可能出现乱码要使用字节序列的编码来进行转换文本文件就是字节序列,可以是任意编码的字节序列。原创 2021-03-15 10:28:42 · 94 阅读 · 0 评论 -
java 常用类
1. 掌握Java的八种基本数据类型的包装类八种数据类型:包装类:2. 理解Integer类的源码Java中Integer是基本数据类型int的包装类。也就是每一个Integer对象包含一个int类型的属性,是抽象类Number类的子类,位于java.lang包下。源码:public final class Integer extends Number implements Comparable<Integer> {@Native public stat.原创 2021-03-10 14:29:08 · 333 阅读 · 0 评论 -
Java异常
1. 了解异常的结构体系和分类(Error和Exception)Java标准库内建了一些通用的异常,这些类以Throwable为顶层父类。Throwable又派生出Error类和Exception类。错误:Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应该关注Exception为父类的分支下的各种异常类。异常:Exception以及他的子类,代表程序运行时发送的各种不期望发生的事件。可以被Java异常处理机制使用,是异常处理原创 2021-03-08 11:22:42 · 278 阅读 · 0 评论 -
面向对象(进阶)
1.理解封装的好处和JavaBean的规范封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式;封装好处:隐藏实现细节,提供公共的访问方式提高了代码的复用性提高安全性JavaBean 是一种JAVA语言写成的可重用组件,它是一个类。JavaBean规范:JavaBean 类必须是一个公共类, 即将其访问属性设置为 public, 如: public class Student{…} JavaBean 类必须有一个空的构造函数: 类中必须有一个无参的public构造.原创 2021-03-01 11:02:47 · 127 阅读 · 0 评论 -
面向对象(基础)
1.面向对象和面向过程编程思想及其区别?面向过程编程是把编程的重心放在方法实现的过程中,由上到下,由高到低的顺序执行,一步一步逐步细化;是一种以事件为中心的编程思想。面向对象编程编程将整个过程按照功能性划分为不同的对象,然后将过程交给不同的对象去处理,过程由系统进行判断;是一种以事物为中心的编程思想。举例:一、把大象装进冰箱面向过程: 打开冰箱(冰箱) → 装填(冰箱,大象) → 关门(冰箱)面向对象:冰箱.开门() → 冰箱.装填(大象) → 冰箱.关门()2...原创 2021-02-24 16:19:48 · 132 阅读 · 0 评论 -
File
java i/o 输入输出流一:编码问题1.gbk: 中文占2个字节,英文一个字节2.utf-8: 中文占3个字节,英文一个字节3.utf-16be: 中文占1个字节,英文一个字节File类常用API1.java.io.File用于表示文件(目录)file类用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问2.遍历对象常用操作比如过滤、遍历等操作当File对象表示一个目录时,可以使用list()和listFiles()列出目录下的.原创 2020-10-13 08:31:34 · 240 阅读 · 1 评论 -
Java国产密码改造
一:介绍国产密码算法是指国家密码局认定的国产商用密码算法,目前主要使用公开的SM2、SM3、SM4三类算法,分别是非对称算法、哈希算法和对称算法。 SM2算法:SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。SM2算法与RSA算...原创 2020-01-16 10:18:25 · 2948 阅读 · 0 评论 -
JSONObject与JSONArray数据获取
JSONObjectJSONObject的数据是用 { } 来表示的,JSONObject数据格式:{"Status": 1,"ErrorMessage": "","Result": "HavClOuPONL8e5DrWzc(2f4*206DEdOevMcwfAiBYo4“}数据获取:import net.sf.json.JSONObject;Str...原创 2019-06-12 11:15:17 · 11427 阅读 · 1 评论