自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 idea无法通过vpn连接到数据库

本人之前遇到情况当打开vpn时,使用工具navicat可以连接到数据库,但是IDEA连接不到。因为是Springboot项目,可以在启动类的配置项环境中增加。】,之后点击OK保存再启动项目即可。

2023-10-17 09:35:41 993

原创 上传项目代码至Gitee

在本地文件的根目录文件夹中鼠标右键打开Git Bash Here(提前安装好Git并配置)xxx为你项目克隆的https路径。(这个 . 不能漏掉!

2023-02-22 11:46:26 322

原创 宝塔面板一键配置

宝塔面板一键配置

2022-10-11 15:28:52 970

原创 Java工具类

Http、Redis、Mqtt等

2022-10-10 18:17:27 609

原创 XX水质监测系统的总结

XX水质监测系统的总结

2022-07-22 11:10:43 643

原创 逸云项目的总结

本人项目经验总结

2022-07-21 15:36:38 168

原创 解决bash: ./service.sh: /bin/bash^M: bad interpreter: No such file or directory报错问题

linux运行脚本

2022-06-24 14:46:26 2214

原创 MongoTemplate基础使用

一、普通查询操作1.is查询Query query = new Query();// where...is... 相当于 where ? = ?query.addCriteria(Criteria.where("数据库表字段名").is("你的参数"));//分页条件query.skip(size*(page-1)).limit(size);// findOne 返回的是一个对象 Class代表你的表对应的映射类mongoTemplate.findOne(query, Class.class

2022-05-27 15:21:40 2255

原创 MySQL存储过程与存储函数的区别

转载:https://blog.csdn.net/qq_32444825/article/details/79170109什么是存储过程?存储过程是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字和参数(如果该存储过程有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。优点:(1)重复使用:存储过程可以重复使用,可以减少开发人员的工作量。(2)提高效率:存储

2021-10-27 16:07:24 238

原创 简易代码小操作

1.根据对象的属性进行排序List<Student> sortStudent = list.stream().sorted((u1, u2) -> Integer.valueOf(u2.getHeight()).compareTo(Integer.valueOf(u1.getHeight()))).collect(Collectors.toList());2.得到該部門id下的所有子部門 List<Integer> list = new ArrayList<&gt

2021-10-18 15:46:00 126

原创 坑---- Error starting Tomcat context. Exception:org.springframework.beans.factory.BeanCreationExcepti

项目启动时报错,tomcat停止。报错信息:[ost-startStop-1] o.s.b.web.embedded.tomcat.TomcatStarter : Error starting Tomcat context. Exception: org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name 'servletEndpointRegistrar' defi

2021-08-23 14:39:01 7959

原创 项目的发布拉取

一、安装和配置Node.js教程文档:https://www.cnblogs.com/xinaixia/p/8279015.html (感谢博主!)二、安装VsCode教程文档:https://blog.csdn.net/Zhangguohao666/article/details/105665412/ (感谢博主!)三、下载Git教程文档:https://www.cnblogs.com/ximiaomiao/p/7140456.html (感谢博主!)四、生成SSH密钥教程文档:https:

2021-08-18 18:03:51 72

原创 Spring Security自定义登录

一、最关键的一个配置类自定义一个SecurityConfig类继承自WebSecurityConfigurerAdapter抽象类,实现三个主要的方法: /** * 1.身份认证接口 */ @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.userDetailsService(userDetailsService).

2021-08-18 16:04:44 4549 1

原创 端口被占用

一、查询端口被占用的进程cmd中:netstat -aon|findstr "8083"会出现:协议 本地地址 外部地址 状态 PID TCP 127.0.0.1:8083 0.0.0.0:0 LISTENING 2016二、杀死被占用的进程taskkill /pid 2016 -t -f...

2021-08-18 14:51:39 98

原创 Spring Security中的注解

Spring Security中的注解:@Configuration //相当于Spring的xml配置文件,在这个类方法的返回值是java对象,这些对象存放在spring容器中@EnableWebSecurity //表示启用SpringSecurity安全框架的功能@EnableGlobalMethodSecurity(prePostEnabled = true) //启用方法级别的认证@Bean //把当前类的对象放到容器中...

2021-08-10 11:33:18 280

原创 Shiro的在Springboot中的使用

一、Shiro简介Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。三个核心组件:Subject, SecurityManager 和 Realms.Subject:即“当前操作用户”。但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程、后台帐户(Daemon Account)或其他类似事物。它仅仅意味着“当

2021-08-09 17:00:34 360

原创 编程开发注意事项

1.使用mybatis分页插件时,要注意PageHelper.startPage(pageNum,PAGE_SIZE)的位置//紧跟在这个方法后的第一个MyBatis 查询方法会被进行分页PageHelper.startPage(pageNum,PAGE_SIZE);//所有图书信息返回List<BookCustom> bookList=libraryService.queryBook(book);这样查询出来的结果才会被真正分页2.当使用thymleaf模板时,要注意日期格式的转

2021-07-12 22:26:53 73

原创 今宏知识点

SOA是什么?SOA全英文是Service-Oriented Architectrue,中文意思是中文面向服务编程,是一种思想,一种方法论,一种分布式的服务架构。用途:SOA解决多服务零乱问题,SOA架构解决数据服务的复杂程度,同时SOA又有一个名字,叫做服务治理。因为SOA一般用于大型项目,比较复杂,所以一般总系统不会再集成,会拆分为多个,分别做服务,相互调用)。分布式框架有哪些?什么是分布式? 分布式系统就是把一个大的服务器拆分为多个小型的服务器,它们之间还是有相互联系的,看起来就

