自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 测试基础——数据库及数据库表的SQL操作(了解即可)

测试基础——数据库

2022-11-19 13:11:45 964 1

原创 jar包与war包部署的区别及jar包部署的一个路径访问问题

jar包与war包部署的区别及jar包部署的一个路径访问问题

2022-08-29 22:44:23 3643

原创 IDEA如何远程断点调试jar包

IDEA如何远程断点调试jar包

2022-08-29 22:05:34 2904

原创 java根据word模板生成文档(含文本替换和动态生成表格)

java根据word模板生成文档(含文本替换和动态生成表格)

2022-08-16 10:31:04 2226 1

原创 Leetcode 370、1109、1094差分数组考点

Leetcode 370、1109、1094差分数组考点

2022-08-14 23:14:19 225

原创 Leetcode 303、304、560前缀和考点

前缀和算法题

2022-08-08 22:22:22 144

原创 Java中的IO流 第五部分 转换流

FileReader类能正常读取IDE默认编码格式(UTF-8)的文件,但是不能正常读取系统默认编码格式(非UTF-8,ANSI就是系统默认编码)的文件。 将GBK格式的文件转换为UTF-8格式,思路为用GBK编码转换流将字节文件读取为字符,再用UTF-8编码转换流将字符转换为字节写入文件。...

2022-06-12 17:42:09 102

原创 Java中的IO流 第四部分 缓冲流

Java中的IO流 第四部分 缓冲流

2022-06-12 09:43:03 893

原创 服务器端负载均衡和客户端负载均衡的区别

服务器端负载均衡和客户端负载均衡的区别

2022-06-07 17:19:07 613

原创 Java中的属性集——Properties集合

Java中的属性集——Properties集合

2022-06-07 10:40:59 796

原创 Java中的IO流 第三部分 字符流

Reader类在java.io包下,是字符输入流的最顶层父类,定义了一些共性的成员方法,是一个抽象类。共性成员方法:int read():一次读取一个字符。int read(char[] cbuf):一次读取多个字符,将字符读入数组。void close():关闭该流并释放与之相关的所有资源。...............

2022-06-05 22:49:01 131

原创 Java中的IO流 第二部分 字节流

1.IO的概念I:input,输入,读取,将硬盘中的数据读取到内存中使用 O:output,输出,写入,将内存中的数据写入到硬盘中 流:流的是数据,字符、字节,1个字符=2个字节,1个字节=8个二进制位2.IO顶级父类3.字节流一切皆是字节:视频、图片、文字都是以字节存储的。字节流可以传递任意的文件数据,无论什么样的流对象,底层传输的都是二进制数据。.....................

2022-05-29 21:16:07 212

原创 Java中的IO流 第一部分 File类

1.File类File类在java.io包下,是文件和目录(文件夹)的路径名的抽象表示,主要用于创建、获取、删除文件/文件夹,判断文件/文件夹是否存在,对文件夹进行遍历,获取文件的大小等操作。 File类与操作系统无关,任何操作系统都可以使用类中的方法。 File类的方法:static String pathSeparator():与操作系统有关的路径分隔符,为了方便,它被表示为一个字符(Windows:“;”,Linux:“:”) static char pathSeparatorChar()

2022-05-13 20:05:41 889

原创 Java中的Lambda

1.函数式编程的思想函数就是有输入量和输出量的计算方案,也就是拿什么东西做什么事情,强调做什么,而不是以什么方式去做(结果); 面向对象过分强调必须通过对象的形式来做事情(过程)。 Lambda表达式是JDK 1.8之后加入的。 -> 匿名内部类 Lambda表达式匿名内部类的好处:省去了匿名内部类的定义; 匿名内部类的弊端:...

2022-04-14 19:48:34 4093

原创 线程池原理及使用方法

1.背景如果线程数量多,并且每个线程都只执行需要很短的执行时间的任务,这样频繁的创建线程、销毁线程,效率低下。若一个线程使用完毕后,并不销毁它,而是让他来执行别的任务,就可以使得线程重复使用,提高效率。2.概念线程池就是一种容器集合(ArrayList,HashSet,LinkedList<Thread>,HashMap)3.底层原理创建多个线程,保存到一个集合中,当我们想要使用线程的时候,就可以从集合中取出线程使用,Threa...

