![](https://img-blog.csdnimg.cn/f4097a5c8d7340c6839a049236451381.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVA系列
文章平均质量分 76
Java系列
颜淡慕潇
CSDN专家博主,CSDN内容合伙人,新星计划导师,全栈领域优质创作者,阿里云专家博主/星级博主
专注于分享后端领域技术,承蒙厚爱,感谢支持!
希望和大家一起努力,成为更好的自己!
展开
-
【面试系列】Java面试题目以及详细答案(二)
在Java领域,面试通常涵盖了广泛的主题,包括语言特性、并发、性能优化、设计模式等方面。今天介绍一些常见的高级Java面试题目,并提供详细的答案。原创 2024-04-09 10:27:21 · 17960 阅读 · 5 评论 -
【面试系列】Java面试题目以及详细答案(一)
在Java领域,面试通常涵盖了广泛的主题,包括语言特性、并发、性能优化、设计模式等方面。今天介绍一些常见的高级Java面试题目,并提供详细的答案。原创 2024-04-08 14:40:04 · 13178 阅读 · 4 评论 -
【Java系列】SpringBoot 集成MongoDB 详细介绍
在Spring Boot中集成MongoDB的过程相对简单,以下是一个基本的步骤指南。确保项目已经使用了Spring Boot,并且你已经在项目中添加了MongoDB的依赖。原创 2023-11-21 17:39:25 · 37991 阅读 · 31 评论 -
【Java从入门到精通|1】从特点到第一个Hello World程序
本文介绍了Java编程语言的特点解释了如何安装和配置Java开发环境并通过一个简单的Hello World程序展示了如何编写并运行Java代码java数据类型和变量原创 2023-08-22 16:38:27 · 24154 阅读 · 44 评论 -
【Java系列】Java虚拟机—类加载器介绍
Java类加载器是Java虚拟机的一个重要组成部分,它负责将编译后的Java类文件加载到内存中,并转换为可以被JVM执行的代码。Java类加载器按照加载类的位置和方式可以分为引导类加载器、扩展类加载器、系统类加载器和自定义类加载器。Java类加载器的工作原理是按照“双亲委派”模型来实现的。Java类加载器的性能优化可以从缓存机制、类的预加载和Class文件的优化等方面入手。原创 2023-07-04 18:48:23 · 37737 阅读 · 57 评论 -
【Java系列】深入解析Stream API
Stream API是Java 8中最重要的新特性之一,它提供了一种简单、灵活和可读的方式来处理集合和数组中的元素,使得代码更加简洁、高效和易于维护。原创 2023-06-23 16:25:30 · 24027 阅读 · 89 评论 -
【Java系列】深入解析 Lambda表达式
Lambda表达式是Java 8中最强大和灵活的新特性之一,它可以用于各种不同的编程任务,使代码更加简单、灵活和易于读写。Lambda表达式的语法非常简洁,通常由一个参数列表、一个箭头符号和一个表达式主体组成。原创 2023-06-23 15:08:49 · 53265 阅读 · 86 评论 -
【Java系列】MyBatis-Plus常见面试题
是的,MyBatis-Plus的代码生成器可以自定义模板。在使用代码生成器时,可以指定自定义的模板,从而生成符合项目需求的代码。自定义模板需要遵循FreeMarker语法,可以根据需要修改模板内容。原创 2023-06-05 16:16:23 · 21329 阅读 · 40 评论 -
【Java系列】Mybatis-Plus 使用介绍二
LambdaQueryWrapper 是MyBatis-Plus 提供的一个查询条件构造器,它可以通过 Lambda 表达式来构造查询条件,使得查询条件更加简洁、易读。LambdaUpdateWrapper 是 MyBatis-Plus 提供的一个更新条件构造器,它可以通过 Lambda 表达式来构造更新条件,使得原创 2023-06-04 21:26:07 · 18210 阅读 · 51 评论 -
【Java系列】Mybatis-Plus 使用方式介绍
Mybatis-Plus 提供了多种方式来执行 SQL,包括使用注解、XML 映射文件和 Lambda 表达式等。其中,使用 Lambda 表达式是 Mybatis-Plus 推荐的方式,因为它更加直观和类型安全。原创 2023-05-31 23:10:41 · 11889 阅读 · 98 评论 -
【Java系列】深入解析Java多线程
Java多线程是提高程序并发性和响应能力的重要手段,需要掌握多线程的实现方式、同步机制、线程之间的通信机制等,以确保多线程程序的正确性和稳定性。原创 2023-05-09 08:43:54 · 22456 阅读 · 112 评论 -
IDEA安装阿里代码规范检查插件
选择Plugins->Maketplace->搜索框输入Alibaba->找到Alibaba Java Coding Guidelines->Install。重启IDEA,Restart IDE,重启之后,即可生效。首先,可以在Tools->阿里编码规约->切换中英文。在项目右键->编码规约扫描,即可检查代码。可根据提示进行修改代码。检查结果和提示如下图。原创 2023-02-02 15:18:34 · 7284 阅读 · 17 评论 -
【Java】基础知识
1,StringBuffer与StringBuilder的区别,及实现原理1、StringBuffer 与 StringBuilder 中的方法和功能完全是等价的,2、只是StringBuffer 中的方法大都采用了synchronized关键字进行修饰,因此是线程安全的,而 StringBuilder 没有这个修饰,可以被认为是线程不安全的。3、在单线程程序下,String...原创 2020-04-27 23:05:43 · 1151 阅读 · 1 评论 -
403权限问题解决
有时候报403,可能是文件权限问题,加一下权限原创 2021-08-23 15:18:36 · 4015 阅读 · 1 评论 -
什么是volatiley以及其原理
什么是volatilevolatile是一种同步机制,比synchronized或者Lock相关类更轻量级,因为使用volacile并不会发生上下文切换等开销很大的行为volatile是无锁的,并且只能修饰单个属性什么时候适合用vilatile一个共享变量始终只被各个线程赋值,没有其他操作作为刷新的触发器,引用刷新之后使修改内容对其他线程可见(如CopyOnRightArrayList底层动态数组通过volatile修饰,保证修改完成后通过引用变化触发volatile刷新,使其他线程可见)原创 2022-03-08 23:27:03 · 161 阅读 · 0 评论 -
JDK1.8新特性
Java8(又称为 jdk 1.8) 是 Java 语言开发迄今为止的一个最主要和用户最多的一个版本。Java8是Oracle公司于2014年3月18日发布 ,它不仅支持函数式编程,而且还拥有新的日期 API,Stream API 等操作,下面胖虎带领大家一探究竟Java 8的一些新特性。1.Lambda表达式2.添加默认方法3.Stream操作4.Optional 类5.Java时间APILambda 允许把函数作为一个方法的参数,使用Lambda表达原创 2022-03-09 10:07:14 · 664 阅读 · 1 评论 -
Queue接口面试题
1,Queue介绍Queue用于模拟队列这种数据结构,队列通常是指“先进先出”的容器。队列的头部保存在队列中时间最长的元素,队列的尾部 保存在队列中时间最短的元素。新元素插入到队列的尾部,访问元素操作会返回队列头部的元素。通常,队列不允许随机访问队列中的元素。Queue接口中定义了如下操作方法:== void add(Object e):将指定元素加入此队列的尾部。== Object element():获取队列头部的元素,但是不删除该元素。== boolean offer(Object原创 2022-03-18 18:33:58 · 266 阅读 · 1 评论 -
ArrayList和LinkedList的区别及使用场景
从图中可以看出: 1. List是一个接口,它继承与Collection接口,代表有序的队列。 2. AbstractList是一个抽象类,它继承与AbstractCollection。AbstractList实现了List接口中除了size()、get(int location)之外的方法。 3. AbstractSequentialList是一个抽象类,它继承与AbstrctList。AbstractSequentialList实现了“链......原创 2022-03-18 18:23:45 · 5147 阅读 · 10 评论 -
JAVA 集合面试题
目录什么是集合集合框架:用于存储数据的容器。集合的特点集合的特点主要有如下两点:常用的集合类有哪些?List,Set,Map三者的区别?List、Set、Map 是否继承自 Collection 接口?List、Map、Set 三个接口存取元素时,各有什么特点?集合框架底层数据结构Java集合的快速失败机制 “fail-fast”?怎么确保一个集合不能被修改?Collection接口 ==List接口===迭代器 Iterator 是什么?Iterator 和 Lis原创 2022-03-09 13:56:20 · 215 阅读 · 0 评论 -
List数据去重的五种有效方法
目录1:使用java8新特性stream进行List去重 (distinct()方法)2,借助Set的特性进行去重(set和list转换去重)3,遍历List集合,将元素添加到另一个List集合中4,利用set集合特性保持顺序一致去重5,使用list自身方法remove()–>不推荐1:使用java8新特性stream进行List去重 (distinct()方法)public static List<String> delRepeat(Lis.原创 2022-03-09 14:27:14 · 29531 阅读 · 1 评论 -
【Java】JDK11特性概览
JDK 11是自JDK 8以来的又一个LTS版本,是目前全球使用最多的LTS版本之一。下边看一下JDK 11的新特性。原创 2022-09-20 14:30:20 · 7004 阅读 · 0 评论 -
Java枚举优点以及使用场景
目录枚举的优点:枚举的特性使用场景 :枚举的优点:1 增强代码可读性:枚举可以让你代码看起来很舒服,而且常量统一管理起来,当项目很大的时候很容易管理。2 传递参数错误3 去除equals两者判断 由于常量值地址唯一,使用枚举可以直接通过“==”进行两个值之间的对比,性能会有所提高。4 编译优势(与常量类相比)常量类编译时,常量被直接编译进二进制代码中,常量值在升级中变化后,需要重新编译引用常量的类,因为二进制代码中存放的是旧值。枚举类编译时,没有把常量值编原创 2022-03-09 14:46:22 · 5440 阅读 · 0 评论 -
【HashMap】HashMap的6种遍历方法
通过对map entrySet的遍历,也可以同时拿到key和value,一般情况下,性能上要优于上一种,这一种也是最常用的遍历方法。原创 2022-09-19 17:17:20 · 12038 阅读 · 0 评论 -
【跨域】Java后端解决跨域问题
跨域请求是来自于浏览器的同源机制,凡是发送请求url的协议、域名、端口三者之间任意一个与当前页面地址不同即为跨域。原创 2022-09-16 11:34:40 · 4189 阅读 · 0 评论 -
if-else代码优化的八种方案
目录前言优化方案一:提前return,去除不必要的else优化方案二:使用条件三目运算符优化方案三:使用枚举优化方案四:合并条件表达式优化方案五:使用 Optional优化方案六:表驱动法优化方案七:优化逻辑结构,让正常流程走主干优化方案八:策略模式+工厂方法消除if else前言代码中如果if-else比较多,阅读起来比较困难,维护起来也比较困难,很容易出bug,接下来,本文将介绍优化if-else代码的八种方案。优化方案一:原创 2022-03-09 15:00:32 · 5550 阅读 · 3 评论