自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(113)
  • 资源 (3)
  • 收藏
  • 关注

原创 MySQL的四种事务隔离级别

什么是事务事务是应用程序中一系列逻辑相关的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性:一个事务中的一系列的操作要么全部成功,要么一个都不做。事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消之前的所有操作。在mysql的执行引擎当中只有innoDB支持事务,可以通过 “show engines;”查看。一、事务的基本要素(ACID)1、原子性(Atomicity):事务开始后所有操作,要么全部做完

2021-12-13 17:48:24 1180

原创 2022Java面试题大全(整理版)面试题附答案详解,最全面详细,看完稳了

目录Java基础1. String 和StringBuffer和 StringBuilder的区别?2. sleep() 区间wait()区间有什么区别?3. Object 中有哪些方法?其中clone(),怎么实现一个对象的克隆,Java如何实现深度克隆?ThreadLocal 相关4. ThreadLocal作用和实现方式 ?ThreadLocal会不会发生内存泄漏?ThreadLocal为什么使用弱引用?5. InheritableThreadLocal作用和实现方

2021-11-23 11:10:26 10097 9

原创 2W字详解Redis经典面试题(珍藏版)

1. 什么是Redis?它主要用来什么的?Redis,英文全称是Remote Dictionary Server(远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。与MySQL数据库不同的是,Redis的数据是存在内存中的。它的读写速度非常快,每秒可以处理超过10万次读写操作。因此redis被广泛应用于缓存,另外,Redis也经常用来做分布式锁。除此之外,Redis支持事务、持久化、LUA 脚本、LRU 驱动

2021-10-12 17:08:19 416 1

原创 超级实用的Java工具类

字符串工具类首先介绍一下commons-lang3的一个字符串工具类StringUtils,常用方法如下:1、isEmpty() 判断字符串是否为空。2、isBlank() 判断字符串是否为空,如果字符串都是空格,也认为是空。public class StringUtilsTest { public static void main(String[] args) { String str = " "; System.out.println(Strin

2021-10-09 11:01:35 306

原创 面试oracle数据库sql的基础知识

oracle的基本术语数据字典,数据库元数据信息的数据字典表和用户可以读取的数据字典视图组成。存放oracle数据库所用的有关信息。通过数据字典可以查看数据表和用户的一些信息。数据文件,一个oracle数据可以拥有一个或多个物理的数据文件,一个数据文件只对于一个数据库表空间,存储的逻辑结构,是组织数据和进行空间分配的逻辑结构。简单点,表空间就是一个或者多个数据文件的集合,所有的数据文件都被逻辑的存放在指定的表空间中。通常有system 、sysaux、 temp三个默认表空间。 系统

2021-09-28 19:53:01 125

原创 常见Oracle数据库面试题目

SQL语句分类:DQL(数据查询语言)selectDML(数据操作语言)insert、delete、updateDDL(数据定义语言)create、drop、alterDCL(数据控制语言)grant:把权限授予用户、revoke:把权限从用户收回TPL(TCL,事务控制语言):commit、rollbackOracle是怎样分页的:Oracle用rownum进行分页分页语句的步骤:a.最内层sql,查询要分页的所有数据b.第二层sql,通过rownum伪列确定显示数据的

2021-09-28 17:54:07 1834

原创 IDEA项目打包几种方式

IDEA项目打包几种方式第一种,最常见的使用maven项目的pom文件中引入spring-boot-maven-plugin插件<build> <finalName>文件名称</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId>

2021-09-27 11:31:20 22102 1

原创 一篇文章掌握整个JVM,JVM超详细解析!!!(持续更新中)

一篇文章掌握整个JVM,JVM超详细解析!!!(持续更新中)JVM内存模型JVM内存模型包括:虚拟机栈、堆、方法区、程序计数器、本地方法栈堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵完全二叉树的数组对象。栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或

2021-09-26 15:46:19 1104

原创 Java必会的工具库,让你的代码量减少90%

#Java必会的工具库,让你的代码量减少90%Java自带工具方法1.1 List集合拼接成以逗号分隔的字符串// 如何把list集合拼接成以逗号分隔的字符串 a,b,cList list = Arrays.asList(“a”, “b”, “c”);// 第一种方法,可以用stream流String join = list.stream().collect(Collectors.joining(","));System.out.println(join); // 输出 a,b,c//

2021-06-26 14:42:10 91

原创 Java之BigDecimal详解

一、BigDecimal概述​ Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用BigDec

2020-12-19 15:37:34 399 1

原创 JAVA后端知识点长啥样?

SpringSpring框架的七大模块Spring Core:框架的最基础部分,提供 IoC 容器,对 bean 进行管理。Spring Context:继承BeanFactory,提供上下文信息,扩展出JNDI、EJB、电子邮件、国际化等功能。Spring DAO:提供了JDBC的抽象层,还提供了声明性事务管理方法。Spring ORM:提供了JPA、JDO、Hibernate、MyBatis 等ORM映射层.Spring AOP:集成了所有AOP功能Spring Web:提供了基础的 We

2020-09-12 10:06:36 117 1

原创 Java工程师面试题总结及参考答案(一)

1、 JVM结构原理、GC工作机制详解转载于:https://blog.csdn.net/tonytfjing/article/details/44278233一、JVM结构根据《java虚拟机规范》规定,JVM的基本结构一般如下图所示:从左图可知,JVM主要包括四个部分:1.类加载器(ClassLoader):在JVM启动时或者在类运行时将需要的class加载到JVM中。(右图表示了从java源文件到JVM的整个过程,可配合理解。 关于类的加载机制,可以参考http://blog.csdn.n

2020-08-11 11:11:23 541

原创 Linux常见操作命令整理

常用指令ls   显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir 创建目录 -p 创建目录,若无父目录,则创建p(parent)cd 切换目录touch 创建空文件echo 创建带有内容的文件。cat 查看文件内容cp

2020-06-16 17:00:26 100

原创 你对HTTP请求了解吗?POST和GET有什么区别?分别运用在那些情况下?

安全性:POST方法比GET方法更安全,因为数据不会显示在URL中,不容易被截获和篡改。数据传输方式:GET方法通过URL传输数据,数据以参数的形式附加在URL后面。而POST方法将数据放在HTTP请求的主体中,不会显示在URL中。缓存:GET请求的结果可被浏览器或代理服务器缓存,而POST请求结果一般不被缓存。数据大小限制:GET请求的传输数据大小受限于URL的长度,一般来说,不超过2KB。同时,由于数据在URL中,易于共享和保存。请求历史:GET请求会被保存在浏览器历史记录中,而POST请求不会。

2024-02-03 15:26:51 266

原创 解决idea [08S01] 无法连接 sql server 数据库,报错:驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接

解决idea [08S01] 无法连接 sql server 数据库,报错:驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接

2024-01-17 14:12:07 1920

原创 java实现调用http请求的几种常见方式

【代码】java实现调用http请求的几种常见方式。

2024-01-13 14:52:40 523

原创 SQLServer如何统计每两小时的值

group by (convert(nvarchar(10),recdate,112) + cast(FLOORDATEPARThour,DateTime类型字段] )/2) as nvarchar(2)convertnvarchar(10),(DateTime类型字段) 112) + castFLOOR(DATEPART(hour,DateTime类型字段) )/2) as nvarchar(2))select sum(数字),年月日 (小时/2取整) from 表。Sql Server实现。

