开发-异步多线程
异步多线程使用 CompletableFuture 进行异步多线程 = 👉 异步执行 + 线程池 + 回调 + 结果聚合 Demo链接CompletableDemo: SpringBoot框架的多线程异步架构测试demo
开发-开发规范
开发规范安全开发商城前端要对传到后端的敏感信息进行加密,后端要注意解密 注意事项 在 Controller 层要对参数进行判空。 在 ServiceImpl 层对参数进行权限校验,通过缓存获取当前登陆人信息,判断当前登陆人是否有查询相关内容的权限(防止水平越权),同时也要在 GateWay 网关中添加防止水平越权的配置信息。 禁止在 for 循环中更新数据库,避免在 for 循环中查询数据库,如果需要查询和更新的条数较多,建议直接在 Mapper 层写 Sql 语句。 开发时出现的问题创建包 package & 创建目录 Directory在 src/main/java 目录下创建包直接用 com.test 即可 创建目录如下 参考书阿里巴巴Java开发手册 1.3.1https://pan.baidu.com/share/init?surl=kYxn40FpCUpBd0lhoy192A&pwd=29d7
开发-条件分页查询
条件分页查询描述 条件分页查询,常见有四种方式:手动分页,pageHelper插件的startPage()和MybatisPlus框架下的IPage。但无论使用哪种方式,条件分页查询都需要查询两次,并且要对查询结果进行排序 MybatisPlus框架分页详细解释见:MyBatis-Plus 分页查询以及自定义sql分页-腾讯云开发者社区-腾讯云 MP的Wrapper提供了两种分页查询的方式,源码如下: 123456789101112131415/** * 根据 entity 条件,查询全部记录(并翻页) * * @param page 分页查询条件(可以为 RowBounds.DEFAULT) * @param queryWrapper 实体对象封装操作类(可以为 null) */IPage<T> selectPage(IPage<T> page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);/** * 根据 Wrapper 条件,查询全部记录(并翻页) * *...
开发-文件IO
数据导出描述 数据导出常以Excel表格的样式导出,有 Apache POI 和 EasyExcel 两种方式 区别 特性 Apache POI EasyExcel 项目背景 Apache 软件基金会的顶级项目,历史悠久,是 Java 操作 Office 文档的事实标准。 阿里巴巴开源的项目,旨在解决 POI 在处理大数据量时的内存溢出问题。 内存模型 基于内存的模型。用户模式会将整个文件(所有工作表、行、单元格)一次性加载到内存中,形成对象树。 基于事件的流式模型。逐行读取和解析,读取时不会将整个文件加载到内存中。 内存消耗 高。处理大文件(如几十MB以上)时,很容易导致 OOM(内存溢出)。 极低。理论上只会在内存中保留一行的数据,非常适合处理超大文件(如百万行)。 性能 对于小文件,性能很好。对于大文件,性能急剧下降,甚至无法完成。 对于大文件,性能非常出色且稳定。对于小文件,性能与 POI 相当或略慢(因为涉及模型转换)。 API 与易用性 功能强大但繁琐。API...
面经-初级JAVA开发带背
背诵顺序必背 面经-推荐背诵 面经-数据库 面经-JAVASE 面经-集合 面经-IO流/多线程 面经-JVM 面经-业务 面经-简历 选背 面经-计算机网络 面经-操作系统 面经-SSM框架
面经-简历
简历技术技能 熟悉 Java 中 IO 流的分类,熟悉 Java 中集合分类以及 ConcurrentHashMap 的底层原理。 熟悉多线程和线程池,熟悉 Java 中锁的分类,如乐观锁和悲观锁。 了解常见的数据结构及算法,如数组、栈、队列、二叉树;冒泡 、插入、选择排序等。 了解 JVM 内存结构、类加载器和双亲委派机制等,了解常见的垃圾回收器和垃圾回收算法。 熟悉 MySQL 安装、查询、子查询、内外连接、索引的底层数据存储结构等。 熟悉事务的隔离级别和数据库锁,了解数据库优化和 sql 优化方案。 熟悉 Redis 的基本数据类型,主从复制,哨兵模式和集群。 熟悉 Sping + SpringMVC + Mybatis 开发框架,熟悉 Spring 的循环依赖,Bean 的生命周期等。 具备基于 Vue + SpringBoot 的前后端分离开发经验。 了解 SpringCloud 常用组件的使用,如 Nacos 的服务注册及配置管理、OpenFeign 的远程调用等。 熟悉 HTML、CSS 与 JavaScript,使用过 Ajax 进行前后端数据交互,了解...
面经-SSM框架
常用注解SpringBoot@SpringBootApplication 1// 启动类上面加 @Configuration 1// config 包下的类都是配置类,这些类上面要加 @Configuration @Value(待完善) 1// @Value 用于注入外部属性值到 Spring 管理的 Bean 中。它可以读取配置文件(如.properties或.yml)、环境变量、系统属性,或直接指定默认值。 SpringMVC@RestController(待完善) 1// 相当于 Restful + Controller @Controller 1// 在 controller 包下,一般用 RestController @RestControllerAdvice 12// 用于统一异常处理业务中的类名上// 相当于 @ResponseBody + @ControllerAdvice @ControllerAdvice 1// 用于统一异常处理业务中的类名上 @RequestMapping 1// 建立公共的请求路径...
运维-redis配置
Redis配置安装Redis准备1yum install -y gcc make wget tcl net-tools 创建目录1mkdir -p /bigdata/redis 解压安装123456cd /bigdatatar -zxvf redis-5.0.4.tar.gz[root@hadoop2 bigdata]# lsredis-5.0.4 redis-5.0.4.tar.gzcd redis-5.0.4 PREFIX 指定安装路径1make PREFIX=/bigdata/redis install Redis单机创建数据文件1234mkdir -p /bigdata/redis/data mkdir -p /bigdata/redis/pidmkdir -p /bigdata/redis/logsmkdir -p /bigdata/redis/conf 复制配置文件123[root@redis redis]# pwd/root/redis[root@redis redis]# cp redis.conf...
面经-业务
...
项目-tlias
Tlias项目介绍Tlias(Teacher Learning Intelligent Assistance System),是传智教育开发的智慧教学辅助系统,原本包括员工和部门两个模块,实现了不同模块间的CRUD,批量删除,分页模糊查询,员工头像阿里云OSS存储,拦截器,JWT登录校验等功能。 本项目在此基础上进行完善,补充了年级和学生表,在保留了原始模块功能的同时,增加了echarts数据统计管理和knife4j接口文档。项目采取 SpringBoot + Vue 的前后端分离开发模式。 前端地址:慕易/tlias-frontend 后端地址:tlias-web-management: tlias教学辅助系统的后端代码 原项目链接:Day10-01....

