自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 收藏
  • 关注

原创 ASP.NET Core Web项目连接MySQL数据库

ASP.NET Core Web项目连接MySQL数据库

2022-08-13 12:57:12 5338 2

原创 System.ArgumentException: 已添加了具有相同键的项

C#项目提示相同键异常!

2022-08-13 11:59:19 4170

原创 采用python正则表达式修改替换一行文本中的内容

用python写的文本替换脚本

2022-08-01 22:36:58 1223

原创 MySQL表复制SQL语句

表复制方式整理

2022-08-01 22:20:02 2269

原创 C#中对象或普通类型进行类型转换

C#中数据类型转换

2022-07-19 21:38:02 4818

原创 vs中git工具的使用

visual studio中git命令的常规使用

2022-07-18 22:49:09 5236

原创 使用google.gson工具时getAsString()方法返回JsonNull异常问题解决

概述在使用google.gson工具时,JsonElement的getAsString()方法返回JsonNull异常问题。问题描述使用google.gson工具时经常会使用的就是反序列化功能。比如看下面的一个方法:private static JsonParser parser= new JsonParser();public String parseJsonString(String raw) { JsonElement jsonElement = JSON_PARSER.parse

2021-07-15 14:01:17 2141 1

原创 java中的序列化与反序列化工具

工具一:com.fasterxml.jackson.databind.ObjectMapper

2021-07-09 17:27:04 572

原创 两种http传输协议工具简介

工具一:org.apache.httpcomponenthttps://blog.csdn.net/wjrong_1/article/details/51114233工具二:com.squareup.okhttp3https://www.cnblogs.com/liyutian/p/9473747.html

2021-07-09 17:12:05 460

原创 本地如何同时跑起两个项目,并用其中一个项目调用另一个项目的接口

概述

2021-07-06 19:32:59 2505

原创 设计模式学习笔记

设计模式概述什么是设计模式设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。1995年,GoF(Gang of Four,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础》一书,共收录了23种设计模式,从此树立了软件设计模式领域的里程碑,人称[GoF设计模式」。学习设计模式的意义设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、

2021-07-05 11:42:18 136 2

原创 Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.

概述今天在做项目的时候,使用embded tomcat启动SpringBoot项目时,idia报错:Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.出错点排查使用本地tomcat运行项目发现没问题,但使用嵌入式tomcat就报上述错。我项目中embded tomcat导入方式为:<dependency> <groupId&gt

2021-06-29 17:33:19 220

原创 JUC学习笔记(三)

16.JMM请你谈谈你对Volatile的理解只要是谈到Volatile,说出下方的这几个特点:Volatile是 Java 虚拟机提供的轻量级的同步机制。1.保证可见性2.不保证原子性3.禁止指令重排说到可见性,那一定要谈JMM什么是JMM?JMM:Java内存模型,不存在的东西,只是一个概念!约定!关于JMM的一些同步约定:1.线程解锁前,必须把共享变量立刻刷回主存。2.线程加锁前,必须读取主存中的最新值到工作内存中!3.加锁和解锁是同一把锁!线程、工作内存、主内存之间的工作

2021-06-28 16:19:48 179 1

原创 注解与反射学习笔记

注解什么是注解?Annotation是从JDK5.0开始引入的新技术。Annotation的作用:不是程序本身,可以对程序做出解释。(这一点和注释(comment)没什么区别)可以被其他程序(比如编译器)读取Annotation的格式:注解是以”@注解名“在代码中存在的,还可以添加一些参数值,例如:@SuppressWarnings(value=“unchecked”)。Annotation在哪里存在?可以附加在package、class、method、field等上面,相当于给

2021-06-28 10:09:57 84

原创 JUC学习笔记(二)

9.读写锁ReadWriteLock接口,它只有一个实现类,即:ReentrantReadWriteLock类ReadWriteLock维护一对关联的locks,一个用于只读操作,一个用于写入。read lock可以由多个线程同时去读,而write lock只能同时由一个线程去写!独占锁(写锁) 一次只能被一个线程占有共享锁(度锁) 多个线程可以同时占有/** * ReadWriteLock * 独占锁(写锁) 一次只能被一个线程占有 * 共享锁(度锁) 多个线程可以同时占有 * 读写存在

2021-06-27 11:42:24 234

原创 SpringBoot项目中自定义数据源时需要排除掉DataSourceAutoConfiguration

概述在企业进行开发时,因为使用的是公司提供的数据源,这个时候需要排除掉SpringBoot默认提供的数据源。实现方式在SpringBoot启动类上方加一个注解即可:@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})public class App { public static void main(String[] args) { SpringApplication.run(App.cl

2021-06-24 13:52:24 3843

原创 根据List中所存储对象的字段进行排序

概述今天在写代码的时候,由于采用了并发处理,最后由多线程处理后返回的结果存入到并发容器当中!所期望的是返回的结果按照List中所存储对象的id字段进行升序排序,所以也就有了接下来的这篇博客!即将返回结果重新进行排序!解决方案:将返回的List结果集按照List中所存储对象的id字段进行升序排序!因为List接口提供了参数为Comparator接口实现类的方法。所以可以采用如下代码所示的方式进行排序://list为结果集List<PoJo> list = MultiThreadHan

2021-06-24 11:20:42 910

原创 本地启动tomcat失败,关闭时显示:Unable to ping server at localhost:1099

产生这个问题的原因是因为之前在tomcat的bin目录下的catalina.bat文件中添加了:set JAVA_OPTS=-server -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxNewSize=256m -XX:MaxPermSize=1024然后idea中配置的该参数与jvm中的该参数产生冲突造成的启动失败!解决方案就是:将tomcat的bin目录下的catalina.bat文件中的:set JAVA_OPTS=-server -Xms512m

2021-06-23 17:18:54 583

原创 JUC学习笔记(一)

多线程进阶=》JUC并发编程1.什么是juc主要就是涉及到Java中三个包下的内容,分别是:java.util.concurrentjava.util.concurrent.atomicjava.util.concurrent.Locks传统的多线程使用Thread,并且通常是将Runable交给Thread去执行!但Runable:没有返回值、效率比Callable低!2.线程和进程进程线程:进程:一个程序,QQ.exe,即程序的集合!一个进程往往包含多个线程,至少包含一个。j

2021-06-20 17:18:23 241

原创 本地项目通过mvn clean install命令将jar文件复制到本地的maven仓库中

本地项目通过mvn clean install命令将jar文件复制到本地的maven仓库中,这样的话,其他项目就可以使用相应的jar包了!

2021-06-18 19:30:23 397

原创 实习时学到的git使用操作规范

实习时组里的git使用规范:开发流程:1、 独立开发新功能,对其他业务不产生影响(1) 从master拉代码到个人开发分支,比如个人分支为:dev_xjy(2) 开发测试完成后,从master再拉一次代码,如有冲突在自己的开发分支解决(3) 合并自己开发分支到master(4) 从release分支merge到master(5) 集成测试通过后, 用compare工具比较master和release的代码差异,确定差异代码都为需要发布内容(6) 升级版本,打tag,把master分支mer

2021-06-18 19:20:38 201

原创 Tomcat的几种使用方式

概述在开发项目的过程中,我们常会使用tomcat作为服务器,接下来介绍一下使用tomcat的两种方式!方式1:即常见的通过部署本地tomcat的方式来启动项目步骤如下:1.本地安装tomcat,并配置好环境变量。可参考其他人的博客2.进入Run/Debug Configurations窗口界面,点击+号3.选择Tomcat Server -> Local4.按下图所示配置5.然后再配置deployment项5.配置时,选择非exploded版,配置好后,下方会带有包名相应的额

2021-06-18 19:10:15 617

原创 Controller方法中应该主要是放置逻辑流程代码

在平时开发的过程中,自己有一个习惯不好,就是喜欢把主要的逻辑流程放到biz层的代码中,比如在biz层把代码开发好了,自己又在service层写一个主要的逻辑控制代码,相当于起到了controller方法的作用。自己后续开发过程中意识到这样是不对的,需要把流程控制放在controller中,比如调用service层代码从数据库查询数据,然后交由biz层的服务代码来处理,然后将返回结果交由service层代码插入数据库,并且每走一步,中间的控制过程都可以由controller方法返回更详细的消息给前端!.

2021-06-15 17:26:56 780

原创 java后端接收List<Long>或者List<String>类型数据

概述平时在做项目时,当从前端以json字符串格式向后端传递对象时,后端使用@RequestBody注解解析为对象,当前端只是传递单个查询参数时,则以@RequestParam注解来接收参数!然后今天突然碰到后端的接收参数为List<Long>的情况,突然不知道是使用@RequestBody还是@RequestParam,查询一些资料后,问题得以解决,遂将解决办法记录如下!可行的解决方案使用@RequestBody!后端接收参数的代码为:注意使用@RequestBody注解时,应该使用p

2021-06-03 18:56:21 14307

原创 关于List<>集合对象size()方法返回值以及isEmpty()返回值的认知

概述之前一直对于List<>集合对象中关于size()以及isEmpty()等的认知不够明确,所以做一下总结如下!看代码://测试public static void main(String[] args) { //1. List<List<String>> stringLists = new ArrayList<>(); System.out.println(stringLists.size()); System.ou

2021-06-02 10:52:05 4634

原创 Autowired must be defined in Spring bean @Component/@Service

概述今天写代码时碰到一个问题,现记录如下:今天在一个类中注入一个bean对象,结果提示Autowired members must be defined in valid Spring bean (@Component|@Service|…),它的含义就是:自动注入对象必须定义在有效的spring bean内,也就是说只有本身作为bean的类才能注入其他对象。报错代码如下:public class LogQueryBiz { @Autowired private ErrorDetail

2021-06-01 20:06:10 32018 6

原创 String关于null以及集合关于null的判定与认识

1.String为null//定义一个str,此时str为nullString str;//注意:此时str不为null,此时只是str.length()==0而已String str = "";2.List<String>为null//此时的strs不为null,虽然strs中没有加入元素。即strs==null此时会返回false//但是此时的strs.size()==0会返回true,即strs不为null,但是其中的元素个数为0//此时的strs.isEmpty()会

2021-05-27 19:45:27 1271

原创 Gson与文件处理

概述1.介绍gson的使用,主要涉及序列化和反序列化2.通过Gson将类对象转化为json字符串,并保存为本地文件3.通过读取上传的MultipartFile文件,将json字符串反序列化为类对象4.org.apache.commons扩展1.Gson的使用Gson是google的一个工具类,主要是利用其处理json数据。功能类似于jackson、fastjson等使用Gson需要导入mavne依赖,如下:<!-- https://mvnrepository.com/artifact/

2021-05-26 19:44:24 1071 2

原创 Java获取Timestamp类的方式的方式

Java中获取Timestamp类的方式的方式//系统类的函数获取Timestamp time1 = new Timestamp(System.currentTimeMillis()); //通过Date类对象获取 Timestamp time2 = new Timestamp(new Date().getTime()); //通过Calendar类获取Timestamp time3 = new Timestamp(Calendar.getInstance().getTimeInM

2021-05-19 19:07:02 4347

原创 Java中抽象类实现接口

抽象类Java中的抽象类主要是作为一个公共父类的作用,它可以抽象出用来描述一种类型应该具备的基本特征与功能,具体行为则由子类通过方法重写来完成。抽象类具有的性质类定义前需要加上abstract关键字抽象类中可以没有抽象方法抽象类中可以有非抽象方法如果一个类中有至少一个抽象方法,那么它一定是抽象类,则类名前必须加上abstract关键字,抽象方法没有方法体。抽象类无法实例化只有覆盖了抽象类中所有的抽象方法后,其子类才可以实例化。如果存留未实现的抽象方法则该子类仍为一个抽象类,无法创建对象。

2021-05-06 14:47:04 7778 1

原创 static关键字的一点点小结

概述本篇博客介绍Java类中用static关键字修饰的方法以及实例变量所具有的特点!特点1:static修饰字段与非static字段区别1.用static修饰的实例变量或者类,它们是类共同拥有的,即属于某一个类的,而不属于对象,即全局唯一,假设实例化了好几个该类的对象,那么这些对象中static修饰的字段的值是共享的,即全局唯一;2.static修饰的字段存储在固定的内存空间处;3.在分配资源方面,首先给static关键字修饰的分配存储空间,之后再给非static分配存储空间!也就是先初始化stati

2021-04-30 14:55:54 83

原创 @SpringBootApplication注解所扫描的包的范围+多模块微服务架构包的结构

@SpringBootApplication==@Configuration+@EnableAutoConfiguration+@ComponentScan使用了@SpringBootApplication的注解会扫描启动类所在的包及其子包!所以此处介绍一个多模块微服务架构时包的结构:1.一般情况下,启动类位于web模块中,那么一般我们会将web模块中的包目录尽量居于最外层。比如:web模块包结构:com.company.robot然后在该包下可以有其他的子包,比如config包等,但是启动类必

2021-04-29 15:24:14 629

原创 git使用小技巧

概述本片博客主要介绍工作中日常git使用方法!正文1.checkout 的相关操作在git中,checkout指的是切换分支或创建分支等操作!(1)创建分支:git branch <分支名>//比如:git branch dev(2)切换分支:git checkout <分支名>//比如:git checkout dev(3)创建并切换分支:git checkout -b <分支名>//比如:git checkout -b dev2.克隆

2021-04-26 17:13:45 70

原创 使用map对不同种类的数据进行分类

概述对于一批数据,其输入方式为List<Entity>,假设现需要根据不同的symble值(假设不同symble值的种类未知),将List<Entity>进行分类,然后以List<List<Entity>>的形式进行返回。public class Entity{ private String symble; private T data;}思路如下:public List<List<Entity>> grou

2021-04-14 17:40:54 874

原创 读取File或MultipartFile文本文件中的每一行数据

概述对于以文本文件读取的MultipartFile或File类型的文件,如何读取文本文件中的每一行并进行操作呢?1.对于MultipartFile文件/*GBK编码方式:BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(multipartFile.getInputStream(),"GBK"));UTF8编码方式:BufferedReader bufferedReader = new Buffere

2021-04-02 15:41:02 7678 5

原创 MultipartFile与File类互转的封装工具类

概述由于业务需要,可能有时候需要将MultipartFile与File类进行互转,下方将二者互转的方法封装为工具类。1.MultipartFile转化为File类如果只是需要将MultipartFile转化为File类的话,不需要导入相关的mavern依赖,如下所示:import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.FileItemFactory;import org.apache

2021-04-02 15:27:14 2679

原创 java中null字符串与字符串长度为0的区别

在java中,null字符串指的是字符串对象连内存都不占用,就如同:String str;str不指向任何对象,即不指向任何内存地址,此即为null而长度为0的字符串是存在内存空间的,如下:String s1 = new String("");//只不过此时 s1.length()==0此时的s1指向字符串""所在的内存地址空间!...

2021-03-27 15:25:10 1742 1

原创 多个if/else语句的替代编码方式

概述在写代码时,有时需要通过不同的type值,进行区分,针对不同的type,进行不同的操作。如果以if/else的代码方式,则会显得很不美观,如下:if(type.equals("type1")){ //todo}else if(type.equals("type2")){ //todo}else if(type.equals("type3")){ //todo}...针对这种情况,很明显,对于type1、type2…typeN,比较好的方式是首先将type抽象为枚举类(不管是字

2021-03-26 19:04:38 487

原创 解析key值不确定的json数据

概述之前在使用json解析数据时,都是key为固定已知的情况,这种情况比较好解析。而今天碰到一种key不固定的情况,且key,value键值对个数也是不固定的,如下所示:可能返回的json数据是这样的:"nameResult":{ "name1":"张三", "name2":"李四"}也有可能是这样的:"nameResult":{ "name5":"王五", "name8":"旺七", "name6":"二狗"}对于这种key不确定,且key,v.

2021-03-26 10:58:32 3208

原创 字符串明明打印输出为null却无法被if判空条件拦截的情况

今天在解析Json数据时碰到一个超级奇怪的现象:在浏览器上查询得到的Json数据为(以xml形式显示):<intentionResponse>null</intentionResponse>然后我自己的java代码为:public static String extractIntentionResponse(String intentionResponse){ if(intentionResponse!=null) { System.out.pri.

2021-03-24 17:45:18 662

空空如也

空空如也

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

TA关注的人

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