自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Apache POI技术-在Java中的基本使用

Apache POI(Poor Obfuscation Implementation)是Apache软件基金会的一个开源项目,提供了用于读写Microsoft Office格式文件(如Word文档、Excel表格、PowerPoint幻灯片)的Java API。POI技术使Java开发人员能够轻松地操作和处理Office文档,为他们提供了丰富的功能和灵活性。Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。

2024-02-21 13:39:41 2248

原创 Zookeeper使用

ZooKeeper是一个集中的服务,用于维护配置信息、命名、提供分布式同步和提供组服务。所有这些类型的服务都以某种形式被分布式应用程序使用。每次它们被实现时,都会有大量的工作来修复不可避免的错误和竞争条件。由于实现这些服务的困难,应用程序最初通常会略过这些服务,这使得它们在出现更改时变得脆弱,并且难以管理。即使正确地执行了这些服务,在部署应用程序时,这些服务的不同实现也会导致管理复杂性。

2023-03-15 20:27:11 3793 1

原创 Elasticsearch使用——高级篇

默认的拼音分词器会将每个汉字单独分为拼音,而我们希望的是每个词条形成一组拼音,需要对拼音分词器做个性化定制,形成自定义分词器。elasticsearch中分词器(analyzer)的组成包含三部分:character filters:在tokenizer之前对文本进行处理。例如删除字符、替换字符tokenizer:将文本按照一定的规则切割成词条(term)。例如keyword,就是不分词;还有ik_smarttokenizer filter:将tokenizer输出的词条做进一步处理。

2023-03-08 16:34:25 2719

原创 Elasticsearch使用——中级篇

在上一篇,已经导入了大量数据到elasticsearch中,实现了elasticsearch的数据存储功能。但elasticsearch最擅长的还是搜索和数据分析。本篇,研究下elasticsearch的数据搜索功能。分别使用DSL和RestClient实现搜索。1.DSL查询文档elasticsearch的查询依然是基于JSON风格的DSL来实现的。

2023-03-07 09:35:59 1257 1

原创 ELasticsearch基本使用——基础篇

1.初识elasticsearch1.1.了解ES1.1.1.elasticsearch的作用elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容

2023-03-05 19:37:30 5325

原创 安装Elasticsearch

说明plugins目录被挂载到了:/var/lib/docker/volumes/es-plugins/_data 这个目录中。-v es-plugins:/usr/share/elasticsearch/plugins:挂载逻辑卷,绑定es的插件目录。不建议大家自己pull。-v es-data:/usr/share/elasticsearch/data:挂载逻辑卷,绑定es的数据目录。-v es-logs:/usr/share/elasticsearch/logs:挂载逻辑卷,绑定es的日志目录。

2023-03-05 19:27:04 122

原创 RabbitMQ的使用

1.初识MQ1.1.同步和异步通讯微服务间通讯有同步和异步两种方式:同步通讯:就像打电话,需要实时响应。异步通讯:就像发邮件,不需要马上回复。

2023-03-03 19:39:59 1178

原创 RabbitMQ部署指南

RabbitMQ部署指南1.单机部署我们在Centos7虚拟机中使用Docker来安装。1.1.下载镜像

2023-03-03 19:11:44 638

原创 SpringBoot学习-原理篇

springboot技术本身就是为了加速spring程序的开发的,可以大胆的说,springboot技术没有自己的原理层面的设计,仅仅是实现方案进行了改进。将springboot定位成工具,你就不会去想方设法的学习其原理了。就像是将木头分割成若干份,我们可以用斧子,用锯子,用刀,用火烧或者一脚踹断它,这些都是方式方法,而究其本质底层原理是植物纤维的组织方式,研究完这个,你再看前述的各种工具,都是基于这个原理在说如何变更破坏这种植物纤维的方式。

2023-03-03 12:00:31 1011

原创 SpringBoot-实用开发篇

开发实用篇中因为牵扯到SpringBoot整合各种各样的技术,所以在整合每一个技术之前,都会做一个快速的普及,这样的话内容整个开发实用篇所包含的内容就会比较多。在学习的时候,如果对某一个技术不是很清楚,可以先跳过对应章节,或者先补充一下技术知识。开发实用篇具体包含的内容如下:• 热部署• 配置高级• 测试• 数据层解决方案• 整合第三方技术• 监控

2023-03-03 11:55:37 3457 3

原创 SpringBoot-运维篇