2021-07-08 23:47:45 66

原创 元丰知识点

简单介绍你说了解的设计模式?1.单例模式:保证一个类只有一个实例(饿汉、懒汉式)优点:减少了内存的开销缺点:如果要扩展功能,则要修改原来的代码,违背了开闭原则2.工厂模式:用于封装和管理对象的创建优点:扩展性高,如果想要增加一个产品,添加一个工厂类就行缺点:如果工厂类出问题,整个系统会受影响。3.代理模式:静态代理、JDK动态代理、CGLIB动态代理Spring AOP的代理模式默认就是JDK动态代理,当然也可以根据需要换成CGLIB代理4.建造者模式:将一个复杂对象的构建与

2021-07-08 01:06:41 69

原创 框架/架构/协议

Spring框架Spring框架:是一个轻量级的IOC和AOP容器框架,用来解决企业级应用程序开发中业务逻辑层和其他层之间的耦合问题。Spring有6个模块:核心容器(Core Container)、AOP和设备支持、数据访问与集成、Web与远程调用、发送报文(Messaging)、测试(Test)。IOC:即控制反转,将创建对象的控制权转移给Spring容器,由Spring的xml配置文件来创建各个实例和管理实例之间的依赖关系。Spring DI(依赖注入):1.setter方法注入

2021-07-05 21:58:51 246

原创 Java基础知识

JAVA的发展史Java:由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。Java是面向对象的编程语言,具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等Java类的三大特性封装:封装就是把同一类事物的共性(包括属性和方法)归到同一类中,方便使用继承:一个具有公共属性和方法的公共类作为父类,继承父类的类叫做子类,具备父

2021-07-04 19:27:11 73

原创 数据库浅述

1.MySQL的数据库引擎有那几种主要有INNODB、MYISAM、MEMORY等1、 INNODB、MYISAM这两个的底层采用的都是b+tree。2、 INNODB采用的是聚集索引,而MYISAM采用的是非聚集索引。3、 INNODB支持外键完整性约束,MYISAM不支持外键完整性约束。4、 INNODB的数据文件本身就是索引文件,MYISAM索引文件和数据文件是分离的5、 INNODB的索引文件保存的是完整的数据记录,而MYISAM的索引文件仅仅保存数据记录的地址...

2021-06-30 16:37:30 97

原创 集合类浅谈

一、List接口List是一个继承于Collection的接口,即List是集合中的一种。List是有序的队列,List中的每一个元素都有一个索引;第一个元素的索引值是0,往后的元素的索引值依次+1。和Set不同,List中允许有重复的元素。实现List接口的集合主要有:ArrayList、LinkedList、Vector、Stack。ArrayListArrayList是一个动态数组,也是我们最常用的集合。它允许任何符合规则的元素插入甚至包括null。每一个ArrayList都有一个初始容量:p

2021-06-26 16:06:20 59

原创 数据库表设计之三大范式

