自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

苍煜

把自己的经验分享给大家

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

原创 博客介绍

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

2018-08-04 11:40:29 232

原创 ES 大数据量按照日期分索引存储和查询

ES 通常被用来存放各种日志数据或其他大批量数据,然后做统计。对于请求量大的系统来说,日志或其他业务数据无比庞大,需要按日期来划分索引,便于做冷热数据的迁移管理。大批量的业务数据也要根据日期来区分,提高检索效率。假设,日志数据按每日来分索引存储,索引名字格式:system_log_20240408,system_log_20240409 等来切分。查询时,使用别名system_log 或者 用多个索引联合查询。

2024-04-09 16:22:02 520

原创 Elasticsearch-桶聚合查询详解

在之前我们详细面熟了es的查询用法,但是es还拥有强大的聚合查询功能,可以得到类似分组,直方图,折线图等数据组合。类似SQL的SUM、AVG、COUNT、GROUP BYElasticsearch-02-es的restapi使用ES聚合查询类似SQL的GROUP by,一般统计分析主要分为两个步骤:es中满足特定条件的文档的集合,叫做桶。桶的就是一组数据的集合,对数据分组后,得到一组组的数据,就是一个个的桶。ES中桶聚合,指的就是先对数据进行分组,ES支持多种分组条件,例如:支持类似SQL的group

2024-04-03 18:00:35 1100

原创 父子节点数据变为树结构工具类

当我们从数据库中查询出数据后,各数据中通过id,pid(父id)关联,我们需要将这些数据改为树型结构。这个工具类可以完全直接拿过去就用。

2024-03-28 09:39:55 150

原创 Nebula Graph-06-NebulaGraph Java 使用 和SpringBoot集成Nebula Graph

1:定义常量} }Getter;2:为了方便对结果的解析,再声明一个 NebulaResult 用来接收结果} }} }List;@Data。

2024-03-25 16:11:01 711

原创 Nebula Graph-05-NebulaGraph nGQL和SQL区别

DDL(Data Definition Language,数据定义语言): 用于定义数据的结构,比如 创建、修改或者删除数据库对象。DDL操作的对象是表对比项SQLnGQL创建图空间(数据库)列出图空间(数据库)使用图空间(数据库)删除图空间(数据库)修改图空间(数据库)创建 tags/edgesCREATE TAG创建表列出表列名列出 tags/edgesSHOW TAGS修改 tags/edgeALTER TAG修改表。

2024-03-22 19:00:18 930

原创 Nebula Graph-04-NebulaGraph nGQL的介绍和使用

nGQL是 NebulaGraph 使用的的声明式图查询语言,支持灵活高效的图模式,而且 nGQL 是为开发和运维人员设计的类 SQL 查询语言,易于学习。整体看下来,nGQL给我的感觉虽然是Nebula Graph 自己研发的语言,但是综合了mysql等关系数据库语言和java等高级编程语言整合而来的。内容太多,需要用心学习。NebulaGraph 独有 DQL 查询语句(Data Query Language)

2024-03-22 18:36:40 896

原创 Nebula Graph-03-NebulaGraph Studio-可视化web工具安装和使用

NebulaGraph Studio(简称 Studio)是一款可以通过 Web 访问的开源图数据库可视化工具,搭配 NebulaGraph 内核使用,提供构图、数据导入、编写 nGQL 查询等一站式服务。产品功能¶使用 Schema 管理功能,用户可以使用图形界面完成图空间、Tag(标签)、Edge Type(边类型)、索引的创建,查看图空间的统计数据,快速上手 NebulaGraph。使用导入功能,通过简单的配置,用户即能批量导入点和边数据,并能实时查看数据导入日志。

2024-03-21 19:11:01 714

原创 Nebula Graph-02-NebulaGraph高阶配置、用户管理、日志

现在我们来谈一下Nebula Graph 的各项配置。

2024-03-21 18:41:23 806

原创 Nebula Graph-01-Nebula Graph简介和安装以及客户端连接

NebulaGraph 是一款开源的、分布式的、易扩展的原生图数据库,能够承载包含数千亿个点和数万亿条边的超大规模数据集,并且提供毫秒级查询。NebulaGraph 的优势开源高性能易扩展易开发高可靠访问控制生态多样化兼容 openCypher 查询语言面向未来硬件,读写平衡灵活数据建模广受欢迎(我觉得就是因为开源-免费的)适用场景欺诈检测实时推荐知识图谱社交网络。

2024-03-19 23:33:45 1117

原创 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 1028

原创 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 1989 1

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

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

2023-12-08 18:28:04 1015

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

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

2023-12-08 15:19:46 1307

原创 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 678 1

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

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

2023-09-05 10:36:44 2466

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

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

2023-08-18 13:52:36 18466 1

原创 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 6113 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 7645 1

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

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

2022-10-14 18:54:45 5016

原创 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 7779 1

原创 Spring Cloud Gateway 网关整合 Knife4j

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

2022-09-02 21:28:48 1073 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 9092 2

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

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

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

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

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

2022-09-01 17:28:08 2618

原创 markdown使用教程

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

2022-08-30 16:06:51 207

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

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

2022-08-26 20:41:51 1367

原创 Gateway-01-gateway简介和Helloworld

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

2022-08-26 16:27:47 424

原创 swagger-优美的Knife4j文档

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

2022-08-26 11:29:51 447

原创 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 1069

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

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

2022-08-26 10:02:50 582

原创 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 2154

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

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

2022-08-25 21:22:45 306

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

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

2022-08-22 14:56:20 442

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

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

2022-08-22 14:24:28 1061

原创 Linux安装jdk的详细步骤

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

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

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

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

2022-08-17 18:57:57 216

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

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

2022-08-11 17:54:25 341

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

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

2022-08-06 14:33:23 275

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

记录一个比较蠢的问题。

2022-08-05 19:02:32 996

空空如也

空空如也

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

TA关注的人

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