在运维实用篇中,是玩转配置,为开发实用篇中做各种技术的整合做好准备工作。与开发实用篇相比,运维实用篇的内容显得略微单薄,并且有部分知识模块在运维实用篇和开发实用篇中都要讲一部分,这些内容都后置到开发实用篇中了。运维实用篇中都包含哪些内容:• SpringBoot程序的打包与运行• 配置高级• 多环境开发• 日志

2023-03-03 11:09:45 410

原创 SpringBoot-基础篇

在基础篇中,能够使用SpringBoot搭建基于SpringBoot的web项目开发,所以内容设置较少,主要包含如下内容:• SpringBoot快速入门• SpringBoot基础配置• 基于SpringBoot整合SSMP

2023-03-03 10:55:33 366

原创 Docker的基本使用

微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题**数据卷(volume)**是一个虚拟目录,指向宿主机文件系统中的某个目录。一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。这样,我们操作宿主机的/var/lib/docker/volumes/html目录,就等于操作容器内的/usr/share/nginx/html目录了。

2023-03-03 09:11:53 931 1

原创 Centos7 安装Dockers

Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我们在CentOS 7安装Docker。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。Docker官方的Docker Registry是一个基础版本的Docker镜像仓库,具备仓库管理的完整功能,但是没有图形化界面。启动docker前,一定要关闭防火墙后!启动docker前,一定要关闭防火墙后!

2023-03-03 09:09:50 159

原创 Gateway网关的使用

过滤器的作用是什么?① 对路由的请求或响应做加工处理,比如添加请求头② 配置在路由下的过滤器只对当前路由的请求生效defaultFilters的作用是什么?① 对所有路由都生效的过滤器需求:定义全局过滤器,拦截请求,判断请求的参数是否满足下面条件:参数中是否有authorization,authorization参数值是否为admin如果同时满足则放行,否则拦截实现:/**

2023-03-02 11:17:59 620

原创 Feign远程调用

使用Feign的步骤:① 引入依赖② 添加@EnableFeignClients注解③ 编写FeignClient接口④ 使用FeignClient中定义的方法代替RestTemplateFeign可以支持很多的自定义配置,如下表所示:类型作用说明feign.Logger.Level(最常用)修改日志级别包含四种不同的级别:NONE、BASIC、HEADERS、FULL响应结果的解析器http远程调用的结果做解析,例如解析json字符串为java对象请求参数编码。

2023-03-01 16:40:27 360

原创 Nacos集群搭建

实际部署时,需要给做反向代理的nginx服务器设置一个域名,这样后续如果有服务器迁移nacos的客户端也无需更改配置.其中包含3个nacos节点,然后一个负载均衡器代理3个Nacos。将nacos文件夹复制三份,模拟集群,分别命名为:nacos1、nacos2、nacos3。官方推荐的最佳实践是使用带有主从的高可用数据库集群,主从模式的高可用数据库。Nacos默认数据存储在内嵌数据库Derby中,不属于生产可用的数据库。然后分别修改三个文件夹中的application.properties,

2023-03-01 11:26:17 406

原创 Nacos的使用

服务器设备性能有差异,部分实例所在机器性能较好,另一些较差,我们希望性能好的机器承担更多的用户请求。Nacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册、服务发现规范。国内公司一般都推崇阿里巴巴的技术,比如注册中心,SpringCloudAlibaba也推出了一个名为Nacos的注册中心。当本集群内不可用时,才访问其它集群。Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式。

2023-02-28 18:12:38 280

原创 Nacos的安装指南

Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。windows版本使用nacos-server-1.4.1.zip包即可。Nacos依赖于JDK运行,索引Linux上也需要安装JDK才行。Linux或者Mac安装方式与Windows类似。上传到某个目录,例如:/usr/local/如果无法关闭占用8848端口的进程。开发阶段采用单机安装即可。与windows中类似。然后重命名为java。

2023-02-28 18:06:35 372

原创 Eureka注册中心-Ribbon负载均衡

SpringCloudRibbon的底层采用了一个拦截器,拦截了RestTemplate发出的请求,对地址做了修改。用一幅图来总结一下:基本流程如下:拦截我们的RestTemplate请求RibbonLoadBalancerClient会从请求url中获取服务名称,也就是user-serviceDynamicServerListLoadBalancer根据user-service到eureka拉取服务列表eureka返回列表,localhost:8081、localhost:8082。

2023-02-28 11:02:36 758

原创 认识微服务-微服务对比

单体架构:简单方便,高度耦合,扩展性差,适合小型项目。例如:学生管理系统分布式架构:松耦合,扩展性好,但架构复杂,难度大。适合大型互联网项目,例如:京东、淘宝微服务:一种良好的分布式架构方案①优点:拆分粒度更小、服务更独立、耦合度更低②缺点:架构非常复杂,运维、监控、部署难度提高SpringCloud是微服务架构的一站式解决方案,集成了各种优秀微服务功能组件2、服务拆分与远程调用任何分布式架构都离不开服务拆分。2.1、服务拆分微服务拆分几个原则:①、不同微服务,不可以重复开发相同业务。

2023-02-27 11:08:10 1693

原创 SpringBoot项目中关于Redis缓存的使用

Redis 是一个高性能的 Key-Value 开源数据库, 是一个非关系型的数据库,是为了解决高并发、高扩展,大数据存储等一系列的问题而产生的数据库解决方案。但它不能替代关系型数据库,只能作为特定环境下的扩充。

2022-10-09 21:44:24 1961

原创 数据库查询语句的练习

sql基础学习

2022-08-28 17:47:00 561

原创 Java中线程的学习

一、线程的概述1、线程:a.线程(Thread)是一个程序内部的一条执行路径b.在启动程序执行后,main方法的执行就是一条单独的执行路径c.程序中如果只有一条执行路径,那麽这个程序就是单线程的程序2、多线程是指从软硬件上实现多条执行流程技术二、线程创建的三种方式1、线程创建方式一注意事项:实现代码:package thread.app.d1_create;/** * 目标:多线程创建方式一:继承Thread类实现 */public class

