java学习
文章平均质量分 65
Peihj2021
趁年轻,多学点
展开
-
响应码为200,但是前端界面弹出BUG-----UnsupportedClassVersionError
今天刷新界面的时候弹出来一组异常,看报错情况,属于JDK版本不一致导致的。打开F12,观察接口全部都是正20X属于正常。随后咨询大佬。原创 2022-11-17 15:02:03 · 916 阅读 · 1 评论 -
Keycloak快速入门及Springboot整合
Realm字面意思是领域,指的是在某一个软件业务领域中所涉及的用户认证授权管理相关的对象,在这个realm下有用户、角色、会话(session)等等用于认证授权管理的对象。假设我们有两个web服务器,我们需要使用keycloak来对我们的资源进行保护,只有用户登录以后才能访问到这两个服务器的资源,否则就要跳转到登录页面。所以我们要在两个服务之前加一个gateway层,在这一层对用户请求进行拦截,验证用户是否已经登录,如果没有的话,就要引导用户去到keycloak登录页面,认证以后再跳转回到要访问的页面。原创 2022-09-14 19:45:08 · 1750 阅读 · 3 评论 -
Error:(3, 41) java: 程序包org.apache.kafka.clients.producer不存在 错误提示解决办法
【代码】Error:(3, 41) java: 程序包org.apache.kafka.clients.producer不存在 错误提示解决办法。原创 2022-09-09 15:30:59 · 1578 阅读 · 0 评论 -
Error:java: Compilation failed: internal java compiler error 解决办法
导致这个错误的原因主要是因为jdk版本问题,此处有两个原因,一个是编译版本不匹配,一个是当前项目jdk版本不支持。原创 2022-09-09 15:29:51 · 260 阅读 · 0 评论 -
Kafka中主题和分区的概念
主题Topic可以理解成是一个类别的名称。主题-topic在kafka中是一个逻辑的概念,kafka通过topic将消息进行分类。不同的topic会被订阅该topic的消费者消费。但是有一个问题,如果说这个topic中的消息非常非常多,多到需要几T来存,因为消息是会被保存到log日志文件中的。为了解决这个文件过大的问题,kafka提出了Partition分区的概念。Kafka 中的消息以主题为单位进行归类,生产者负责将消息发送到特定的主题(发送到 Kafka。原创 2022-09-08 21:59:07 · 1901 阅读 · 0 评论 -
Kafka快速入门------kafka的基础知识
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、Storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目。原创 2022-09-08 16:47:43 · 1446 阅读 · 0 评论 -
151. 反转字符串中的单词
给你一个字符串 s ,请你反转字符串中 单词 的顺序。单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。原创 2022-09-06 09:31:44 · 397 阅读 · 0 评论 -
剑指 Offer 05. 替换空格
通过stringbuilder对字符串进行遍历,如果遍历发现了空格那么就用“%20“;请实现一个函数,把字符串 s 中的每个空格替换成"%20"。原创 2022-09-05 12:32:56 · 139 阅读 · 0 评论 -
Problem with connection: Read timed out Initialization failed for ‘https://start.spring.io‘ Please
二:file->setting->HTTP Proxy->Check Connect。错误分析:连接超时。原因一:是网络原因;原因二:是URL的原因。依次修改URL:http://start.spring.io,原创 2022-09-01 16:17:01 · 395 阅读 · 0 评论 -
IDEA 中项目代码修改后不自动生效,需要执行 mvn clean install 才生效
进入parent项目目录下,执行mvn idea:module ,之后会看到项目下面新生成了一个.iml文件,原因是原先的iml文件混乱导致的,重新生成一下就OK了;原创 2022-08-28 15:27:04 · 1800 阅读 · 0 评论 -
瑞吉外卖学习笔记6
在SetmealController类中添加save方法。编写controller:上面的dishList,我们数据库并不需要这个数据,所以接收数据的实体类没有dishList这个属性也没有关系,前端传过来的数据都是自动映射到接收数据的实体类的属性上的,没有对应起来就不会映射。在套餐管理界面,套餐分类字段显示的是categoryId对应的中文,但在数据库里查询到的是categoryId,因此需要利用categoryId查询到categoryName,并赋值给数据传输对象SetmealDto。原创 2022-08-20 15:48:09 · 818 阅读 · 0 评论 -
linux服务器安装mysql,jdk,tomcat,docker
1、rpm下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html。默认的root用户只能当前节点localhost访问,是无法远程访问的,我们还需要创建一个root账户,用户远程访问。登录到MySQL之后,需要将自动生成的不便记忆的密码修改了,修改成自己熟悉的便于记忆的密码。4、确保Linux的防火墙端口是开启的,如果是阿里云,需要保证阿里云的安全组策略是开放的!降低密码的校验规则之后,再次执行上述修改密码的指令。原创 2022-08-19 22:59:15 · 518 阅读 · 0 评论 -
输入ls命令,显示bash: ls: command not found...
解决方案:直接执行下面那个。原创 2022-08-19 22:44:29 · 204 阅读 · 0 评论 -
连接mysql时遇到报错: mysqld: Can not perform keyring migration : Invalid –keyring-migration-source option.
原理是:mysqld命令是MySQL的主程序,是用来安装初始化的;而mysql才是MySQL的命令行工具。命令打错了,应该是:mysql -uroot -p。而不是:mysqld -uroot -p。原创 2022-08-19 22:42:54 · 2053 阅读 · 0 评论 -
MyBatisPlus快速入门
SpringBoot刚刚我们学习完成,它能快速构建Spring开发环境用以整合其他技术,使用起来是非常简单,对于MP的学习,我们也基于SpringBoot来构建学习。学习之前,我们先来回顾下,SpringBoot整合Mybatis的开发过程:步骤2:创建SpringBoot工程说明:说明:druid数据源可以加也可以不加,SpringBoot有内置的数据源,可以配置成使用Druid数据源从MP的依赖关系可以看出,通过依赖传递已经将MyBatis与MyBatis整合Spring的jar包导入,我们不需原创 2022-08-17 15:03:35 · 534 阅读 · 0 评论 -
瑞吉外卖学习笔记5
文件上传介绍文件上传,也称为upload,是指将本地图片、视频、音频等文件上传到服务器上,可以供其他用户浏览或下载的过程文件上传在项目中应用非常广泛,我们经常发微博、发微信朋友圈都用到了文件上传功能1、method=“post” 采用post方式提交数据2、enctype=“multipart/form-data” 采用multipart格式上传文件3、type=“file” 使用input的file控件上传。...原创 2022-08-12 23:24:39 · 658 阅读 · 0 评论 -
瑞吉外卖学习笔记4
/ 添加自定义的service方法:(就是我们需要的业务mybatis没有提供,所以就需要自己另外在service创建新的方法,并且在相关的业务中实现) void remove(Long id);}在CategoryService实现类中重写该方法,同时自定义异常类,因为这里需要抛异常了:// 自定义业务异常类 public class CustomException extends RuntimeException {} }...原创 2022-08-10 10:54:30 · 795 阅读 · 0 评论 -
瑞吉外卖学习笔记3
1、ThreadLocal并不是一个Thread,而是Thread的局部变量2、当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本3、所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本4、ThreadLocal为每个线程提供单独一份存储空间,具有线程隔离的效果,只有在线程内才能获取到对应的值,线程外则不能访问。...原创 2022-08-07 15:08:01 · 517 阅读 · 0 评论 -
瑞吉外卖学习笔记2
这个异常处理器是针对sql的bug专门写的,首先代码判断有没有关键字:Duplicate entry,因为之前终端的报错我们也看了,是有这个关键字的,如果存在那么证明发生了SQLIntegrityConstraintViolationException,如果不存在那么属于未知错误咯。取出浏览器中id值,前端调用queryEmployeeById方法,向服务器发送ajax请求,查询包含该id的所有信息,若code为1,则表示在数据库中查询到该id所包含的员工信息,反之则为null。...原创 2022-08-07 11:05:19 · 1124 阅读 · 3 评论 -
leetcode--541. 反转字符串II
题目链接:力扣链接1、因为题目说每隔2k个字符串对前k个字符串进行反转,当最后收尾时候不足k个时,我们可以将其全部进行反转。所以我们开始对字符串进行遍历,直接间隔直接设置为2k即可。2、每一次遍历我们都需要对临界条件进行判断,因为每次都会跳到i+2k的位置,所以我们只需要判断当前位置向后移动k个位置是不是依然再边界条件内就可以了;3、如果再临界条件内,我们对其进行反转即可,这里反转需要重新写一个脚步作为辅助,脚本的逻辑和反转字符串1差不多,我们只需要传入数组,当前的下标,需要反转第k个位置下标就可以了。原创 2022-08-06 11:03:19 · 1281 阅读 · 0 评论 -
瑞吉外卖项目学习笔记01
在开发瑞吉外卖这个项目之前,我们需要全方位的来介绍一下当前我们学习的这个项目。接下来,我们将从以下的五个方面, 来介绍瑞吉外卖这个项目。本项目(瑞吉外卖)是专门为餐饮企业(餐厅、饭店)定制的一款软件产品,包括 系统管理后台 和 移动端应用 两部分。其中系统管理后台主要提供给餐饮企业内部员工使用,可以对餐厅的分类、菜品、套餐、订单、员工等进行管理维护。移动端应用主要提供给消费者使用,可以在线浏览菜品、添加购物车、下单等。本项目共分为3期进行开发:创建数据库,导入表结构,运行SQL语句数据表的说明:原创 2022-08-05 23:02:31 · 3868 阅读 · 0 评论 -
leetcode383赎金信
然后我们对randomNote进行遍历,将映射的位置进行减一,最后我们看数组中有没有小于0的数就好了,如果有小于0的数那就证明数组中有其他的元素,那就不对,直接返回false,如果没有小于0的那就返回true。题目中的字母都是小写字符,所以我们考虑使用数组利用哈希算法进行映射,我们将magazine数组进行映射,将其在指定的位置进行加1....原创 2022-07-26 10:46:09 · 147 阅读 · 0 评论 -
leetcode--四数相加II
代码】leetcode--四数相加II。原创 2022-07-23 23:35:51 · 1440 阅读 · 0 评论 -
leetcode1 --两数之和
链接。原创 2022-07-23 22:47:35 · 86 阅读 · 0 评论 -
leetcode202---快乐数
链接。原创 2022-07-23 21:35:18 · 155 阅读 · 0 评论 -
Error:(6, 27) java: 程序包lombok.extern.slf4j不存在,编译通过,运行不了
在Terminal窗口输入命令mvnideaidea命令运行完后就不报错了。原创 2022-07-22 15:09:36 · 2457 阅读 · 1 评论 -
leetcode--两个数组交集2
两个数组的交集2与两个数组的交集1的区别在于交集1不准重复但是交集2可以重复,1、我们选定数组长度较短的一个进行hashmap赋值,如何选择长度较短的一个本题目中用了递归算法保证nums1一直都是最短的。其中k为数值,v为数值出现的次数。2、在nums1用hashmap赋值以后我们还需要对nums2进行遍历,在nums2遍历的过程中我们需要通过nums1的hashmap的value值进行判断nums1中有没有出现这个数值。3、如果hashmap存在那么将数值存储进入数组中,并将相应的hashmap的v原创 2022-07-14 01:03:45 · 107 阅读 · 0 评论 -
leetcode--349. 两个数组的交集
因为是数组求交集,而且数组首先无法确定数值会有多大,所以如果利用哈希函数建立索引是无意义的,其次题目给出的数组是重复的,求得的交集是无序不重复的,所以我们考虑用Java的hashset方法,因为hashset方法底层是数组+链表+红黑树,运行的快,我们对于nums1进行遍历,用hashset进行重写,这样hashset里面全部都是无序不重复的数值,然后我们对于nums2进行遍历,再用一个新的hashset2进行写入,额外多加一个判断语句,并且用nums1的hashset进行判断,如过hashset1里面有这原创 2022-07-14 00:00:50 · 149 阅读 · 0 评论 -
leetcode--49字母异位词分组
1.将不同的字符串转换为字符数组并按照字母顺序进行排序2.异位词排序后的结果相同,故可以作为哈希表的key值3.将字母异位词组成的集合作为哈希表的value值参考https://leetcode.cn/problems/group-anagrams/solution/zi-mu-yi-wei-fen-zu-ha-xi-biao-zhu-bu-zh-gf9q/...原创 2022-07-13 23:01:05 · 85 阅读 · 0 评论 -
leetcode--242. 有效的字母异位词
leetcode略我们利用hashmap的键值对方法,首先我们需要对于传入的两个字符串进行长度比较,如果长度都不一样那么肯定这两个字符串肯定不一样,结果肯定为false;如果长度一样我们需要对其进行遍历,将其中一个字符串的数值以及出现的次数存放于对应的hashmap中,然后我们便利第二个字符串,如果hashmap中出现了字符,那么我们就将对应的字符减一,最后我们看一下hashmap中所有的key对应的value是否全部为0了,全部为0那么就为true,反之为false。数组其实就是一个简单哈希表,而且这道题原创 2022-07-13 21:47:07 · 123 阅读 · 0 评论 -
数据结构与算法---链表反转
链表反转原创 2022-07-13 15:13:22 · 120 阅读 · 0 评论 -
Springboot2--lombok,yaml,web开发介绍
Lombok用标签方式代替构造器、getter/setter、toString()等鸡肋代码。spring boot已经管理Lombok。引入依赖:IDEA中File->Settings->Plugins,搜索安装Lombok插件。最佳实践-dev-tools添加依赖:在IDEA中,项目或者页面修改以后:Ctrl+F9。Spring Initailizr是创建Spring Boot工程向导。在IDEA中,菜单栏New -> Project -> Spring Initailizr。同以前的prop原创 2022-06-19 22:07:56 · 250 阅读 · 0 评论 -
SpringBoot2学习
新添内容:HelloWorld项目需求:浏览发送/hello请求,响应 “Hello,Spring Boot 2”创建主程序编写业务运行&测试运行类浏览器输入,将会输出。设置配置maven工程的resource文件夹中创建application.properties文件。打包部署在pom.xml添加在IDEA的Maven插件上点击运行 clean 、package,把helloworld工程项目的打包成jar包,打包好的jar包被生成在helloworld工程项目的targe原创 2022-06-13 10:00:16 · 237 阅读 · 0 评论 -
SSM整合
SSM整合后台功能接口说明文档新建Maven项目,添加依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven原创 2022-05-21 14:34:05 · 136 阅读 · 3 评论 -
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean wit
bug提示C:\Users\peihj\.jdks\corretto-1.8.0_322\bin\java.exe -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:D:\IntelliJ IDEA 2021.1.1\lib\idea_rt.jar=53516:D:\IntelliJ IDEA 2021.1.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\IntelliJ IDEA 2021.1.1\lib原创 2022-05-19 10:51:37 · 30598 阅读 · 7 评论 -
springmvc拦截器
springmvc拦截器mvc:annotation-driven/会自动注册两个bean,分别为DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter。是springmvc为@controller分发请求所必须的。除了注册了这两个bean,还提供了很多支持。1)支持使用ConversionService 实例对表单参数进行类型转换;2)支持使用 @NumberFormat 、@DateTimeFormat;3)注解完成数据类型的原创 2022-05-17 22:35:30 · 136 阅读 · 0 评论 -
SpringMVC的四种跳转方式及日期显示方法
SpringMVC的四种跳转方式本质还是两种跳转:请求转发和重定向,衍生出四种是请求转发页面,转发action,重定向页面,重定向action;默认的跳转是请求转发,直接跳转到jsp页面展示,还可以使用框架提供的关键字redirect:,进行一个重定向操作,包括重定向页面和重定向action,使用框架提供的关键字forward:,进行服务器内部转发操作,包括转发页面和转发action。当使用redirect:和forward:关键字时,视图解析器中前缀后缀的拼接就无效了。页面部分:<%--原创 2022-05-14 13:08:42 · 529 阅读 · 0 评论 -
SpringMvc学习--注解式开发
springmvc注解开发@RequestMapping定义请求规则此注解就是来映射服务器访问的路径此注解可加在方法上,是为此方法注册一个可以访问的名称(路径)package com.peihj.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controller // 交给Spring去创建对原创 2022-05-09 20:16:30 · 369 阅读 · 0 评论 -
SpringMVC学习----SpringMvc快速入门
SpringMVC简介它是基于MVC开发模式的框架,用来优化控制器.它是Spring家族的一员.它也具备IOC和AOP。什么是MVC?它是一种开发模式,它是模型视图控制器的简称.所有的web应用都是基于MVC开发.M:模型层,包含实体类,业务逻辑层,数据访问层V:视图层,html,javaScript,vue等都是视图层,用来显现数据C:控制器,它是用来接收客户端的请求,并返回响应到客户端的组件,Servlet就是组件SpringMVC框架的优点轻量级,基于MVC的框架易于上手,容易原创 2022-05-09 19:37:56 · 420 阅读 · 0 评论 -
MyBatis-Spring学习
MyBatis-Spring学习引入Spring之前需要了解mybatis-spring包中的一些重要类;mybatis-spring什么是 MyBatis-Spring?MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。知识基础在开始使用 MyBatis-Spring 之前,你需要先熟悉 Spring 和 MyBatis 这两个框架和有关它们的术语。这很重要——因为本手册中不会提供二者的基本内容,安装和配置教程。MyBatis-Spring 需要以原创 2022-05-06 21:10:46 · 581 阅读 · 0 评论