2022-04-13 20:41:00 940

原创 几种测试类型

1.性能测试通过不断的测试,确定所需要的硬件配置(内存、CPU、网络等)、软件配置,以满足实现定义的性能指标要求。2.代码走查代码走查(code walkthrough)是一个开发人员与架构师集中讨论代码的过程。代码走查的目的是交换有关代码是如何书写的思路,并建立一个对代码的标准集体阐述,代码走查的讨论过程是非正式的。一般以模块为组进行走查,从走查内容来说,应该是代码的命名规范,以及组织结构;从走查时间来说,应该在每个模块开发完成之后进行。一般包括如下问题:...

2022-04-02 10:48:06 1897

原创 使用Tomcat 启动war包时报Not running on Jetty, JSR-356 support unavailable 错误

问题:启动的时候tomcat报错:Not running on Jetty, JSR-356 support unavailable。原因:项目的pom文件中包括以下内容就会报错:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId></depend

2022-02-28 10:49:31 1380

原创 Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war

问题:Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project microservice-user: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)原因:maven的web项目默认的w

2022-02-28 09:52:05 2786 1

原创 Failed to execute goal org.springframework.boot:spring-boot-maven-plugin

问题:Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.5.3:repackage (default) on project microservice-eureka: Execution default of goal org.springframework.boot:spring-boot-maven-plugin:2.5.3:repackage failed: Plugin org.springfra

2022-02-28 09:18:56 7265

原创 等待唤醒机制

1.线程的状态 2.计时等待状态Timed waiting3.锁阻塞状态Blocked4.无限等待状态Waiting

2022-02-27 22:26:04 308

原创 java.util.ConcurrentModificationException: null异常

问题:在Java中对集合使用增强for循环时,一旦对集合进行增删操作,在遍历时会引起java.util.ConcurrentModificationException: null异常。原因:在官方文档中ConcurrentModificationException的介绍如下:public class ConcurrentModificationException extends RuntimeException某个线程在 Collection 上进行遍历时,通常不允许其他线程修改该 Co

2022-02-25 10:57:05 15888

原创 Java中String的contains()和split()关于字符转义的注意事项

String的contains()方法中的参数无需转义,而split()方法的参数需要转义。原因:contains()的参数是CharSequence,而split()的参数是String,使用了正则表达式,需要手动转义。

2022-02-25 10:38:28 789

原创 线程同步机制

1.线程安全单线程程序不会出现线程安全问题; 多线程程序不访问共享数据也不会出现线程安全问题; 多线程访问了共享数据,会产生线程安全问题。

2022-01-06 15:42:26 220

原创 线程实现方式

1.进程硬盘:存储应用程序及其数据,永久存储ROM。 内存:所有应用程序都需要进入到内存中运行,临时存储RAM。 点击应用程序的执行,应用程序就会进入到内存中,占用一些内存执行。 进入到内存中运行的程序就叫进程。 进程清除:任务管理器->结束进程,就把应用程序从内存中清除了。 每个进程都有一个独立的内存空间。 一个应用程序可以同时运行多个进程,每个进程都是应用程序的一次运行过程,是系统运行程序的基本单位。 系统运行程序的过程就是进程创建、运行、消亡的过程。2.线程线程是进行的一

2022-01-02 22:32:34 246

原创 Java中的异常

1.概念异常指程序在执行过程中,出现的非正常情况,最终会导致JVM的非正常停止。 产生异常就是创建一个异常对象,并抛出这个对象。 Java处理异常的方式是中断处理。 注意:异常不是语法错误,语法错了编译不通过,不会产生字节码文件,根本不能运行。2.异常体系异常的根类是Throwable,其下有两个子类——Error、Exception,均在java.lang包中。 Error是可以不解决的,只能避免。 Exception是可以解决的。 通常说的异常是Exception类。 Excep

2021-11-12 13:04:14 517

原创 Java中JSON格式反序列化为Map且保证存取顺序一致