2023-08-10 18:04:06 555

原创 sqlserver 如何将Null和空字符串分组在一起

如何将Null和空字符串分组在一起。

2023-07-24 09:49:53 229

原创 java中根据某一属性比较两个list集合是否相同

【代码】java中根据某一属性比较两个list集合是否相同。

2023-06-30 15:22:24 860

原创 java8判断list<Map<String,Object>> 对象某个属性的值是否重复

java8判断list 对象某个属性的值是否重复。

2023-06-27 17:15:44 2644

原创 java反编译工具--jd-gui

JD-GUI》是一款反编译软件,JD分为JD-GUI、JD-Eclipse两种运行方式,JD-GUI是以单独的程序的方式运行,JD-Eclipse则是以一个Eclipse插件的方式运行。官方下载:https://github.com/java-decompiler/jd-gui/releases。也可以自己找其他途径进行下载。

2023-06-20 16:12:54 1245

原创 list<Map> 怎么转list<String>

上述代码将每个Map类型的元素转换为其字符串表示形式,然后将这些字符串对象收集到一个List中。可以根据需要修改map()方法中的转换代码来适应不同的需求。

2023-06-12 16:14:48 3969

原创 索引失效的7个原因

MySQL】Mysql索引失效场景(15个必知)

2023-06-08 09:46:43 80

