自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2021-12-13 17:48:24 1114

原创 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 6936 6

原创 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 363 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 190

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

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

2021-09-28 19:53:01 82

原创 常见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 1696

原创 IDEA项目打包几种方式

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

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

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

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

2021-09-26 15:46:19 854

原创 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 61

原创 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 306 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 72 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 485

原创 Linux常见操作命令整理

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

2020-06-16 17:00:26 77

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

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

2023-05-29 19:21:38 10

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

IDEA文件夹目录分层显示

2023-05-13 15:38:11 122

原创 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 410

原创 Java中==和equals的区别

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

2023-02-07 19:39:09 41

原创 idea打war包

打包

2023-01-30 18:01:13 63

原创 isnull和sum的关系

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

2022-08-20 09:12:35 224

原创 java获取文件大小

大小转换为 GB MB KB B。

2022-08-18 11:32:31 640

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

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

2022-08-16 17:23:29 267

原创 Java中的枚举Enum

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

2022-08-16 16:57:02 75

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

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

2022-07-26 14:15:11 1098

原创 SpringBoot整合Druid数据源

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

2022-06-14 19:23:32 119

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

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

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

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

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

2022-06-07 11:08:53 7224

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

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

2022-06-01 17:35:45 666

原创 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 2022

原创 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 1849

原创 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 2684

原创 都什么年代了你还在用Date

传统的 Date这篇文章就主要来谈一谈 Java 中处理日期时间用什么 API 比较好。我本来不准备写这篇文章的,因为我觉得 Java17 都特么出来了,大家对 Java8 提供的时间日期 API 都很熟悉了。但是经过我调研,很多中小公司还在用老版本的 Date 来处理时间日期,视 Java8 提供的时间日期 API 于无物,所以还是想来推荐一下新一代的时间日期 API,希望对大家有帮助。老版本的 Date 相信大家都很熟悉了,这里就简单介绍几个点 SimpleDateFormat sdf =

2022-04-27 10:17:40 126

原创 mybatis xml注释sql 的注意事项

说明:在mybatis 的sql里不是不能写注释,而是注释不能有#{},mybatis仍旧会把#{}算成一个带注入的参数如代码段2所示,mysql数据库更换为oracle数据库时,#{date}需要明确jdbcType,而该代码段中仅将适用于mysql的sql注释,依旧会报同样的错,最好是将注释的sql删除。注意事项1、where语句等用到大于小于等符号时候,需要使用 <![CDATA[ > ]]>或者 <![CDATA[ < ]]>进行识别。2、如果sql文中有

2022-04-22 16:26:40 1479

原创 Map循环遍历的常用方法

常用Map循环遍历的方法 Map<String, Object> map = new HashMap<String, Object>(); map.put("1", "a"); map.put("2", "b"); map.put("3", "c"); System.out.println(map.containsKey("4")); //构造测试数据 List<Map<

2022-04-22 15:10:29 708

原创 技巧集:nginx作代理时,查看请求被转发到哪台服务器

使用Nginx代理多台服务器实行负载的时候,如何查看某一个请求被转发到哪台服务器上呢?pstream demo {server 127.0.0.1:8781;server 127.0.0.1:8087;} server { listen 80; server_name demo.testcas.com; #charset koi8-r; #access_log logs/host.access.log mai

2022-04-21 16:36:11 2660

原创 测试工具ApacheJMeter使用教程-详解

首先了解一下jmeret主要的配置元件1、测试计划:是使用 JMeter 进行测试的起点,它是其它 JMeter测试元件的容器2、线程组:代表一定数量的用户,它可以用来模拟用户并发发送请求。实际的请求内容在Sampler中定义,它被线程组包含。3、配置元件:维护Sampler需要的配置信息,并根据实际的需要修改请求的内容。4、前置处理器:负责在请求之前工作,常用来修改请求的设置5、后置处理器:负责在请求之后工作,常用获取返回的值。一个接口的调通1.首先 选择添加 ---------

2022-04-19 18:40:55 3659

原创 月薪3万Java优秀简历模板

好的简历模板可以让自己在众多面试者中脱颖而出 也是挣马内的第一步 今天博主就给大家分享一波博主珍藏的一些模板 此处只展示几个例子 需要call我 记得一键三连呦阅览近万简历,对简历设计表达有充分理解,一份成功简历是求职路有力助手,不用过多花哨模板,简洁大方,主题鲜明,把应有的优势表达出来。...

2022-04-12 18:57:53 1540 5

原创 9张图+32个案例带你轻松玩转Java stream

Java8 中增加了 Stream 处理,可以配合 Lambda 表达式来使用,让操作集合非常便利。虽然我们平时经常使用 Stream,但用到的方法其实非常少,这篇文章就来完整的介绍 Stream 的使用Stream 提供的方法非常多,按照调用当前方法是否结束流处理,可以分为中间操作和结束操作。对于中间操作,又可以分为有状态的操作和无状态操作:无状态的操作是指当前元素的操作不受前面元素的影响。有状态的操作是指当前元素的操作需要等所有元素处理完之后才能进行。对于结束操作,又可以分为短路操作和非.

2022-03-01 19:56:06 88

原创 Java设计模式:策略Strategy模式,以电影票折扣策略为例

多态:多态,是面向对象的程序设计语言最核心的特征。多态,意味着一个对象有着多重特征,能够在特定的情况下。表现不同的状态,从而相应着不同的属性和方法。通俗的说,同一操作作用于不同的对象,能够有不同的解释,产生不同的执行结果。在执行时,能够通过指向基类的指针,来调用实现派生类中的方法。/** * 折扣策略。 * * @author zhangfly * */public interface DiscountStrategy { public double getDiscountPrice(.

2022-02-28 19:39:00 949

原创 JavaSE进阶知识学习----多线程基础知识

多线程基础知识1.概述程序,进程和线程程序:是为了完成某一特定的功能或任务,用某种语言编写的一段静态代码。进程:是程序的一次执行过程,它自身有产生,存在和消亡的生命周期。线程:是进程的小单元,是一个程序内部的一条执行路径。2.Java中多线程的创建和使用2.1线程的创建方法之一:继承Thread类,重写Run()方法。使用说明:1.定义子类继承Thread类。2.子类中重写Thread类中的run方法。3.创建Thread子类对象,即创建了线程对象4.调用线程对象的start方法,启动

2022-02-15 10:38:39 101

原创 JAVA 获取当前时间(年月日时分秒)

获取当前时间(年月日时分秒)Date d = new Date();SimpleDateFormat sbf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(sbf.format(d));或System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); 2020-04-28 14:23:05获取当前时间戳

2022-01-24 10:53:37 31477

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关注的人

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