自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

江七

多记多看多总结

  • 博客(101)
  • 资源 (14)
  • 收藏
  • 关注

原创 Oauth2认证

1. Oauth2简介1.1 简介第三方认证技术方案最主要是解决认证协议的通用标准问题,因为要实现跨系统认证,各系统之间要遵循一定的接口协议。OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP、JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAUTH是简易的。互联网很多服务如Open AP

2021-10-18 09:40:21 373

原创 SpringSecurity安全框架

1、 SpringSecurity简介1.1 安全框架概述什么是安全框架? 解决系统安全问题的框架。如果没有安全框架,我们需要手动处理每个资源的访问控制,非常麻烦。使用安全框架,我们可以通过配置的方式实现对资源的访问限制。1.1.2 常用安全框架Spring Security:Spring家族一员。是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inver

2021-10-11 23:33:48 662 1

原创 Map中computeIfAbsent方法使用

computeIfAbsent是Map接口中的一个方法,它在Java 8中被引入。这个方法用于计算指定键的映射值(如果该键还没有映射到某个值),并将其插入到映射中。这是一种非常有用的方法,特别是在处理需要初始化集合类型值的映射时。它可以简化代码并避免显式地检查映射是否已经包含了给定的键。

2024-03-08 15:12:02 1073

原创 Mysql数据库Data目录迁移的方法详解

第一种方法是迁移先找到迁移服务器上的Data文件,我安装的是mysql8,自己选择的路径 D:\Develop\MySQL(如果是默认安装的路径,那么就是在C:\ProgramData\MySQL文件里面,ProgramData是隐藏文件,需要先把隐藏文件打开,如下图所示)下面操作不论是自定义安装的路径或者是默认安装路径,都是一样的操作:打开你所选择的数据文件夹,如下图,这个Data文件就是你的数据文件;将你要迁移的数据库文件放到这里如下:然后打开my.ini:找到datadir,然

2022-03-08 12:28:35 9465

原创 截图工具:VeryCapture

网盘下载地址:链接:https://pan.baidu.com/s/1FllpUOAaIHR3VTgCACWv2g?pwd=2swk提取码:2swkVeryCapture使用方法①打开应用,有截屏和视频两大功能,可以全屏截图、矩形截图、任意截图、延时截图、长截图、录制视频、录制GIF。(还有OCR和翻译功能)②长截图功能很实用,可以记录一些需要滚动的窗口。③截图以后,工具条的功能和QQ的差不多,矩形、圆形、直线、箭头、记号笔、画笔、序号、还有钉图、文字识别。④在托盘区右击应用图标,可

2022-02-10 12:13:35 13212 2

原创 mysql 8.0.28版本安装配置方法图文教程

mysql 8.0.28版本安装配置方法图文教程从 Mysql 官网下载 mysql下载完成后直接双击进行安装,打开后的页面如下所示:选择自定义custom,接着下一步将MySQL Server 展开,添加到右边(点击绿色箭头)选择安装位置后点击ok点击Next,点击MySQL Sever,选择后再点击Execute下载完成后点击下一步(需要等待一小会儿)直接下一步下一步一般情况下选择第二个即可,然后点击下一步设置密码,设置的密码为默认root的密码下一步点击

2022-02-09 10:03:06 33626 27

原创 04-web开发之简单功能分析

1 SpringMVC自动配置概览Spring Boot provides auto-configuration for Spring MVC that works well with most applications.(大多场景我们都无需自定义配置)The auto-configuration adds the following features on top of Spring’s defaults:Inclusion of ContentNegotiatingViewResolver..

2021-12-12 17:30:35 644

原创 03-配置文件

