自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

苍煜

把自己的经验分享给大家

  • 博客(245)
  • 收藏
  • 关注

原创 博客介绍

因为最近有好多新人向我询问java的知识,所以打算开始在博客上发表一些文章,从java基础的问题开始一点点深入首先说明,这不是一个学习java的方针或者指南,只是在java中一些比较典型的问题详解而已,如果当你看到这个的时候能解除你心里的一些疑惑,或者令你在学习java的路上更加顺利了一点点,那么他就有存在的意义我争取更新,从java基础的问题由简入难。后续我会增加更多的知识...

2018-08-04 11:40:29 220

原创 Elasticsearch中object类型与nested类型以及数组之间的区别

0、一般情况下用object 类型来查es中为json对象的字段数据,用nested来查es中为JsonArray数组类型的字段数据。1、默认情况下ES会把JSON对象直接映射为object类型,只有手动设置才会映射为nested类型2、object类型可以直接使用普通的逗号(.)查询,比如4、两种查询方式不兼容,如果大家想做改动的话,需要对java程序进行修改,风险比较大。5、存储方式不同。对象数组在后台是扁平化存储,嵌套对象数组是每个对象独立成文档存储。

2024-01-08 17:39:42 706

原创 word导入导出-Apache POI 和 Poi-tl

poi-tl是一个基于Apache POI的Java库,用于操作Microsoft Office文档,包括Word文档(.docx)、Excel电子表格(.xlsx)和PowerPoint演示文稿(.pptx)。它提供了一组简单易用的API,使开发人员能够轻松地创建、读取和修改Office文档。简单易用:poi-tl提供了一组简单易用的API,使开发人员能够快速上手并进行Office文档的操作。它提供了丰富的方法和属性,以满足不同的需求。

2023-12-22 18:29:57 1788 1

原创 EasyExcel-最简单的读写excel工具类

easyExcel 的官网文档给的示例非常全,可以参考。

2023-12-08 18:28:04 829

原创 从视频中截取指定帧图片

我们在很多时候需要对视频文件进行分析,或者对视频产生缩略图。因此视频截取技术必不可少。

2023-12-08 15:19:46 1216

原创 Elasticsearch-06-Elasticsearch Java API Client-Elasticsearch 8.0 的api

实体类@Data@ToString//创建文档final Produce produce = new Produce("123", "小明", 18);

2023-10-27 10:29:40 370

原创 selenium 动态爬取页面使用教程以及使用案例

Selenium是一款功能强大的自动化Web浏览器交互工具。它可以模拟真实用户在网页上的操作,例如点击、滚动、输入等等。Selenium可以爬取其他库难以爬取的网站,特别是那些需要登录或使用JavaScript的网站。Selenium可以自动地从Web页面中提取数据,例如价格、评论、评分等等。Selenium是一款非常实用的工具,可以帮助用户更好地利用Web技术,提高工作效率和数据质量。

2023-09-05 10:36:44 1814

原创 Java请求Http接口-hutool的HttpUtil(超详细-附带工具类)

HttpUtil是应对简单场景下Http请求的工具类封装,此工具封装了HttpRequest对象常用操作,可以保证在一个方法之内完成Http请求。此模块基于JDK的HttpUrlConnection封装完成,完整支持https、代理和文件上传。

2023-08-18 13:52:36 12576

原创 Java请求Http接口-OkHttp(超详细-附带工具类)

简介:OkHttp是一个默认有效的HTTP客户端,有效地执行HTTP可以加快您的负载并节省带宽,如果您的服务有多个IP地址,如果第一次连接失败,OkHttp将尝试备用地址。这对于IPv4 + IPv6和冗余数据中心中托管的服务是必需的。OkHttp启动具有现代TLS功能(SNI,ALPN)的新连接,并在握手失败时回退到TLS 1.0,OkHttp支持Android 2.3及更高版本。对于Java,最低要求是1.7。

2023-08-17 18:44:41 4228 1

原创 Jsoup使用教程以及使用案例

jsoup 是一款基于 Java 的HTML解析器,它提供了一套非常省力的API,不但能直接解析某个URL地址、HTML文本内容,而且还能通过类似于DOM、CSS或者jQuery的方法来操作数据,所以 jsoup 也可以被当做爬虫工具使用,从网站获取dom结构,从而解析下载数据。tagname: 通过标签查找元素,例如通过"a"来查找< a >标签。#id: 通过ID查找元素,比如通过#logo查找< p id=“logo”>