原创 根据list中的对象某个属性 进行分组

根据list中的对象某个属性 进行分组。

2023-05-29 19:21:38 416

原创 IDEA文件夹目录分层显示

IDEA文件夹目录分层显示

2023-05-13 15:38:11 5246

原创 SQL Server实现group_concat功能

group_concat( [DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator ‘分隔符’] )group_concat函数首先根据group by指定的列进行分组,将同一组的列显示出来,并且用分隔符分隔。group_concat([distinct] 字段名 [order by 排序字段 asc/desc] [separator ‘分隔符’])将group by产生的同一个分组中的值连接起来,返回一个字符串结果。

2023-05-08 17:39:34 2041

原创 Java中==和equals的区别

未重写equals方法的类:Object中的equals方法实际使用的也是==操作符,比较的是他们的内存地址是否同一地址。重写了equals方法的类:实现该类自己的equals方法比较逻辑(一般是比较对象的内容是否相同)。引用类型对象变量其实是一个引用,它们的值是指向对象所在的内存地址,而不是对象本身。Integer:比较对应的基本数据类型int的值是否相同(==操作符)。引用数据类型:比较的是他们的内存地址是否同一地址。基本数据类型:比较的是他们的值是否相同。

2023-02-07 19:39:09 84

原创 idea打war包

打包

2023-01-30 18:01:13 107

原创 isnull和sum的关系

在一组数据统计的过程中,只要使用到sum函数,就必须使用isnull函数包含起来,因为你如果有其中一项没有值,那么你的整个运算的值就是null,查询出来可能就是0。先问大家这样一个问题,print 100+null 等于多少?这是我刚刚写存储过程的时候意识到的一个问题!

2022-08-20 09:12:35 604

原创 java获取文件大小

大小转换为 GB MB KB B。

2022-08-18 11:32:31 1556

原创 SpringBoot2.x 整合AOP切面编程

面向方面编程(AOP)通过提供另一种思考程序结构的方式来补充面向对象编程(OOP)。OOP中模块化的关键单元是类,而在AOP中,模块化单元是方面。

2022-08-16 17:23:29 359

原创 Java中的枚举Enum

在Java没有提供枚举的时候,比如我们要使用一个表示周几的枚举值怎么办?

2022-08-16 16:57:02 163

原创 Stream流相关操作-----List转map,List转String,Filter过滤

Stream流相关操作-----List转map,List转String,Filter过滤。

2022-07-26 14:15:11 1765

原创 SpringBoot整合Druid数据源

一、SpringBoot 整合DruidSprintBoot 默认使用的是 HikariDataSource数据源,这次整合一个第三方的数据源 Druid ,它是阿里开发的一款开源的数据源,被很多人认为是Java语言中最好的数据库连接池,因为 Druid 能够提供强大的一整套监控和扩展功能。默认情况下,sprintboot使用hikaridatasource数据源。这一次,集成了第三方数据源Druid。它是阿里巴巴开发的开源数据源,许多人认为它是Java语言中最好的数据库连接池,因为Druid可以提供一

2022-06-14 19:23:32 214

原创 MySQL 高性能优化规范建议

