- 博客(26)
- 收藏
- 关注
原创 【Java】parallelStream踩坑日记
选择方案需根据实际场景:简单场景:优先使用stream()或forEach。高并发写操作:考虑CopyOnWriteArrayList或同步包装类。避免在未保证线程安全的情况下直接使用parallelStream操作非线程安全集合。
2025-09-08 13:28:31
942
原创 软考备考——五、结构化开发
总结:耦合性和内聚性是模块独立性的两个定性标准,在将软件系统划分模块时,应尽量做到高内聚、低耦合,提高模块的独立性。软件系统的可维护性评价指标包括:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。加工逻辑描述方法有结构化语言、判定表(决策表)和判定树。通过文档在项目期内进行沟通。在系统规划和系统分析阶段通过文档进行沟通。黄金准则:用户操纵控制、减轻用户的记忆负担、保持界面一致。内聚是对一个模块内部各个元素彼此结合的紧密程度的度量。在系统运行期间进行沟通。在运行维护期间进行沟通。
2025-08-28 14:21:36
904
原创 软考备考——四、软件工程
CMM 将软件过程改进分为以下5个成熟度级别:1)初始级(最低成熟度)软件过程的特点是杂乱无章,有时甚至很混乱,几乎没有明确定义的步骤,2)可重复级建立了基本的项目管理过程和实践来,有必要的过程准则来重复以前在同类项目中的成功。3)已定义级管理和工程两方面的,并综合成整个软件开发组织的。4)已管理级制定了软件过程和产品质量的详细度量标准。5)优化级(最高成熟度)加强了定量分析,通过来自反馈和来自的反馈使过程能不断持续地改进。
2025-08-18 16:06:54
497
原创 软考备考——三、操作系统
操作系统(OS)是计算机中的一个系统软件,它管理和控制计算机系统的硬件和软件资源,合理地组织计算机的工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。
2025-08-13 17:55:30
982
原创 软考备考——二、程序设计语言基础知识
函数的定义包括两部分:函数首部和函数体。函数的定义描述了函数做什么和怎么做。函数定义的一般形式为:返回值的类型 函数名(形式参数表) //函数首部 函数名(实参表); 函数体;(1)值调用(Call by Value)。若实现函数调用时将实参的值传递给相应的形参, 则称为是传值调用。在这种方式下形参不能向实参传递信息。(2)引用调用(Call by Reference)。
2025-08-08 09:41:36
584
原创 软考备考——一、计算机基础知识
计算机系统是由和组成的,计算机基本硬件系统由五大部件组成。运算器、控制器等部件被集成再一起,统称为。CPU是硬件系统的核心,用于数据的加工处理,能完成各种算术、逻辑运算及控制功能。
2025-08-06 14:04:54
1033
原创 MyBatis 踩坑日记:Boolean 类型条件判断的常见误区
在 MyBatis-Plus 的 XML 映射文件中,编写了如下条件判断语句:</其中为 Boolean 类型参数,实际使用时发现条件判断存在异常:当为false时,条件未按预期生效。
2025-07-07 17:49:42
518
原创 poi-tl 操作word文档(图片、表格、文字、图表、附件实现)
本文聚焦 poi-tl 1.10.6 版本,介绍其操作 Word 文档的核心方法。文章从基础配置入手,阐述实体类准备,通过 LoopRowTableRenderPolicy 实现表格数据写入,支持文字、图片、3D 饼图等元素插入。同时展示添加 Excel 附件的方案,利用 AttachmentRenderPolicy 绑定附件标签。最终呈现模板渲染后的效果图,完整覆盖 Word 文档自动化生成从数据处理到输出的全流程。
2025-06-12 11:34:15
826
原创 IDEA内存配置失效(已解决)
我在工作中使用idea,经常出现内存不足的问题,然而每次配置内存都不生效,在查找很多资料之后,终于找到了解决方法!
2025-04-21 10:08:02
3475
原创 Java问题小记——入职心得
实际上使用 minIO 进行文件上传,可以设置下载链接过期的时间,并且这个文件上传之后文件一直都在云服务器上,minIO 工具类提供了一个 getUrlByKey() 方法,可以根据文件名去获取下载地址,再拼接上文件名,就是一个完整的下载地址了。本周是我入职的第一个星期,本周公司并没有发布很多的任务给我,第一天上午办理入职,带我的老员工简单的介绍了一下项目,然后下午就是把代码拉下来,本地运行起来,然后再看看项目,熟悉熟悉业务。
2025-03-23 17:47:30
541
原创 Java入职篇(5)—— IDEA快捷键
熟练使用 IDEA 快捷键,可以显著提升编码效率。本文汇总了 Windows 系统下 IDEA 的快捷键,非常多,但是没有必有都要记住,仅需要记住下文标注 ✔️ 的必会快捷即可,至于那些使用频率不是很高的快捷键,手动点击菜单即可。注意:本手册列举的都是 IDEA 默认的快捷键,不建议改成其他编辑器的快捷键,如 Eclipse、Visual Code 等。
2025-03-15 22:03:44
898
原创 Java入职篇(4)——git的使用
这两个命令的作用是相同的,都会将当前目录及其子目录下的所有更改和未跟踪的文件添加到暂存区。它会把当前分支的HEAD移动到指定的提交,并重置暂存区,但保留工作目录的更改。更简洁的提交历史,这将以单行格式显示每个提交,通常包括提交的哈希值和提交信息的第一行。首先,你需要获取远程仓库的URL。这将把当前分支的HEAD移动到指定的提交,并丢弃工作目录和暂存区的所有更改。这将把当前分支的HEAD移动到指定的提交,但保留工作目录和暂存区的更改。这将把当前分支的HEAD移动到指定的提交,但保留工作目录和暂存区的更改。
2025-03-15 17:46:07
1390
原创 Java入职篇(3)——Linux常用指令
文本编辑: vi和vim,是linux中的文本编辑器,用来在linux中创建、查看或者编辑文本文件,就好像windows中的记事本一样。注:如果使用时显示没有该命令,可以使用命令进行安装: yum install lrzsz。防火墙 : systemctl status firewalld。本地上传文件到Linux服务器命令:rz -y。运行的进程和系统性能信息 : top。内存使用情况 : free -h。下载文件到本地电脑命令:sz 文件名。磁盘使用情况 :df -h。压缩和解压相关的命令。
2025-03-14 23:04:34
940
原创 Java入职篇(2)——开发流程以及专业术语
在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。现在小部分范围内使用,然后逐步扩大使用数量,然后就是在这个过程中发现一些不易发现的问题,把之前不易发现的“灰“的问题。修改完测试提的bug后,测试再进行验收性的测试,看bug有没有解决,或者是不是修改bug的过程中有新的bug。测试人员写的测试方案,基本上就是编写的测试过程,以及测试的预取结果。
2025-03-14 22:22:02
487
原创 Java入职篇(1)——心态篇
所以,我决定做一些关于入职之前必备的一些东西,希望大家也能分享自己关于入职前的一些心得与体。虽然说我们已经进入到了这个行业,但是我们自身一定要认识到,自己只是通过一段时间的学习才进入这个行业的。3、我们是不具备真实的这个开发经验的,所以说我们可以说是带薪学习,只要是能够待在里面不仅是能够赚到钱,还能够积累工作方面的经验。但是,大家要认识到,任何公司想要招聘人,肯定不是只面试你一个,而是多个。2、能够面试你的人都是在公司有一定地位的人。1、我们不具备真实的工作经验,在编写代码的时候,容易犯一些低级的错误。
2025-03-14 21:19:01
409
原创 Redis数据库
Redis 是一种基于内存的非关系型数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。对数据类型的操作都是**原子性(Redis的事务不支持原子性)**的,因为执行命令由单线程负责的,不存在并发竞争的问题。惰性删除策略的做法是,不主动删除过期键,每次从数据库访问 key 时,都检测 key 是否过期,如果过期则删除该 key。惰性删除策略的优点。
2025-02-26 10:14:58
684
原创 MySQL数据库
隔离性:通过锁机制实现,当事务操作数据时加锁,让事务前后看到的数据一致,事务在读取某数据的瞬间,必须先对其加行级共享锁,直到事务结束才释放;在InnoDB引擎中,会将事务记录到undolog日志文件中,如果失败了或者主动rollback,就可以通过undo log的内容,将事务回滚。比如事务A锁住了资源1,然后去申请资源2,但事务B已经占据了资源2,需要资源1,谁都不退让,就死锁了。,而varchar的存储的长度是可变的,当varchar更改前后数据长度不一致时,就不可避免的会出现碎片的问题。
2025-02-16 16:09:52
1069
原创 JAVA学习之路(九)—— 消息队列MQ
我们可以把消息队列看作是一个存放消息的容器,当我们需要使用消息的时候,直接从容器中取出消息供自己使用即可。由于队列 Queue 是一种先进先出的数据结构,所以消费消息时也是按照顺序来消费的。参与消息传递的双方称为生产者和消费者,生产者负责发送消息,消费者负责处理消息。操作系统中的进程通信的一种很重要的方式就是消息队列。我们这里提到的消息队列稍微有点区别,更多指的是各个服务以及系统内部各个组件/模块之前的通信,属于一种中间件。对比方向概要吞吐量。
2025-01-11 21:11:30
1534
原创 JAVA学习之路(八)—— SpringCloud
微服务(Microservice Architecture) 是近几年流行的一种架构思想,关于它的概念很难一言以蔽之。究竟什么是微服务呢?在此引用ThoughtWorks 公司的首席科学家 Martin Fowler 于2014年提出的一段话:原文:https://martinfowler.com/articles/microservices.html汉化:https://www.cnblogs.com/liuning8023/p/4493156.html。
2024-12-29 13:50:43
1285
原创 JAVA学习之路(七)—— SpringBoot
Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。SpringBoot 就是一个javaweb的开发框架,和SpringMVC类似,对比其他javaweb框架的好处,官方说是简化开发,约定大于配置, you can “just run”,能迅速的开发web应用,几行代码开发一个http接口。
2024-12-10 11:51:00
1796
原创 JAVA学习之路(六)—— SpringMVC
MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。
2024-12-07 19:16:32
1210
原创 JAVA学习之路(五)—— Mybatis
MyBatis 是一款优秀的持久层框架它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
2024-12-06 20:34:39
1422
原创 JAVA学习之路(四)——Spring
Spring 是一个开源框架,它由 Rod Johnson 创建。Spring 框架是以 interface21 框架为基础,经过重新设计并不断丰富其内涵,于2004年3月24日发布了1.0版本。Spring理念:使用现有技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架!AOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。
2024-12-06 19:55:09
1286
原创 JAVA学习之路(三)——JAVA并发
线程在执行过程中会有自己的运行条件和状态(也称上下文),比如上文所说到过的程序计数器,栈信息等。当出现如下情况的时候,线程会从占用 CPU 状态中退出。主动让出 CPU,比如调用了sleep()wait()等。时间片用完,因为操作系统要防止一个线程或者进程长时间占用 CPU 导致其他线程或者进程饿死。调用了阻塞类型的系统中断,比如请求 IO,线程被阻塞。被终止或结束运行这其中前三种都会发生线程切换,线程切换意味着需要保存当前线程的上下文,留待线程下次占用 CPU 的时候恢复现场。
2024-12-03 20:26:18
1342
原创 JAVA学习之路(二)——JAVA集合
JDK1.8 以后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为 8)(将链表转换成红黑树前会判断,如果当前数组的长度小于 64,那么会选择先进行数组扩容,而不是转换为红黑树)时,将链表转化为红黑树,以减少搜索时间。JDK 1.8 版本的时候做了优化,当一个链表的长度超过8的时候就转换数据结构,不再使用链表存储,而是使用红黑树,查找时使用红黑树,时间复杂度O(log n),可以提高查询性能,但是在数量较少时,即数量小于6时,会将红黑树转换回链表。的主体,链表则是主要为了解决哈希冲突而存在的。
2024-11-24 19:20:08
1094
原创 JAVA学习之路(一)——JAVA基础知识
装箱:将基本类型用它们对应的引用类型包装起来;拆箱:将包装类型转换为基本数据类型;接口:使用interface关键字定义。不能包含实例变量,只能包含常量(public static final)。不能有构造器。抽象类:使用abstract关键字定义。可以包含实例变量和常量。可以包含抽象方法和具体方法(有方法体的)。可以有构造器。保存字符串的数组被final修饰且为私有的,并且String类没有提供/暴露修改这个字符串的方法。String类被final修饰导致其不能被继承,进而避免了子类破坏。
2024-11-23 22:03:58
1230
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