2023-03-30 16:07:22 5824 1

原创 springboot-用dynamic-datasource-spring-boot-starter配置druid多数据源

在application.yml中配置xml扫描的路径和对应的其他配置。在项目中访问两个数据库,分别打印出来两个数据库的数据信息。主要的包是:苞米豆的dynamic的多数据源配置包。在主程序中配置扫描Mapper接口类的位置。

2022-10-14 18:54:45 4220

原创 Java请求Http接口-httpClient (超详细-附带工具类)

HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。下载地址: http://hc.apache.org/downloads.cgi。

2022-09-07 17:12:50 6087 1

原创 Spring Cloud Gateway 网关整合 Knife4j

当我们使用Knife4j来对服务的接口文档进行管理时是非常美观和舒服的;但是当系统中的微服务越来越多的时候,我们需要访问十几个端口,这是非常痛苦的;有没有一种办法可以将所有微服务的接口文档在同一个可视化页面进行展示,这样我们就可以统一管理了;为此我们可以通过SpringCloudGateway网关+注册中心nacos+Knige4j对所有微服务的接口文档进行统一管理。

2022-09-02 21:28:48 950 1

原创 SpringBoot、SpringCloud、SpringCloudAlibab对应版本选择

为了避免SpringCloud版本号与子项目版本号混淆,SpringCloud版本采用了名称而非版本号的命名,这些版本的名字采用了伦敦地铁站的名字,根据字母表的顺序来对应版本时间顺序。我们已经选择好了springcloud和boot的版本,如果我们要加入springcloudalibab框架,也要重新考虑alibab框架的版本号,不过好在alibaba是阿里开源的,api也是中文的,非常容易看懂。有的朋友就说了,boot最新版本是2.7.3,cloud最新版本是2021.0.3,那是不是就这样选就可以了,

2022-09-01 20:57:12 7957 2

原创 最详细说明spring cloud和Spring Cloud Alibaba的联系和区别

我们通过对springboot的使用,就知道,spring从来不是重复造轮子,而是对现有技术的封装和维护,举个简单例子,比如最早spring只提供了IOC和AOP的核心功能,而像ORM框架、缓存、MVC框架,spring只是提供了一种兼容以及支持,所以当时大家说spring是万能胶,可以把各种各样的框架整合进来。同理,springcloud也不是自己开发组件,他也不是一个框架,因为Spring Cloud的核心并没有实现服务注册、熔断、配置中心等功能,它提供了一个标准规范。

2022-09-01 19:45:20 17611 3

原创 系统架构演变历史及集群、分布式、微服务、SOA的概念区别

​分布式,顾名思义就是将服务拆分成不同的部署单元并部署在不同的机器上,一个服务可能负责几个功能,且各分开部署的部分彼此通过各种通讯协议交互信息。通过分布式架构,可以解决前面介绍单体架构提到的 项目不断变庞大时产生的各种不利于系统长期稳定发展的问题,包括代码质量、开发效率、系统可靠性和扩展性等,但是分布式在解决单体架构中的问题的同时,也引进了其他问题,比如:(1)系统间耦合度变高,调用关系错综复杂,难以维护。...

2022-09-01 17:28:08 2424

原创 markdown使用教程

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

2022-08-30 16:06:51 196

原创 Gateway-02-gateway路由规则和过滤器

过滤器 有 20 多个 实现 类, 包括 头部 过滤器、 路径 类 过滤器、 Hystrix 过滤器 和 变更 请求 URL 的过滤器, 还有 参数 和 状态 码 等 其他 类型 的 过滤器。内置的过滤器工厂有22个实现类,包括 头部过滤器、路径过滤器、Hystrix 过滤器 、请求URL 变更过滤器,还有参数和状态码等其他类型的过滤器。...

2022-08-26 20:41:51 1307

原创 Gateway-01-gateway简介和Helloworld

网关的角色是作为一个 API 架构,用来保护、增强和控制对于 API 服务的访问。API 网关是一个处于应用程序或服务(提供 REST API 接口服务)之前的系统,用来管理授权、访问控制和流量限制等,这样 REST API 接口服务就被 API 网关保护起来,对所有的调用者透明。因此,隐藏在API 网关后面的业务系统就可以专注于创建和管理服务,而不用去处理这些策略性的基础设施。在微服务架构里,服务的粒度被进一步细分,各个业务服务可以被独立的设计、开发、测试、部署和管理。......

2022-08-26 16:27:47 403

原创 swagger-优美的Knife4j文档