2022-05-26 17:40:10 225

原创 Java中 File类,方法递归,IO流,缓冲流,转换流,对象序列化,打印流,commons_io框架

一、File类的学习1、创建File对象,定位操作系统的文件(文件,文件夹)File类概述a.File类在包java.io.File下,代表操作系统的文件对象(文件,文件夹)b.File类提供了:定位文件,获取文件本身信息,删除文件,创建文件,创建文件夹等功能实现代码:package file.io.d1_file;import java.io.File;/** 目标:学会创建File对象,定位操作系统的文件(文件,文件夹) */public class..

2022-05-19 17:54:29 453 2

原创 Java实现简易计算器

需求:实现加减乘除的运算。实现代码:Const类(常量类):package gui.carculator;import java.awt.*;/** * 常量类 */public class Const { //设置窗体大小 public static final int FRAME_W = 400; public static final int FRAME_H = 400; //得到窗体的宽度,得到窗体的高度 public stati

2022-05-14 19:47:14 1379

原创 Java实现模拟电影院购票系统(集合存储数据)

目标:模拟实现电影院购票系统。分析:·日志框架搭建,系统角色分析·首页设计,登录,商家界面设计,用户界面实现·用户注册功能·商家注册功能·商家-详情页设计,影片上架,退出·商家-影片下架,影片修改·用户-展示全部影片·用户-购票功能·用户-评分功能·用户-根据片名查询全部影片信息功能代码实现: User类(商家与客户的父类)package bean;/** 用户类(商家与客户的父类) */public class...

2022-05-07 16:40:35 2924

原创 简单动物识别系统(人工智能作业)

Main类package com.company;import java.util.Scanner;public class Main { // write your code here //特征集与结果集初始化,用以输入输出 static String Features[] = {"反刍","有蹄","哺乳类", "眼向前方","有爪","犬齿","吃肉","下蛋","能飞", "有羽毛","蹄

2022-05-03 16:20:51 2245

原创 Java中异常处理

Java中异常体系异常主要分为运行时异常与编译时异常运行时异常:即语法正确 编译也能通过,即在运行期间产生的异常编译时异常: 即语法正确但不能编译,即在编译期间就产生的异常异常处理方式异常处理方式一:示例代码package stream.exception.log.d3_exception;import java.io.FileInputStream;import java.io.FileNotFoundException;import java

2022-04-26 20:19:39 333

原创 Java利用Stream流实现部门数据结算

需求:某个公司的开发部门,分为开发一部和二部,现在需要进行年中数据结算。分析: 1.员工信息至少包含了(名称、性别、工资、奖金、处罚记录) 2.开发一部有4个员工、开发二部有5名员工 3.分别筛选出2个部门的最高工资的员工信息,封装成优秀员工对象Topperformer 4.分别统计出2个部门的平均月收入,要求去掉最高和最低工资。 5.统计2个开发部门整体的平均工资,去掉最低和最高工资的平均值。实现代码StreamTest2类(实现类)...

2022-04-26 17:36:26 588

原创 Java中Stream流

Stream流作用简化集合、数组操作的API。结合了Lambda表达式。Stream思想与使用步骤a.先得到集合或者数组的Stream流(就是一根传送带)。b.把元素放上去。c.然后就用这个Stream流简化的API来方便的操作元素。集合与数组获取Stream流方式示例代码package stream.exception.log.d2_stream;import java.util.*;import java.util.stream.Stream;pu.

2022-04-26 17:31:47 369

原创 Java中Map集合

Map集合特点Map是一个无序,不重复,无索引,键值对的集合。键不可以重复,值可以重复,键重复则后者覆盖前者,Map集合没有继承Collection接口。Map中常用的APIpackage collection.map.d6_map_api;import java.util.*;/** map集合常用api */public class MapDemo { public static void main(String[] args) { //1.

2022-04-26 17:20:05 1201

原创 DQL数据查询语言

基础查询 :-- 删除stu表drop table if exists stu;-- 创建stu表create table stu( id int, -- 编号 name varchar(20), -- 姓名 age int, -- 年龄 sex varchar(5), -- 性别 address varchar(100), -- 地址 math double(5,2), -- 数学成绩 english double(5,2.

2022-04-19 20:56:39 167

原创 Java中集合操作工具类Collections

示例代码:package collection.map.d3_collections;import java.util.ArrayList;import java.util.Collections;import java.util.List;public class CollectionsDemo01 { public static void main(String[] args) { //1.定义一个集合 List<String>...

2022-04-19 19:42:37 275

原创 Java中可变参数

示例代码:package collection.map.d2_params;import java.util.Arrays;public class MethodDemo { public static void main(String[] args) { sum();//可以不传参数 sum(10);//可以传一个参数 sum(10,20,30);//可以传三个参数 sum(new int[]{10,20,30,40..

2022-04-19 19:37:03 61

原创 Java实现斗地主游戏中洗牌,发牌,牌顺序逻辑

需求:在启动游戏房间时,应提前准备好54张牌完成洗牌,发牌,牌顺序逻辑。分析:1.当系统启动的同时需要准备好数据的时候,就可以用静态代码块了。2.洗牌就是打乱牌的顺序。3.定义三个玩家、依次发出51张牌4.给玩家的牌进行排序代码实现:Card类(卡牌类)package collection.map.d4_collection_test;/** 定义牌的类 */public class Card { private String size; .

2022-04-19 19:32:27 3952

原创 Java中Set系类集合

HashSet LinkedHashSet示例代码package collection.map.d1_set;import java.util.HashSet;import java.util.LinkedHashSet;import java.util.Set;public class SetDemo1 { public static void main(String[] args) { //set系类集合的特点:HashSet Li...

2022-04-14 20:09:51 461

原创 Java利用Set集合去重复

需求:创建一个存储学生对象的集合,存储多个学生对象,使用程序实现在控制台遍历该集合,要求:学生对象的成员变量值相同,我们就认为是同一个对象。分析:①定义学生类,创建HashSet集合对象, 创建学生对象②把学生添加到集合③在学生类中重写两个方法,hashCode()和equals(),自动生成即可④遍历集合(增强for)***重点:学会重写两个方法,hashCode()和equals()***代码实现:SetDemo2类(实现类)package collection

2022-04-14 19:58:55 2609

原创 Java中删除集合中的指定元素

引出问题当我们从集合中找出某个元素并删除的时候可能出现一种并发修改异常问题。哪些遍历存在问题?a.迭代器遍历集合且直接用集合删除元素的时候可能出现。b.增强for循环遍历集合且直接用集合删除元素的时候可能出现。哪种遍历且删除元素不出问题迭代器遍历集合但是用迭代器自己的删除方法操作可以解决。使用for循环遍历并删除元素不会存在这个问题。示例代码:package collection.app.d5_collection_list;import java.util.Ar

2022-04-14 19:45:50 5437 1

原创 Java中LinkedList集合

LinkedList集合很适合做栈和队列栈与队列示例代码:package collection.app.d5_collection_list;import java.util.LinkedList;/** LinkedList,很适合做栈和队列 */public class ListDemo3 { public static void main(String[] args) { //LinkedList可以完成队列结构和栈结构 ...

2022-04-14 19:40:56 228

空空如也

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

TA关注的人

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