数据库设计原则中的三大范式第一范式(1NF):要求数据库表的每一列都是不可分割的原子数据项第二范式(2NF):在第一范式的基础上,第二范式需要确保数据表中的每一列数据都和主键相关,而不能只与主键的某一部分相关(相对联合主键来说)第三范式(3NF):在第二范式的基础上,第三范式需要确保数据库表中的每一列数据都与主键直接相关,而不能间接相关...

2021-06-24 22:46:37 204

原创 List集合的三个实现类比较

List集合的三个实现类比较ArrayList底层数据结构是数组,查询快,增删慢线程不安全,效率高Vector底层数据结构是数组,查询快,增删慢线程安全,效率低LinkedList底层数据结构是链表,查询慢,增删快线程不安全,效率高...

2021-06-23 00:10:40 96

原创 Java内存区域(运行时数据区域)和Java内存模型(JMM)

Java内存区域(运行时数据区域)和内存模型(JMM)Java内存区域和内存模型是不一样的东西,内存区域是指JVM运行时将数据分区域存储,强调对内存空间的划分。而内存模型(JMM)是定义了线程和主内存之间的抽象关系,即JMM是定义了线程和主内存之间的抽象关系,即JMM定义了JVM在计算机内存(RAM)中的工作方式,如果我们想要深入了解Java并发编程,就要先理解好Java内存模型。Java运行时数据区域众所周知,Java虚拟机有自动内存管理机制,如果出现内存泄漏和内存溢出等方面的问题,排查

2021-05-31 22:15:59 125

原创 GC回收机制

1.什么是GC,为什么要有GC?GC(Gabage Collection)就是程序中的垃圾回收。因为我们在开发中会创建大量的对象,会占据堆空间,如果不回收就会造成内存泄漏。所以,我们要有GC来释放掉没用的对象。2.简单说一下垃圾回收机制不同生命周期采用不同的算法Java采用分代回收,分为年轻代、老年代、永久代。(1)年轻代:所有新生成的对象都是放在年轻代中,年轻代的目的就是尽可能快速的手机掉那些生命周期短的对象。年轻代分为E区(Eden)、S1区(Survivor1)、S2区(Survivo

2021-05-24 14:59:40 95

原创 安全性框架SpringSecurity基础入门

一、安全性框架Apache Shiro 比较简单易用,不依赖于Spring,应用场景:传统的SSM项目SpringSecurity 比较复杂,功能较强大,属于Spring框架技术,应用场景:Spring boot+SpringCloud   SpringSecurity基础入门JWT+SpringSecurity组合,多用于微服务分布式开发中。JWT+SpringSecurity+SpringCloudJWT+SpringSecurity+SpringCloud+前端

2021-03-26 23:36:16 122

原创 索引(浅)

索引是什么?在关系型数据库中,索引是一种单独的、物理的对数据表中一列或多列的值进行排序的一种存储结构。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。索引的优缺点优点: 1. 提高数据检索效率,降低磁盘IO成本 2. 通过对数据的排序,降低排序成本缺点: 1. 索引需要占据物理空间 2. 当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。 索引的类型有哪些?主键索引-PRIMARY KEY:唯一索引-UNIQUE:普通索引-I

2021-03-12 22:24:07 243

原创 HTTP和HTTPS的区别

1 、HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的SSL加密传输协议。2、HTTP 和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。3、HTTP 的连接很简单,是无状态的。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息。)4、HTTPS 协议需要到 C.

2021-03-11 08:34:31 96

原创 悲观锁和乐观锁

悲观锁总是假设最坏的情况,该线程每次去拿数据的时候都认为其他线程会修改,所以每次都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,如行锁,表锁,读锁,写锁等,都是在操作之前线上锁。Java中的synchronized关键字和ReentrantLock类就是悲观锁思想的表现。乐观锁总是假设最好的情况,该线程每次去拿数据的时候都认为其他线程不会修改,所以不上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号机制和CAS算法实现。

2021-03-10 22:43:49 57

原创 死锁的现象和解决办法

什么是死锁?举个例子,线程A中包含了线程B的资源,而线程B也包含了线程A的资源。他们在互相占有对方资源的同时,还发送请求给对方要求释放资源,但是你不让我不让,就进入了阻塞状态而且一直出不来。这种多线程间因抢夺资源而导致相互等待的现象就叫做死锁。产生死锁的四个原则互斥 :共享资源同时只能被一个线程访问不可抢占 :其他线程不能强行抢占线程的资源请求与保持 :线程T在取得共享资源A的时候,同时请求等待线程B,一边占有,一边不满足还想有更多。循环等待条件 :线程T1在持有资源A,同时