一般在使用 Spring Boot 开发前后端分离项目的时候,都会用到 Swagger。Swagger 是一个规范和完整的框架,用于生成、描述、调试和可视化 RESTful 风格的 Web API 服务框架。但随着系统功能的不断增加,接口数量的爆炸式增长,Swagger 的使用体验就会变得越来越差,比如请求参数为 JSON 的时候没办法格式化,返回结果没办法折叠,还有就是没有提供搜索功能。刚好最近发现 Knife4j 弥补了这些不足,赋予了 Swagger 更强的生命力,于是就来给大家安利一波。...

2022-08-26 11:29:51 399

原创 idea如何开启Run Dashboard

在配置spring boot项目时,发现2018版本的idea项目启动中,会弹出一个窗口Run Dashboard, 每次都要点击一下,才能正常使用,那么如何设置Run Dashboard自动使用呢?需要点击下图中的第一选项。IDEA在2019版本做了很大的改动, 不再是Run Dashboard窗口, 取而代之的是Services窗口. 找到.idea下面的 workspace.xml 文件, 加入一段配置代码.找到.idea下面的 workspace.xml 文件, 在下面的代码中加入一段配置代码...

2022-08-26 10:18:31 912

原创 Nacos-02-Nacos的配置中心和服务发现

大的分布式微服务项目会根据业务,把项目拆分成多个业务模块项目,然后互相调用;如何互相调用呢?这里我们每个项目模块都需要去nacos服务注册中心注册下,登记下每个项目自身的地址和端口,然后其他的项目模块就可以通过Nacos找到需要调用的其他模块项目的地址了;这样就可以实现服务的发现和调用;............

2022-08-26 10:02:50 522

原创 nacos问题:com.netflix.client.ClientException: Load balancer does not have available server for client:

服务A调用服务B时发生如下报错:com.netflix.client.ClientException: Load balancer does not have available server for client: nacos-provider服务被调用者:服务调用者:看了很多博客,也检查了很多配置,最后发现是nacos注册的名称规范有问题,在Nacos注册的服务名和配置文件的命名使用下划线“ _ ”,服务注册的时候使用“ _ ”可以注册,但被调用就不行了。重新命名为nacos-provide

2022-08-26 09:24:00 2046

原创 Nacos-01-Nacos的简介和安装

Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

2022-08-25 21:22:45 282

原创 linux查找目录下有多少文件

type:只寻找符合指定的文件类型的文件;-l : 统计行数,或——lines:只显示列数;wc:统计文件的字节数、字数、行数。find:在指定目录下查找文件。

2022-08-22 14:56:20 410

原创 Nginx-03- Nginx+Keepalived高可用集群和基本原理

在浏览器访问虚拟IP192.168.66.99时即可访问到主Nginx服务器中的服务,即使主Nginx服务器挂了,也会自动连接到从Nginx服务器上,从而保证了Nginx的高可用,当主Nginx恢复正常时,会再次自动连接到主Nginx服务器上继续服务。我们知道使用nginx的反向代理和负载均衡可以解决tomcat服务器的单点故障问题,如,其中一台tomcat服务挂掉之后,nginx可以把全部的请求分配到其他服务器上,这样保证了高可用;当然,这里说的是最大连接数,对于。数相等是最为适宜的。

2022-08-22 14:24:28 968

原创 Linux安装jdk的详细步骤

linux的使用过程中,总是要使用jdk的,有的linux系统自带的openjdk,总是不太好用;本文以centos7为例,安装jdk1.8版本。

2022-08-17 19:15:05 70491 9

原创 Nginx-02-反向代理、负载均衡、动静分离

注:浏览器在访问地址时,会先去本地的hosts文件中查找,如果找不到就去网络上的dns域名解析器查找。不建议使用 Expires 来缓存),我这里设置 3d,表示在这 3 天之内访问这个 URL,发送。浏览器缓存过期时间,减少与服务器之前的请求和流量。一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案;源设定一个过期时间,也就是说无需去服务端验证,直接通过浏览器自身确认是否过期即可,一个请求,比对服务器该文件最后更新时间没有变化,则不会从服务器抓取,返回状态码。...

2022-08-17 18:57:57 174

原创 Nginx-01-Nginx简介和安装

Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。.........

2022-08-11 17:54:25 202

原创 SpringSecurity-02-基于前后端分离和JWT载体的认证授权