背景:做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为com.alibaba.fastjson.JSONObject,再转化为JSONString,传给接收方,接收方将String转换为com.alibaba.fastjson.JSONObject,再反序列化为Map,且接收方需要保持存取顺序一致。 问题:不能将String转为JSONObject,再强转为LinkedMap,这样编译会报错;也不能将String转为JSONArray,再一个一个赋值,组建成LinkedHas..

2021-08-30 22:12:12 3833

原创 Java 初始化Map静态常量

public static final Map<String, String> map = ImmutableMap.<String, String>builder() .put("key1", "value1") .put("key2", "value2") .put("key3", "value3") .build();这种方式初始化的Map不可修改

2021-08-30 21:24:42 587

原创 FeignClient如何设置统一接口前缀

在@FeignClient注解中添加path参数,设置调用的其他微服务的接口统一前缀。例如:要微服务A要调用微服务B的接口XXX/aaa和XXX/bbb,在这种情况下,为了便于接口的书写和防错,在@FeignClient注解中添加path参数 path = "XXX"。...

2021-08-30 21:15:14 2958

原创 Map集合

1.基本概念Map接口在java.util包下; Map是双列集合,将键映射到值Map<K, V>;Collection是单列集合; 一个映射不能包含重复的值,每个键只能映射一个值,值可以重复。2.子类HashMap:底层是哈希表,不保证映射顺序恒久不变,无序的集合,存和取的顺序有可能不一致;不同步,线程不安全,多线程,速度快;JDK 1.8之前是数组+单向链表;JDK 1.8之后是数组+单向链表/红黑树(使用红黑树的情况是链表的长度超过 8,使用红黑树是为了提高查询的速度);可以

2021-05-24 20:34:37 114

原创 debug追踪

1.bug是程序中的异常或错误,debug是调试bug,找到问题,解决问题,可以让代码逐行执行,查看代码的执行过程,调试程序中的bug。2.使用方法:在行号的右边单击,添加断点,可以添加在方法的第一行,也可以添加在有bug的地方,选择Debug执行程序。3.快捷键:f8:逐行执行程序; f7:进入到方法中; shift+f8:跳出方法; f9(绿色箭头):调到下一个断点,如果没有下一个断点,那么就结束程序; ctrl+f2(红色方块):退出debug模式,停止程序; console切换

2021-05-13 20:51:54 175

原创 Java中Collections工具类的常用方法

1.addAllpublic static <T> boolean addAll(Collection<T> c, T ... elements):往集合中添加一些元素。2.sortpublic static <T> void sort(List<T> list):将集合中元素按照默认规则排序(升序)。 注意:sort(list)有使用前提:被排序的集合元素必须实现了Comparable接口,重写接口中的compareTo方法定义排序的规则;Com

2021-05-13 19:52:51 204

原创 Java可变参数

1.定义Java 1.5的新特性,如果一个方法需要接收多个参数,参数类型已确定,参数个数不确定,且多个参数的参数类型一致,则可以定义为可变参数。2.格式修饰符 返回值类型 方法名(参数类型... 形参名){}底层是一个数组,根据可变参数的个数不同,会创建不同长度的数组,来存储这些参数,传递的参数个数可以是0个、1个、多个。3.注意事项一个方法的参数列表只能有一个可变参数; 如果方法的参数有多个,可变参数必须写在参数列表的末尾; 可变参数的特殊(终极)写法,Object... .

2021-05-13 19:15:25 62

原创 List集合、Set集合

1.List接口有序集合,存储和读取元素的顺序相同; 允许存储重复的元素; 有索引,可以通过普通for循环遍历; 有Vector集合、ArraList集合、LinkedList集合实现了List接口。2.Set接口无序; 不允许存储重复元素; 没有索引,不能通过普通for循环遍历; 有HashSet和TreeSet集合实现了Set接口,LinkedHashSet又继承了HashSet。...

2021-04-18 20:32:00 388

原创 Java集合相关的数据结构

1.栈stack; 入口和出口在同一侧,先进后出,类似于子弹弹夹; 存储元素到集合又称进栈、压栈、入栈; 取出集合中的元素又称弹栈、出栈。2.队列queue; 入口和出口在集合的两侧,先进先出,类似于排队安检。3.数组array; 特点:查询快、增删慢; 查询快的原因:数组的地址是连续的,通过数组的首地址可以找到数组,通过数组的索引可以快速查找任意元素; 增慢的原因:数组的长度是固定的,想要增加一个元素只能新建一个数组,把所有元素复制进去; 删慢的原因:如删除最后一个元素,必