没有特殊要求(即 Innodb 无法满足的功能如:列存储,存储空间数据等)的情况下,所有表必须使用 Innodb 存储引擎(MySQL5.5 之前默认使用 Myisam,5.6 以后默认的为 Innodb)。Innodb 支持事务,支持行级锁,更好的恢复性,高并发下性能更好。兼容性更好,统一字符集可以避免由于字符集转换产生的乱码,不同的字符集进行比较前需要进行转换会造成索引失效,如果数据库中有存储 emoji 表情的需要,字符集需要采用 utf8mb4 字符集。使用 comment 从句添加表和列的备注,

2022-06-11 10:55:47 285 1

原创 Sqlserver 死锁查询以及批量解锁方法

(1)下面是查询死锁进程(2)杀死死锁进程或者kill 62;

2022-06-07 11:08:53 8965

原创 解决ThreadLocal在线程池中被重复使用的问题

什么会出现上面的情况呢,明明是第二个查询设置了PageHelper.startPage,但是为什么会影响第一个查询呢. 如果看过PageHelper.startPage源码的小伙伴就会知道PageHelper.startPage的底层是使用ThreadLocal进行实现的,分页参数只会在当前的线程有效. 这么说好像没啥问题对吧.但是我们的web服务器tomcat其实是使用的线程池去接收浏览器的请求的,那么在线程池中线程是复用的.而我们之前设置了PageHelper.startPage的线程也会随着当前任务结

2022-06-01 17:35:45 1066

原创 SQLserver 查询某个表中所有字段并用逗号拼接

查询某个表中所有字段SELECT a.name, b.name, * FROM sys.columns a JOIN sys.types b ON b.user_type_id = a.user_type_id WHERE a.object_id = OBJECT_ID( 'dbo.T_User' )查询某个表中所有字段并逗号拼接select stuff((select ','+ 'p.'+a.nameFROM sys.columns a JOIN sys.types b

2022-05-13 14:18:43 2926

原创 BigDecimal在计算中丢失精度问题

首先我们先用一段代码复现问题根源,如下所示:public static void main(String[] args) { BigDecimal bigDecimal=new BigDecimal(88); System.out.println(bigDecimal); bigDecimal=new BigDecimal("8.8"); System.out.println(bigDecimal); bigDecimal=new BigDecimal(8.8);

2022-05-06 09:27:46 2370

原创 SpringBoot Maven升级自带的jar包版本

当SpringBoot自带jar 包版本较低时如图:想要升级jar包到更高版本,需要在pom.xml文件中做修改:要先去掉默认配置 添加的依赖才会生效 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <!-- 去掉springboot默认配置 -->

2022-04-27 11:33:30 3387

Java架构面试专题汇总

架构师是做什么的? 软件架构指的是软件的顶层结构,而架构设计是为了应对软件系统的复杂度而提出的解决方案,并不是所有的项目都需要架构,在错误的地方去做架构只会本末倒置 然后说java架构师,那就是在java领域内解决这个问题的人员,至于做什么取决于这个项目的难点和复杂点在哪里,架构师就是通过架构去解决这个痛点。 java架构师应具备什么技能? 一、常见模式与工具 学习Java技术体系,设计模式,流行的框架与组件是必不可少的: 常见的设计模式,编码必备 Spring5,做应用必不可少的最新框架 MyBatis,玩数据库必不可少的组件 二、工程化与工具 工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的: Maven,项目管理 Jenkins,持续集成 Sonar,代码质量管理 Git,版本管理 三、分布式架构 高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的: 分布式架构原理 分布式架构策略 分布式中间件 分布式架构实战 四、微服务架构 业务越来越复杂,服务分层,微服务架构是架构升级的必由之路

2022-04-22

2022最新最全java高级工程师面试题.rar

2022最新最全java高级工程师面试题

2021-10-15

浅谈JAVA虚拟机JVM及工作原理

JVM超详细解析

2021-09-26

空空如也

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

TA关注的人

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