进入移动互联网时代,大家每天都在刷手机,常用的软件有微信、支付宝、头条等,下边拿微信来举例子说明认证相关的基本概念,在初次使用微信前需要注册成为微信用户,然后输入账号和密码即可登录微信,输入账号和密码登录微信的过程就是认证。系统为什么要认证?认证是为了保护系统的隐私数据与资源,用户的身份合法方可访问该系统的资源。认证:用户认证就是判断一个用户的身份是否合法的过程,用户去访问系统资源时系统要求验证用户的身份信息,身份合法方可继续访问,不合法则拒绝访问。......

2022-08-06 14:33:23 257

原创 Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception

记录一个比较蠢的问题。

2022-08-05 19:02:32 785

原创 com.alibaba.fastjson.JSONException: default constructor not found. class

问题截图如下:思路:在reids中存入了一个对象,但是取出来的时候报错了。

2022-08-05 18:26:07 2715

原创 SpringSecurity-01-security简介和快速入门

ApacheShiro是一个强大且易用的Java安全框架。可以实现身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API。您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。Authentication认证验证是哪个用户登录Authorization授权决定当前登录用户是否有权限去访问受保护的资源通过加密算法保护数据安全。当用户使用你的应用是自身携带的数据。虽然Shiro是设计用来确保任何基于JVM的应用,但是很多时候是用来保护Web应用。......

2022-07-25 10:51:22 209

原创 Java定时任务-02-Quartz

Quartz是一个定时任务框架Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,完全由Java开发,可以用来执行定时任务,类似于java.util.Timer。但是相较于Timer, Quartz增加了很多功能:持久性作业 - 就是保持调度定时的状态;作业管理 - 对调度作业进行有效的管理拿火车票购票来说,当你下单后,后台就会插入一条待支付的task(job),一般是30分钟,超过30min后就会执行这个job,去判断你是否支付,未支付就会取消此次订单;当你支

2022-07-06 18:47:31 761

原创 消息中间件-ACTIVEMQ-9:ActiveMQ的Zookeeper和Replicated LevelDB集群

1:从ActiveMQ5.9以后可复制的LevelDB可能成为主流趋势2:集群原理3:集群配置

2022-07-04 11:49:35 133

原创 Jaca定时任务-01-进程级别的Timer,ScheduledExecutorService,springtask

1:定时任务实现的几种方式-进程级别的:2:定时任务实现的几种方式-支持分布式的:2:使用ScheduledExecutorService开多线程执行使用多线程执行任务,不会相互阻塞如果线程失活,会创建新的线程执行任务,抛异常,丢弃异常任务3:使用Spring Task-Spring 3.0以后自带的task 调度工具1:注解使用1:任务执行类2:线程池配置类3:参数说明2:xml配置使用1:任务执行类2:在xml中声明bean3:xml配置线程池4:参数说明1

2022-07-04 11:24:20 466

原创 linux常用操作命令中带/和不带的区别

我在工作的时候总是疑惑执行命令是带/和不带的区别在文件中有这几个文件,我现在要删除dist文件夹结果:只是删除了dist这个文件夹结果:只是删除了dist这个文件夹结果:删除dist文件下的所有文件,但是dist文件夹并未删除被修改的文件:最新更新的文件:结果:将文件进行了替换结果:将文件进行了替换结果:文件进行了替换源:目标:结果:讲source整个文件夹复制到了text下结果:讲source文件下的内容文件覆盖到text目录下结果:把test1文件夹移动到test3了

2022-07-01 14:59:44 2506

原创 解决Elasticsearch查询默认最大值返回10000

es官方默认限制索引查询最多只能查询10000条数据,查询第10001条数据开始就会报错:即使你只是分页查询置查10条在查询时候把 track_total_hits 设置为 true。track_total_hits 设置为false禁用跟踪匹配查询的总点击次数设置为true就会返回真实的命中条数。.........

2022-06-30 18:12:39 2405 1

原创 Elasticsearch-05-Elasticsearch-sql组件史上最全详解

这篇文章集合了市面上elasticsearch-sql和es官方出的x-pack两种形式的sql从sql组件的安装到利用工具查询sql,以及利用java代码封装工具类访问

2022-06-30 17:39:58 685

原创 Elasticsearch-04-Elasticsearch组件head和kibana详解

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。 -----百度百科而ElasticSearch-head就是一款能连接ElasticSearch搜索引擎,并提供可视化的操作页面对ElasticSearch搜索引擎进行各种设置和数据检索功能的管理插件,如在head插件页面编写R

2022-06-28 19:42:15 3111

空空如也

空空如也

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

TA关注的人

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