Java[精选]一篇精通系列【头脑风暴】
文章平均质量分 89
编程知识一篇文章即可精通,精简的知识点
程序员猫爪
以问题解决为导向,深入学习技术,而不仅仅停留在表面应用的层面。探索技术背后的原理和机制,理解其优势和局限性,以及如何有效地利用该技术解决特定的问题。
展开
-
Java通过HttpClients发起GET、POST、PUT、DELETE、文件上传,文件下载,工具类HttpClientUtil
Java发起,GET 请求,POST提交表单,POST提交JSON,POST请求,post获取图片,form表单提交文件,通过url下载文件,获取响应, 设置基础配置,设置请求头,设置GET参数,设置POST参数,返回数据到前端,设置header原创 2023-12-27 10:44:17 · 1083 阅读 · 0 评论 -
SpringBoot当中的Singleton和Prototype详解
对于注入的类,如果它们被配置为Singleton作用域(这是默认的作用域),那么无论你如何多次调用该类的方法,Spring容器只会创建一个实例,并在所有需要的地方共享这个单例实例。例如,如果你在一个配置类的方法上使用@Scope(“request”),那么每当一个新的HTTP请求到达时,Spring会为这个方法创建一个新的代理对象,并在这个请求的范围内共享这个对象。对于局部变量(在方法内部定义的变量),它们只在该方法的上下文中存在,修改局部变量的值不会影响到其他方法或实例中的变量。原创 2023-12-27 10:40:32 · 1768 阅读 · 0 评论 -
Unirest-Java:Java发起GET、POST、PUT、DELETE、文件上传,文件下载工具类介绍
Unirest-Java是一个轻量级的HTTP客户端库,用于在Java应用程序中发送HTTP请求。它提供了简单易用的API,可以方便地处理GET、POST、PUT、DELETE等HTTP方法。Unirest-Java支持异步和同步请求,可以轻松地与JSON、XML等数据格式进行交互。此外,它还支持文件上传和下载、Cookie管理等功能。总之,Unirest-Java是一个功能强大且易于使用的HTTP客户端库,适用于各种Java应用程序。原创 2023-12-05 08:57:42 · 989 阅读 · 0 评论 -
Java之SpringCloud Alibaba【九】【Spring Cloud微服务Skywalking】
skywalking是一个国产开源框架, 2015年由吴晟开源,2017年加入Apache孵化器。skywalking是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、 K8s、 Mesos) 架构而设计。它是一款优秀的APM (Application Performance Management)工具,包括了分布式追踪、性能.指标分析、应用和服务依赖分析等。原创 2023-11-14 18:58:18 · 975 阅读 · 0 评论 -
Java之SpringCloud Alibaba【八】【Spring Cloud微服务Gateway整合sentinel限流】
网关作为内部系统外的一层屏障,对内起到-定的保护作用,限流便是其中之- - .网关层的限流可以简单地针对不同路由进行限流,也可针对业务的接口进行限流,或者根据接口的特征分组限流。为了保证Gateway的高可用性,可以同时启动多个Gateway实例进行负载,在Gateway的.上游使用Nginx或者F5进行负载转发以达到高可用。下载:sentinel-dashboard-1.8.0.jar。原创 2023-11-07 11:58:54 · 912 阅读 · 0 评论 -
Java之SpringCloud Alibaba【七】【Spring Cloud微服务网关Gateway组件】
大家都都知道在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去用。每个业务都会需要鉴权、限流、权限校验、跨域等逻辑,如果每个业务都各自为战。自己造轮子实现一遍,会很蛋疼,完全可以抽出来,放到一个统一的地方去做。原创 2023-11-01 08:58:41 · 2324 阅读 · 1 评论 -
Java之SpringCloud Alibaba【六】【Alibaba微服务分布式事务组件—Seata】
事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中,一个事务由一组SQL语句组成。原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。原子性(atomicity)∶个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。一致性(consistency)∶事务必须是使数据库从一个一致性状态变到另一个一致性状态,事务的中间状态不能被观察到的。隔离性((isolation):一个事务的执行不能被其他事务干扰。原创 2023-09-26 17:06:16 · 1343 阅读 · 0 评论 -
Java之SpringCloud Alibaba【五】【微服务 Sentinel整合openfeign进行降级】
对于push模式的数据源,如远程配置中心(Zookeeper Nocos,Apole等等),推送的操作不应由Sentinel客户端进行,而应该经控制台统一进行管理,直接进行推送,数据源仅负责获取配置中心推送的配置并更新到本地。pll模式的数据源(如本地文件、RDBMS等)一般是可写入的。使用时需要在客户端注册数据源:将对应的读数据源注册至对应的 RuleManager,将写数据源注册至tansport的。热点参数限流会统计传入参数中的热点参数,并根据配置的限流阈值与模式,对包含热点参数的资源调用进行限流。原创 2023-08-29 09:50:44 · 1107 阅读 · 0 评论 -
Java之SpringCloud Alibaba【四】【微服务 Sentinel服务熔断】
如果其中的下单服务不可用,就会出现线程池里所有线程都因等待响应而被阻塞,从而造成整个服务链路不可用,进而导致整个系统的服务雪崩.如图所示;服务雪崩效应:因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程,就叫服务雪崩效应导致服务不可用的原因:稳定性、恢复性Reliability && Resilience常见的容错机制:隔离前:b)信号隔离信号隔离也可以甲于限制并发访问,防止阻塞扩散、与线租隔离最大不同在于执行依赖代码的线程依然是请求线程(该线程需要通过信号申请,如果客户端原创 2023-08-16 11:18:55 · 1562 阅读 · 1 评论 -
Java之SpringCloud Alibaba【三】【微服务Nacos-config配置中心】
在没有明确指定配置的情况下,默认使用的是。读取不到对应的信息克隆并设置Group又可以继续读取到对应的配置信息Spring Cloud Alibaba Nacos Config从 0.2.1版本后,可支持自定义Data ld的配置。关于这部分详细的设计可参考这里。#group:默认是Default-group - data-id : com.itblueboxmall.common2.properties refresh : true。原创 2023-07-12 09:04:21 · 2552 阅读 · 0 评论 -
Java之SpringCloud Alibaba【二】【微服务调用组件Feign】
SpringCloud Alibaba是一个用于构建微服务的开源框架,其中Feign组件是用于服务间调用和负载均衡的工具。在SpringCloud Alibaba中使用Feign需要先定义接口,然后使用FeignClient注解将接口映射为远程服务调用。Feign支持负载均衡和容错处理,可以方便地集成到SpringCloud Alibaba的微服务架构中。原创 2023-07-03 09:25:28 · 2075 阅读 · 1 评论 -
Java之SpringCloud Alibaba【一】【Nacos一篇文章精通系列】
随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。从互联网早起到现在,系统架构大体经历了下面几个过程:单体应用架构—>垂直应用架构—>分布式架构—>SOA架构—>微服务架构,当然还有悄然兴起的Service Mesh(服务网格化)。接下来我们就来了解一下每种系统架构是什么样子的,以及各有什么优缺点。Sping Cou Aliaba致力于提供微服务开发的一站式解决方案。原创 2023-06-25 09:04:10 · 1532 阅读 · 1 评论 -
Vue3做出B站【bilibili】 Vue3+TypeScript+ant-design-vue【快速入门一篇文章精通系列(一)前端项目案例】
在前端方面我们使用的技术栈包括TypeScriptVue3ant Design Vueaxiosechartshighchartsmockjspiniavue-router将生成的js文件都修改为ts文件执行成功安装TypeScript安装完成后,在控制台运行如下命令,检查安装是否成功(3.x):设置自动编译3、配置项目1)安装依赖作为前端项目我们使用一些场景的依赖这里我们只需要将以下依赖复制到package.json,重新运行将package-loc原创 2023-03-08 09:53:26 · 5799 阅读 · 1 评论 -
Linux 更加优雅地运行 JAR 文件,并将日志文件输出到本地目录,并优雅的查看日志文件信息
这将在一个新的 screen 会话中运行进程,您可以在这个会话中随时查看或关闭它,而不会中断进程。要查看会话,请输入 screen -r yoursessionname,要关闭会话,请输入 exit。使用以上方法可以更加优雅地运行 JAR 文件,同时可以确保程序在后台运行,并且在 SSH 连接断开时也不会中断程序的运行。使用 nohup 命令将进程放入后台运行,并使用 & 符号使命令立即返回终端提示符,例。缺省日志输出目标文件情况下所有输出将被重定向到nohup.out的文件中。原创 2023-02-16 09:48:45 · 4769 阅读 · 2 评论 -
Java当中使用 Selenium 使其 ChromeDriver 控制谷歌浏览器向下不断的滑动到最低部
在 Selenium 中,可以使用 JavaScript 脚本 执行滚动操作。然后调用 executeScript 方法执行 JavaScript 代码。上面的代码将浏览器滚动到页面的最低部。请注意,这只适用于 ChromeDriver,如果您正在使用其他 WebDriver,则可能需要使用不同的代码。先设置写循环不断的改变窗体距离顶部的距离。原创 2023-02-14 09:22:20 · 1702 阅读 · 0 评论 -
Java爬虫Selenium+Java+ChromeDriver【抓取百度信息】
是一个模拟浏览器操作的工具,背后有google 维护源代码,支持全部主流浏览器,支持主流的编程语言,包括:java,Python,C#,PHP,Ruby,等,在本项目上使用的Java语言。使用selenium是需要浏览器的配合, chromeDriver,是谷歌浏览器的一个驱动, selenium借助chromeDriver,实现模拟对浏览器的各种操作。[在这里插入图片描述](https://img-blog.csdnimg.cn/70d79369。内容主要包含内容名称和url。解压以后找个位置放一下。原创 2023-02-11 07:39:07 · 5367 阅读 · 3 评论 -
Java爬虫【一篇文章精通系列-案例开发-巨细】HttpClient5 + jsoup + WebMagic + spider-flow【万字长文一篇文章学会】
网络爬虫 ( web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,在java的世界里,我们经常用HttpClient ,jsoup ,WebMagic 这几种技术来实现爬虫。原创 2022-11-28 10:53:49 · 1014 阅读 · 1 评论 -
ElasticSearch8.x.x 【一篇文章精通系列】【ES的基本操作,ES安装,ES head + Kibana】
一、ElasticSearch的安装,1、解压安装ES,2、熟悉目录,3、启动ES,4、安装可视化界面(elasticsearch head)5、了解ELK,6、安装Kibana,(1)下载解压Kibana,(2)启动Kibana,(3)访问:[http://localhost:5601](http://localhost:5601),(4)Kibana开发工具(5)汉化`Kibana`,设置在`config`下的`kibana.yml`二、ElasticSearch的核心概念,1、基本概念,2、物理原创 2022-11-06 15:10:24 · 2439 阅读 · 3 评论 -
JavaScript 之 Vue3 入门到精通+网络商城案例(一篇文章精通系列)【WebStorm版】
JavaScript 之 Vue3 入门到精通(一篇文章精通系列)【WebStorm版】一、Vite创建Vue3 项目二、Vue3基本语法1、定义全局变量,2、定义函数,3、定义响应式ref,4、响应式reactive,5、Vue3事件对象与传递参数,6、Vue3计算属性,6.1引入`computed`将计算的结果进行缓存,防止多次调用损失性能6.2 设置值和修改值,7、Vue3监听数据变化,7.1、单个数据监听,7.2、多个数据监听,8、Vue3常见指令与样式,8.1、class,8.2、id,8原创 2022-08-24 10:10:19 · 995 阅读 · 1 评论 -
Java之Gradle【IDEA版】入门到精通(下)(一篇文章精通系列)【创建 Springboot 项目+基于 ssm 多模块项目案例+微服务实战】
1、创建 SpringBoot 项目1.1、引入springboot 插件1.2、引入所需要的依赖1.3、将当前服务打包成jar1.4、使用脚手架方式创建SpringBoot 项目2、拓展spring-boot-gradle-plugin 插件3、基于SSM多模块项目案例3.1 多项目模块划分3.2 项目搭建前配置分析3.3 代码演示4、微服务实战4.1 创建数据库以及表4.2 搭建项目架构4.3 项目搭建4.5 项目运行.........原创 2022-07-25 15:39:52 · 2662 阅读 · 1 评论 -
Java之Gradle【IDEA版】入门到精通(上)(一篇文章精通系列)【安装+基本使用+项目创建+项目部署+文件操作+依赖管理+插件使用】
1、Gradle 入门,1.1、Gradle 简介,1.2、Gradle 安装,1.2.1 下载解压,1.2.2 配置环境变量,1.2.3 在cmd当中输入命令,1.3、Gradle 项目目录结构,1.4、Gradle 创建第一个项目1.4.1 通过脚手架创建项目,1.4.2 通过Gradle命令创建项目,1.5 Gradle 中的常用指令1.6 修改maven 下载源1.7 Wrapper 包装器2、Idea当中使用Gradle(普通java 工程)2.1、在 idea 中创建普通java 工程原创 2022-07-24 17:20:06 · 899 阅读 · 1 评论 -
Java之SpringBoot集成redis实现消息队列
Redis实现消息队列,Java之SpringBoot集成redis实现消息队列一、设置好Redis的配置文件(application.yml)二、消息接收者实体类(RedisMessage )三、消息队列 订阅者(RedisSubConfig)四、发送消息(消息生产者)......原创 2022-07-21 17:18:47 · 1298 阅读 · 0 评论 -
Java 之SpringBoot+SpringSecurity+Vue实现后台管理系统的开发【三、系统权限】
Java 之SpringBoot+Vue实现后台管理系统的开发【三、系统权限】因为上面我在获取用户权限那里添加了个缓存,这时候问题来了,就是权限缓存的实时更新问题,比如当后台更新某个管理员的权限角色信息的时候如果权限缓存信息没有实时更新,就会出现操作无效的问题,那么我们现在点定义几个方法,用于清除某个用户或角色或者某个菜单的权限的方法:添加断点登录以后发送请求第一次访问:Redis当中的权限信息为空第二次访问:Redis对应的权限信息不为空完善权限其他方法完善,设置清楚用户的权限原创 2022-07-08 09:32:34 · 2160 阅读 · 2 评论 -
Java 之SpringBoot+SpringSecurity+Vue实现后台管理系统的开发【二、后端】
从零开始搭建一个项目骨架,最好选择合适熟悉的技术,并且在未来易拓展,适合微服务化体系等。所以一般以Springboot作为我们的框架基础,这是离不开的了。然后数据层,我们常用的是Mybatis,易上手,方便维护。但是单表操作比较困难,特别是添加字段或减少字段的时候,比较繁琐,所以这里我推荐使用Mybatis Plus(https://mp.baomidou.com/),为简化开发而生,只需简单配置,即可快速进行CRUD操作,从而节省大量时间。SpringSecurity,使用security作为我们的权限控原创 2022-06-26 17:25:22 · 3603 阅读 · 5 评论 -
Java之词义相似度计算(语义识别、词语情感趋势、词林相似度、拼音相似度、概念相似度、字面相似度)
1、词语相似度计算2、 短语相似度值3、 词形词序句子相似度值、优化的编辑距离句子相似度值、标准编辑距离句子相似度值、gregeor编辑距离句子相似度值4、词语情感趋势值5、词林相似度值、拼音相似度值、概念相似度值、字面相似度值...原创 2022-06-24 21:51:02 · 3657 阅读 · 6 评论 -
Java 之 Spring Boot 发送邮箱(解决依赖找不到异常)
Could not autowire. No beans of 'JavaMailSender' type found.解决javax.mail.internet.MimeMessage 解决Java 之 Spring Boot 发送邮箱(解决依赖找不到异常)原创 2022-05-28 19:35:32 · 2363 阅读 · 1 评论 -
Java 之SpringBoot+SpringSecurity+Vue实现后台管理系统的开发【一、前端】
一、前端项目搭建1、项目初始化安装 vue可视化npm install --g vue-cli打开vue的的可视化管理工具页面vue ui访问该地址:访问成功使用Hbuilder打开项目2、实现相关依赖的安装安装 element-uiyarn add element-ui安装成功引入element-uiimport Vue from 'vue'import App from './App.vue'import router from './r原创 2022-05-24 08:55:17 · 7122 阅读 · 7 评论 -
Java之Dubbo入门到精通【IDEA版】软件安装和项目搭建【一】(一篇文章精通系列)
Java之Dubbo入门到精通【IDEA版】软件安装和项目搭建【一】(一篇文章精通系列)原创 2022-04-08 08:41:21 · 2497 阅读 · 1 评论 -
Java之【SpringBoot+tk.Mybatis】(5分钟搭建WEB工程-手把手)
Java之SpringBoot 【SpringBoot+tkMybatis】(五分钟搭建WEB工程-手把手)原创 2022-04-06 21:55:52 · 1960 阅读 · 1 评论 -
Java之SpringMVC(5分钟搭建Web工程)
Java之SpringMVC(5分钟搭建Web工程)原创 2022-04-01 09:51:41 · 1262 阅读 · 0 评论 -
Java之Spring Boot+Vue+Element UI前后端分离项目(下-功能完善-发布文章-文章搜索) 【博客论坛项目高仿CSDN】(一篇文章精通系列)
Java之Spring Boot+Vue+Element UI前后端分离项目(下-功能完善-发布文章-文章搜索) 【博客论坛项目高仿CSDN】(一篇文章精通系列)、一、实现文章发布需要使用富文本编辑框安装富文本编辑框1、npm安装npm install vue-quill-editor //富文本编辑器npm install quill //依赖项2、创建Write.vue<template> <div style="width:原创 2022-03-27 21:53:06 · 1554 阅读 · 1 评论 -
Vue-cli webpack 设置Axios发起请求统一前缀的路径(设置统一请求地址)(发起GET请求,发起POST请求,发起PUT请求,发起DELETE请求)
1、安装Axios先安装!npm install axios然后!npm install --save axios vue-axios2、创建在src下载创建http.jsaxios.defaults.baseURL为统一请求地址的前缀import Vue from 'vue'import axios from 'axios'axios.defaults.baseURL = "http://localhost:9090/"; // 设置axios的基础请求路径axios.defa原创 2022-03-05 22:35:25 · 1807 阅读 · 1 评论 -
Java之Spring Boot+Vue+Element UI前后端分离项目(中-功能完善-实现查询) 【博客论坛项目高仿CSDN】(一篇文章精通系列)
一 、实现查询博客功能1、完善后端代码实现查询博客信息并实现分页查询(1)创建BlogService和BlogServiceImplBlogServicepackage cn.itbluebox.springbootcsdn.service;public interface BlogService {}BlogServiceImplpackage cn.itbluebox.springbootcsdn.service.Impl;import cn.itbluebox.sp原创 2022-03-05 22:11:36 · 1610 阅读 · 3 评论 -
Java 之 Spring Boot + Vue + Element UI 前后端分离项目(上-项目搭建) 【博客论坛项目高仿CSDN】(一篇文章精通系列)
一、项目简介二、后端SpringBoot项目搭建1、项目搭建(1)创建工程(2)引入依赖(3)创建其他项目文件以及配置文件1)启动类2)配置文件3)webapp4)创建完整的目录结构2、编写数据库对应的实体类(1)Blog(2)BlogArticle(2)BlogHeader(3)BlogType(4)Consumer3、编写枚举类ExceptionEnum4、编写异常处理类BlException5、编写过滤器设置全局配置6、编写实体类对应的mapper接口7、编写对原创 2022-02-16 11:52:37 · 585 阅读 · 0 评论 -
Java之 Spring Cloud 微服务的开源配置中心Apollo(第四个阶段)【三】【SpringBoot项目实现商品服务器端调用】
一、Apollo(阿波罗)概述二、Apollo的实现方式三、搭建Apollo服务端1、环境要求2、 环境搭建(1)下载Apollo(2)配置数据库(3)配置数据库连接(4)启动(5)测试四、客户端集成1、创建工程并引入依赖2、创建模块3、模块当中引入依赖4、完善其他功能模块5、Spring Boot集成(1)设置application.yml(2)重新启动运行测试(3)新增配置原创 2021-12-17 17:41:56 · 1304 阅读 · 0 评论 -
Java之 Spring Cloud 微服务的 SpringCloud Config 配置中心(第四个阶段)【二】【SpringBoot项目实现商品服务器端调用】
一、 什么是配置中心1、 配置中心概述,2、 常见配置中心,3、Spring Cloud Config简介二、 Spring Cloud Config入门1、 准备工作,(1)项目准备,1)修改product_service(1)修改application.yml,(2)ProductController,(3)运行测试,(2)浏览器打开gitee.com,1)注册用户 ,注册后登陆码云管理控制台,2)创建仓库,3)抽取配置文件,4)将上述配置文件上传到gitee2、 搭建服务端程序(1)创建原创 2021-12-16 19:47:51 · 699 阅读 · 0 评论 -
Java之 Spring Cloud 微服务的 Spring Cloud Stream(第四个阶段)【一】【SpringBoot项目实现商品服务器端调用】
一、概述,1、核心概念,二、入门案例,1、 准备工作,2、工程搭建,(1)创建工程并引入坐标(2)引入依赖,3、消息生产者,1)设置 stream_producer当中设置配置文件,(2)stream_producer当中编写启动类(3)运行测试,4、 消息消费者,(1)设置消费者配置文件,stream_consumer(2)编写测试类,5、 对上述的代码进行优化,(1)消息生产者代码优化,(2)消息消费者代码优化(3)启动测试,三、自定义消息通道,1、设置消息的生产者,(1)创建MyProcess原创 2021-12-14 19:36:33 · 504 阅读 · 0 评论 -
Java之 Spring Cloud 微服务的链路追踪 Sleuth 和 Zipkin(第三个阶段)【三】【SpringBoot项目实现商品服务器端是调用】
一、微服务的链路追踪概述1、 微服务架构下的问题2、 Sleuth概述(1)简介(2) 相关概念3、 链路追踪Sleuth入门(1)完善之前的项目(2)配置依赖(3)修改配置文件二、 Zipkin1、 Zipkin的概述2、 Zipkin Server的部署和配置(1)Zipkin Server下载与启动三、 客户端Zipkin+Sleuth整合1、客户端添加依赖2、修改客户端配置文件3、重新启动运行测试四、 Zipkin服务端数据保存到mysql1、准备MYSQL数据库原创 2021-12-10 18:02:42 · 1531 阅读 · 0 评论 -
Java之 Spring Cloud 微服务搭建网关SpringCloud Gateway微服务网关GateWay(第三个阶段)【二】【SpringBoot项目实现商品服务器端是调用】
一、微服务网关GateWay1、 Gateway简介二、入门案例1、入门案例三、路由规则1、动态路由(面向服务的路由)2、 过滤器1) 过滤器基础2) 局部过滤器3) 全局过滤器01)全局过滤器代码实现02)运行测试4)统一鉴权01)鉴权逻辑02)代码实现3、网关限流(1) 常见的限流算法(2)基于Filter的限流01)基于请求IP的 127.0.0.102) 基于请求参数的限流(规定访问路径的参数)(3) 基于Sentinel的限流5)自定义API限流分组四、原创 2021-12-08 16:26:21 · 379 阅读 · 0 评论 -
Java之 Spring Cloud 微服务搭建Sentinel (第二个阶段)【三】【SpringBoot项目实现商品服务器端是调用】
Java之 Spring Cloud 微服务搭建Sentinel (第二个阶段)【三】【SpringBoot项目实现商品服务器端是调用】一、服务熔断Hystrix的替换方案1、替换方案介绍2、 Sentinel概述(1) Sentinel简介(2) Sentinel与Hystrix的区别(3) 迁移方案(4) 名词解释3、Sentinel中的管理控制台(1)下载启动控制台1)获取 Sentinel 控制台2)启动4 、基于Sentinel的服务保护(1)客户端能接入控制台(将所有的服务交给控制台管理)1)创原创 2021-11-29 15:13:25 · 430 阅读 · 0 评论