2021-04-12 19:56:48 152

原创 Java中的Collection集合

1.List接口有序集合,存储和读取元素的顺序相同 允许存储重复的元素 有索引,可以通过普通for循环遍历 有Vector集合、ArraList集合、LinkedList集合实现了List接口2.Set接口无序 不允许存储重复元素 没有索引,不能通过普通for循环遍历 有HashSet和TreeSet集合实现了Set接口,LinkedHashSet又继承了HashSet3.Collection接口Collection接口是所有单列集合的最顶层接口,定义的是所有单列集合中的共性方法

2021-04-08 10:39:17 429 2

原创 Address already in use: JVM_Bind 端口被占用的几个解决办法

运行Tomcat或IDEA项目时若出现"Address already in use: JVM_Bind 端口被占用"的错误,假设端口为8086,启动cmd, 执行命令netstat -ano|findstr8086,会查询出占用端口号的进程号,这时候执行命令taskkill -f -pid 进程号,杀死进程,然后重启Tomcat即可解决。若还是不行,Ctrl+Shift+Delete打开资源管理器,关掉IDEA和Java jvm进程,重新打开IDEA尝试运行。...

2021-04-07 15:24:17 3937

原创 JSON入门

1. Web 1.0时代 早期,登录时,如果登录失败,需要刷新页面,才能重新登录;不点击提交按钮,密码输入错误不提示错误。 2.Web 2.0时代现在大多数网页,都是局部刷新实现页面的更新,而不刷新整个页面。例如,注册时,手机号已注册过了,不用点击提交,输入手机号就能提示已注册。这依赖于Ajax技术。3.JSON(JavaScript Object Notation, JS对象标记)JSON是一种轻量级的数据交换格式,使用广泛。是js对象的字符串表示方法,使用文本表示js对象的信息.

2021-03-22 20:26:22 71

原创 Java基本类型包装类

1.包装类基本数据类型用起来很方便,但是没有对应的方法来操作这些基本数据类型的数据,可以使用一个类把这些数据包装起来,在类中定义一些方法来操作这些数据,这种类叫做包装类,在java.lang包下,无需导包。2.装箱与拆箱装箱:从基本类型转换为对应的包装类对象;拆箱:从包装类类型转换为基本数据类型; 装箱方法:Integer(int value) Integer(String value):value是要能转换为int类型的字符串,例如“100”可以,而“a”不可以,会抛出数字格式化异常

2021-03-22 20:19:18 71

原创 常用的JavaAPI_Date、DateFormat、Calendar

1.Date类 Date类在java.util包下,表示特定的瞬间,精确到毫秒,毫秒是千分之一秒。 毫秒的好处是可以对时间和日期进行计算,计算两个日期之间有多少天,可以先把日期转换为毫秒,计算两个毫秒值之间的差值,转换为天数。 时间原点(0毫秒):1970年1月1日 00:00:00(英国格林威治的标准时间),中国属于东八区,会把时间增加8个小时。 System.currentTimeMillis():获取当前系统时间到时间原点之间一共经历的毫秒值。 常用方法:

2021-03-22 19:11:03 143

原创 Java中的内部类

1.内部类的含义一个事物内部包含另一个事物,就可以说一个类内部包含另一个类,如身体和心脏,汽车和发动机。2.内部类分类成员内部类 局部内部类(包含匿名内部类)3.成员内部类格式:...

2021-02-28 14:38:47 63

JAVA代码规范详细版.doc

详细讲解了工作中需要注意的Java代码规范,本规范以SUN的标准Java代码规范为基础。

2021-04-12

Linux基本操作详解.docx

该文档涵盖了Linux的常用操作的详解和使用截图,包括基本命令、shell编程、进程控制编程、网络编程和操作系统编程,共计50页,绝对有用。

2021-01-26

代码分析工具soot的使用文档

Soot是由McGill大学的Sable研究组编写的一个用于代码优化的软件,能对源码进行分析,本文档讲了它的安装和使用。

2018-12-03

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

TA关注的人

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