2021-03-10 22:12:53 269

原创 TCP与UDP的区别

TCP与UDP的区别总结:1:TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据前不需要建立连接。2:TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按次序到达;UDP尽最大努力交付,即不保证可靠交付。3:TCP面向字节流,实际上是把TCP把数据看成一连串无结构的字节流;UDP是面向报文的,没有堵塞机制,因此网络出现堵塞不会使源主机的发送速率降低(对实时应用很有效,如IP电话,实时视频会议等)。4:每一条TCP连接只能是点到点的;UDP支持一

2021-03-10 20:53:46 105

转载 XML有哪些解析技术?区别是什么?

常见的XML解析技术有有DOM,SAX,STAX等DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问。SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问。STAX:STAX是一种

2021-03-10 20:13:22 625

原创 Synchronized与Lock的区别(表)

类别SynchronizedLock存在层次java的关键字,在jvm层面上是一个类锁的释放1、以获取锁的线程执行完同步代码,释放锁2、线程执行发生异常,jvm会让线程释放锁finally语句中必须释放锁,否则容易造成线程死锁锁的获取假设A线程获得锁,B线程等待。如果A线程阻塞,B线程会一直等待分情况而定,Lock有多个锁获取的方式,具体下面会说道,大致就是可以尝试获得锁,线程可以不用一直等待锁状态无法判断可以判断锁类型可重入 不可中断 非公平...

2021-03-08 22:04:15 77

原创 HashTable和HashMap、ConcurrentHashMap的原理和区别

HashTable:数组+链表,无论key、value均不能为null,线程安全的原因是在put和get方法中加了synchronized关键字,但是效率极低,在ConcurrentHashMap中做了相关优化。初始容量为11,扩容方式为原来的2倍+1计算index的方法:index = (hash & 0x7FFFFFFF) % tab.lengthHashMap:jdk1.7是数组+链表,但是jdk1.8后就是数组+链表+红黑树(当链表长度大于8时,转为红黑树),可以存储null

2021-03-08 21:45:33 87

原创 个人测试八

一、单选题1.以下关于synchronized描述不正确的是( C )2.下面关于wait()和sleep()两个方法描述错误的是( D )A. wait()方法属于Object的方法,而sleep()方法属于Thread类的方法B. wait()方法可以有参数,也可以无参数,sleep()方法必须要传入long的参数C. 两个方法都需要InterruptedException异常处理D. wait()无参方法调用后,线程阻塞。需要其他线程只能使用notify()方法才能唤醒。而sleep()可以在

2021-03-08 18:00:14 751 1

原创 sleep和wait的区别

sleepwait作用对象属于java.lang.Thread类的方法,作用于当前程序定义在Object类中,作用于对象本身同步sleep不需要在同步代码块或同步方法中使用只能在同步上下文中使用释放对象锁sleep不释放对象锁wait释放对象锁唤醒条件超时或者调用interrupt方法其他线程调用对象的notify()或者notifyAll()方法方法属性静态方法实例方法...

2021-03-07 21:03:58 58

原创 final、finally、finalize的区别

简单区别:final:用来定义属性、方法、类,分别表示属性不可交变,方法不可覆盖,类不可继承。finally:异常处理语句结构的一部分,表示总是执行。finalize:Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例如关闭文件等。中等区别:final:java中的关键字,修饰符。A).如果一个类被声明为final,就意味着它不能再派生出新的子类,不能作为父类被继承。因此,一个类不能同时被声明为abstract抽象类的和final的类。B)

2021-03-07 20:45:18 108

原创 Character类和方法

Character 类用于对单个字符进行操作。Character 类在对象中包装一个基本类型 char 的值char ch = 'a';// Unicode 字符表示形式char uniChar = '\u039A'; // 字符数组char[] charArray ={ 'a', 'b', 'c', 'd', 'e' };然而,在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情况。为了解决这个问题,Java语言为内置数据类型char提供了包装类Character类。

2021-03-07 17:25:39 138

空空如也

空空如也

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

TA关注的人

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