1 文件类型1.1 properties同以前的properties用法注意:properties的配置优先级高于yml1.2 yaml1.2.1 简介YAML 是 “YAML Ain’t Markup Language”(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。非常适合用来做以数据为中心的配置文件1.2.2 基本语法key: value;kv之间有空格大小

2021-12-08 15:06:08 269

原创 02-了解自动配置原理

02 了解自动配置原理1 SpringBoot特点1.1 依赖管理父项目做依赖管理依赖管理 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.6</version><

2021-12-07 17:14:32 211

转载 01-SpringBoot2入门

01、SpringBoot2入门1、系统要求Java 8 & 兼容java14 .Maven 3.3+idea1.1、maven设置<mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name&gt

2021-12-07 17:06:20 168

原创 i++,++i,i--和--i的区别和实现

后置运算:i++ 表示先运算,后自加。意思是遇到 i++了,我先把当前的 i 的值拿来参加运算,后面再去管它的自加。那么,【“后面”后到什么程度呢?要后到当前的语句执行完,即遇到分号 ; 表示语句执行完了,所以 i 才自加1。】如:int i=5,j=0;j=i++;的意思就是,先算 j=i(即 j=5),遇到分号 ;表示语句结束,i 才自加1,即 i 变为6。前置运算:++i 表示先自加,后运算这个意思就是遇到 ++i 了,先把 i 的值加 1,再往后执行别的。如:int i=5,.

2021-10-26 15:27:59 2430

原创 Java面试每日一题【Day01】

请问代码是否编译错误?如果编译错误?是哪行?如果没有编译错误,结果是多少?public class Demo { public static void main(String[] args) { int i= 5; i+=i-=i*=i++; System.out.println(i); }}答案...

2021-10-26 10:51:48 397

原创 装备价格

时间限制:1000ms内存限制:256M题目描述:  小青同学喜欢玩游戏,喜欢观察装备的市场价格,但是装备的价格每天是不固定的。请根据每日装备价格列表 ,重新生成一个列表,要求其对应位置的输出为:要想观测到更高的装备价格,至少需要等待的天数。如果装备价格在这之后都不会升高,请在该位置用 0 来代替。输入描述:价格数组输出描述:需要观察的天数数组示例:示例1输入73,74,75,71,69,72,76,73输出1,1,4,2,1,1,0,0示例2输入3.

2021-09-30 14:54:12 334

原创 亮灯问题

时间限制:1000ms内存限制:256M题目描述:有k盏灯,灯全熄灭,灯下有开关,编号为 1-k;有 k 个学生,编号也是 1-k ,依次从灯下走过,如果学生发现经过的灯的编号恰好可以整除自己的编号,则拉一下灯的开关(关变开,开变关),问最后哪些灯亮着?输入描述:k 编号输出描述:所有亮着的灯的编号提示:1<= k<=100000题目分析:这题很古怪,因为灯和人的编号都是 1-k ,所以最后灯肯定都是亮着的。代码实现:package 亮灯问题;i.

2021-09-30 11:29:18 383

原创 幸运数字

时间限制:1000ms内存限制:256M题目描述:   青书抽奖活动,抽奖箱里有很多球,每个球上有个整数,相同数字的球可重复多次出现,每个员工抽一个,如果一个球上的数字和这个球被抽到的次数相同,那这个球称为幸运球,如果出现多个幸运球,则幸运球数字最大的为最终获奖幸运球,抽到该球的员工获得奖品。现在要找到返回最终获奖幸运球数字,如果没有返回 -1。例如:抽到的球数字是 1 1 2 2 3 4 4 4 4 5 6则幸运球为 4 号球输入描述:幸运数字数组输出描述:幸运数字.

2021-09-30 10:13:46 436

原创 markdown 行首空两个实现

在开头的时候,先输入&ensp;&ensp;,然后紧跟着输入文本即可。 &ensp;&ensp; 你好啊!实现效果:      你好啊!

2021-09-30 10:11:55 126

原创 字节跳动2022秋招研发笔试题(3)--文件送达问题

时间限制: C/C++ 1秒,其他语言2秒空间限制: C/C++ 32768K,其他语言 65536K题目描述:Alice要参加一个重要会议,但是他发现参会文件落在了Bob家里,而Bob恰好也有另一个会议要参加,没有时间亲自送给Alie,于是他想要带上文件,并叫一个快递员来帮忙。现在两人同时从各自家里出发前往各自会议地点,快递公司拥有充足的快递员,可以在Bob参会途中任意一点遇到Bob(包括起点和终点),拿到文件后送给Alice。假设Alice、Bob和快递员都在一个二维平面上,且均以直.

2021-09-27 15:08:18 438 1

原创 字节跳动2022秋招研发笔试题(4)--及格如此简单

时间限制: C/C++ 1秒,其他语言2秒空间限制: C/C++ 32768K,其他语言 65536K题目描述:为了响应国家全面发展的响应,学校提供了"德、智"、“体”、"美、"劳"等多门课程供同学们选择学习。每位同学必修3门课程,可选修其他3门及以上课程。小A同学选了n门选修课程,马上要期末考核了,请你帮小A同学算一算,如果小A同学要及格的话,他所学所有课程的成绩共有多少种组合的方式。注意:1、同学的所有学习课程的平均分>=60分即为及格2、每门课程满分100分,只有2.

2021-09-27 14:53:31 1502

原创 字节跳动2022秋招研发笔试题(1)--炮弹高度问题

时间限制: C/C++ 1秒,其他语言2秒空间限制: C/C++ 32768K,其他语言 65536K题目描述:为了研究炮弹的射击轨迹,研究人员在炮弹上安装了一个高精度的高度传感器,每隔一小段时间记录一下当前的海拔高度。研究人员需要找到一个快速的算法,可以方便的找到曾经飞到过某一个高度的炮弹数据。输入描述:第一行为正整数 m,表示有 m 组测试用例,其中1 <= m <= 10000。接下来 2m 行,每 2 行代表一组测试用例,其中,前一行为正整数 n,k,分别代.

2021-09-27 14:44:54 932 1

原创 字节跳动2022秋招研发笔试题(2)--链表聚集交换问题

时间限制: C/C++ 1秒,其他语言2秒空间限制: C/C++ 32768K,其他语言 65536K题目描述:将一个链表通过交换节点位置的操作使链表中的 value 为 k 的节点都聚集到一起,给出最少需要的交换次数输入描述:输入第一行为链表的长度,取值范围1~1000输入第二行为链表的节点,如1 23代表链表1->2->3,每个节点value为整数,取值范围0~10000输入第三行为k输出描述:输出需要的最少交换次数示例输入:51 2 .

2021-09-27 14:44:27 301 3

原创 与、或、异或

与、或、异或的运算都是将两个数字转化为二进制数后,按位比较的,具体如下图:与 ( & )0 & 0 = 01 & 0 = 00 & 1 = 01 & 1 = 1或(|)0 | 0 = 01 | 0 = 10 | 1 = 11 | 1 = 1异或( ^ )0 ^ 0 = 01 ^ 0 = 10 ^ 1 = 11 ^ 1 = 0与、或 操作符合日常逻辑,异或操作大家只要记住,相同为 0 ,不同为 1 即可。PS

2021-09-23 09:53:49 1448

原创 默契度测验

题目:A、B两人参加默契度测验,系统记录了两人打字的全过程,若在打字过程中按了退格,则记录 #。请你根据两人打字的过程记录,判断两人最终输入的内容是否一致。输入描述:第一行,输入一个字符串a,表示A回答问题时打字的过程记录;第二行,输入一个字符串b,表示B回答问题时打字的过程记录。输出描述:若两人最终输入答案内容一致,则输出一次答案内容即可;若两人最终输入答案内容不一致,则分别输出两人的答案内容,每个答案独立成一行。输入示例:样例1:Ao#ppleOra###Appll#e样例2:

2021-09-22 14:50:27 986

原创 去掉指定字符串的开头的指定字符

利用正则表达式中的matches() 对整个字符串进行匹配,只有整个字符串都匹配了才返回true 。lookingAt() 对前面的字符串进行匹配,只有匹配到的字符串在最前面才返回true。Mathcer.start()、Matcher.end()、Matcher.group()当使用matches(),lookingAt()执行匹配操作后,就可以利用以上三个方法得到更详细的信息:start()返回匹配到的子字符串的第一个字符在原字符串中的索引位置;end()返回匹配到的子字符串的最后一个字符

2021-09-19 10:56:30 3435

原创 返回指定字符串的所有索引值

使用substring()方法在String类中有两个substring()方法,第一种如下:String.substring(int start)其中,start为要开始截取的位置的索引,方法将返回一个字符串,内容为原字符串从start位置开始到原字符串结束中间的数据。第二种substring()方法:String.substring(int start, int end)其中,start为开始位置索引,end为结束为止索引,方法将返回一个字符串,内容为原字符串从start位置开始到end位置

2021-09-19 10:49:22 1271

原创 云日记准备工作

1、项目设计2、项目简介    云R记软件就是用于记录日常生活点滴。一款跨平台的简单快速的个人记事备忘工具,并且能够实现PC、移动设备和云端之间的信息同步,简洁高效。将会议记录、日程安排、生活备忘,奇思妙想、快乐趣事以及任何突发灵感都可快速记录到系统中。    本系统采用 B/S 架构,使用 BootStrap + Jsp + Servlet + MySQL+ Tomcat 开发,使用 Maven 构建,采用 Jun

2021-09-18 11:47:35 817 1

原创 抽象工厂模式总结和示例

1、抽象工厂模式的定义  抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。2、抽象工厂模式特性(1)意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。(2)主要解决:主要解决接口选择的问题。(3)何时使用:系统的产品

2021-09-17 15:04:51 2238

原创 一个整数n,对它的每一位d,用d+1替换d的编程题

题目在Temmie的世界中,有一种特殊的运算X,它的运算方式如下:对于一个整数n,对它的每一位d,用d+1替换d。例如,对于193,它的每一位+1后的结果为2,10,4。所以,193的X运算结果为2104。现在小Temmie想要把整数n进行m次X运算后的结果写在纸上,可是他不知道这个结果需要用多少张纸,所以,他来拜托你计算n进行m次运算后结果的位数。因为结果可能超过整形范围,所以你只需要告诉他结果模 10^9+7 的余数即可。输入格式第一行一个数字t,代表有t个测试用例。(1<=t&lt

2021-09-13 22:49:19 333 1

原创 返回深度最深的条目中,最长路径的长度

题目路径都由字母、数字或空格组成,给定一个以上述代码格式表示目录的字符串input,返回深度最深的条目中,最长路径的长度。示例 1:输入:input = "Title\n\tSubtitle1\n\tSubtitle2\n\t\taaaa"输出:20解释:aaaa 路径为 "Title/Subtitle2/aaaa",深度是 3,路径长度 20示例 2:输入:input = "Title\n\tSubtitle1\n\t\taaa\n\t\tSubsubtitle1\n\t\t\tbbbb\n

2021-09-13 16:37:29 301

原创 java读写Excel工具类

本项目采用maven工程,使用poi技术去读取excel表格。所需jar包为:<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>5.0.0</versio

2021-09-09 09:55:30 4854 5

原创 IDEA将包级目录变成树型结构,找不到compact middle packages怎么办?

ss

2021-09-08 15:51:25 1527

原创 Java基础之字符串去重

题目:有一个字符串List,如下代码所示,续写代码,将str中的元素在按照字符拆分,合并成一个数组,然后字符去重,最终得到 [“h”,“e”,“l”,“o”,“w”,“r”,“d”]List<String> str = new ArrayList<>();str.add("hello");str.add("world");实现:import java.util.*;public class SplitWord { public static void mai

2021-09-06 17:58:48 727

原创 不使用SDK自带库,使用基本Java语言实现将传入的数组内容反转

import java.util.Arrays;public class Reverse { public static void main(String[] args) { int[] arr1 = new int[]{1, 2, 3, 4, 5, 6}; int[] arr2 = new int[6]; //方法一:自身反转 int[] ints = reverse(arr1); // 方法二:赋值给新数组(不推

2021-09-06 17:55:02 354

原创 Java实现限定方法执行时间,如果该任务能在限制时间内完成则返回任务执行结果,否则返回null

使用Future类执行超时处理。代码如下:import java.util.concurrent.*;public class CheckTimeOut { public static void main(String[] args) { System.out.println(method(3, 2)); } /** * @param threadNum 线程池的数量 * @param timeOut 超时时限 * @re

2021-09-06 17:30:06 2953 1

原创 npm install出现一直停留在fetchMetadata: sill解决方法

主要是因为npm安装插件是从国外服务器下载,受网络影响大,一般网速不好的情况下,会等很久很久,有时还会直接断开连接。解决办法将npm的源换成淘宝镜像使用下面命令更换源。npm config set registry https://registry.npm.taobao.org配置后可通过下面方式来验证是否成功npm config get registry输入命令执行后,输出内容如下,即代表更换成功。https://registry.npm.taobao.org/...

2021-09-04 21:20:29 4916

原创 Could not initialize class 的无头解释

今天跑公司的项目,发现这个问题,上网搜索解决方案没有解决,再查看日志,发现主要问题出在然后网上的解决方法也没有解决该问题,然后询问导师最后加了个System.setProperty("user.name", "jdbcuser");解决问题,但是不知道原因。导师说,是我的电脑名字影响的,但是我的电脑名全是英文,也没有特殊符号,想不明白为什么会出现上面的问题。PS:导师的电脑跑我的项目没有出现上述问题。有人知道,可以在评论区里解释一下吗,谢谢...

2021-09-03 15:37:22 1514

原创 常见异常产生原因及解决方法

NullPointerException:空指针异常。产生原因:当应用试图在要求使用对象的地方使用了 null 时,抛出该异常。譬如:调用 null 对象的实例方法、访问 null 对象的属性、计算 null 对象的长度等等。解决的办法:先找出出现的所有引用类型,判断哪个对象是没有 new 的元素或者方法或者属性,如果没有就创建该对象ArrayIndexOutOfBoundsException:数组索引越界异常。产生原因:当对数组的索引值为负数或大于等于数组大小时抛出此异常。解决的办法:在索引 .

2021-08-27 10:39:05 404

原创 实现Runnable接口比继承Thread类所具有的优势

适合多个相同的程序代码的线程去共享同一个资源。可以避免java中的单继承的局限性。增加程序的健壮性,实现解耦操作,代码可以被多个线程共享,代码和数据独立。线程池只能放入实现 Runable 或 Callable 类线程,不能直接放入继承Thread的类。...

2021-08-27 10:14:46 448

原创 Thread类中的start()方法与run()方法的区别

线程对象调用 run() 方法不开启线程,仅是对象调用方法。线程对象调用 start() 方法开启线程,并让 jvm 调用 run() 方法在开启的线程中执行。

2021-08-27 10:03:19 220

原创 Comparable 和 Comparator 比较器

Comparable :自然排序(自己即可)自然排序的定义Comparable 接口强行对实现它的每个类的对象进行整体排序实现过程实现 Comparable 接口的类必须实现 compareTo(Object obj) 方法,两个对象通过 compareTo 方法的返回值来比较大小 。如果当前对象 this 大于形参对象 obj 则返回正整数;如果当前对象 this 小于 形参对象 obj 则返回 负整数;如果当前对象 this 等于 形参对象 obj 则返回零 。实现 ..

2021-08-26 17:40:49 2077

原创 HashSet 去除重复元素的原理

先调用被添加元素的 hashCode(),和 HashSet 中已有元素的 hashCode 比较是否相同如果不相同,直接存储该元素如果相同,再调用 equals 方法比较元素是否相同如果不相同,直接存储该元素如果相同,认为是同一元素,不存储HashCode方法:根据一套特殊的计算方法返回一个整形值,此值被 HashSet 用来定位对象的存储地址。equals方法:判断两个对象的内容是否相等。...

2021-08-26 15:16:59 912

JavaGuide.pdf

比较全面的面试题

2021-10-09

batj面试突击1000题(精选).pdf

Java面试题 涵盖Java架构面试所有技术栈,包 括JVM,Mysql,并发,Spring,Mybatis,Redis,MQ,Zookeeper,Netty, Dubbo,Spring Boot,Spring Cloud,数据结构与算法,设计模式,网络与操作系统等 相关技术领域的大厂面试题及详解

2021-10-08

2022届车三百的笔试题,关于车辆名映射问题

2022届车三百的笔试题,关于车辆名映射问题

2021-09-09

java 基础笔记配套代码

java 基础笔记配套代码

2021-08-20

Android Studio启动模拟器失败.docx

Android Studio启动模拟器失败解决方法

2021-08-11

android studio模拟器启动不了解决办法.docx

android studio模拟器启动不了解决办法

2021-08-11

Android studio 自定义安装(jdk配置、gradle配置以及模拟机配置).docx

Android studio 自定义安装(jdk配置、gradle配置以及模拟机配置)

2021-08-11

Android studio 启动模拟器时解决 VT-x is disabled in BIOS的问题.docx

Android studio 启动模拟器时解决 VT-x is disabled in BIOS的问题

2021-08-11

纯 css 3D旋转相册 ,可自定义修改图片

纯css 3D旋转相册

2021-08-04

Vue创建的在线简历,可修改

Vue创建的在线简历,可修改,中英文简历,里面还有一个在线音乐播放器

2021-08-04

java基础综合案例--发红包【界面版】

综合Java基础语法的学习知识点,巩固Java基础知识

2021-08-04

希赛系统架构设计师冲刺提分秘籍.pdf

希赛系统架构设计师冲刺提分秘籍.pdf

2021-07-28

bootstrap登录注册页面模板.zip

炫酷的登录注册模板

2021-07-28

空空如也

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

TA关注的人

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