- 博客(16)
- 收藏
- 关注
原创 利用 Nashorn 引擎解决实际业务中返回结果多样化适配问题
在实际的业务开发中,我们常常会遇到这样的情况:不同的业务场景或者不同的调用方对数据返回结果的格式有不同的要求。例如,在一个电商系统中,移动端和 PC 端对于商品信息的展示需求可能不同,移动端可能只需要商品的基本信息,而 PC 端可能需要更详细的商品描述、规格等信息。传统的做法是针对不同的需求编写不同的接口或者在代码中添加大量的条件判断,这样会使代码变得复杂且难以维护。Nashorn 是 Java 8 引入的一个 JavaScript 引擎,它允许 Java 代码与 JavaScript 代码进行交互。
2025-03-03 15:30:05
890
原创 Spring Boot 集成 Flyway 教程
Flyway 是一个开源的数据库迁移工具,支持多种数据库,如 MySQL、Oracle、PostgreSQL 等。它通过执行 SQL 脚本或 Java 代码来管理数据库的变更,并且可以记录已经执行的变更,确保每个变更只执行一次。通过以上步骤,我们成功在 Spring Boot 项目中集成了 Flyway,实现了数据库的版本管理。Flyway 的使用可以大大提高数据库开发的效率和稳定性,尤其在多人协作开发和多环境部署的场景下。希望本文对你有所帮助。
2025-02-26 17:27:36
408
原创 MyBatisPlus简记
MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发,提高效率而生。
2024-12-12 11:17:23
757
1
原创 实现页面动态配置接口查询数据
MyBatis 的 OGNL(Object-Graph Navigation Language)表达式是一种用于访问和操作 Java 对象属性的表达式语言。OGNL 允许您在 MyBatis 映射文件中动态地构建 SQL 语句,方便地获取、设置对象属性,以及进行复杂的逻辑判断。说白了就是能通过Java能动态的处理SQL语句。
2024-12-11 21:06:56
512
原创 Zookeeper
初识ZookeeperZookeeper是Apache Hadoop 项目下的一个子项目,是一个树形目录服务。Zookeeper翻译过来是 动物园管理员,它是用来管理Hadoop(大象)、Hive(密封)、Pig(小猪)的管理员。简称zkZookeeper是一个开源的分布式协调服务。它是一个为分布式应用提供一致性服务的软件(用于管理分布式应用程序的)Zookeeper提供的主要功能包括:* 配置管理* 分布式锁* 集群管理配置管理比如说A、B、C三个模块都需要配置数据库连接(相同的
2021-03-23 20:40:41
193
原创 Linux常用命令
Linux常用命令关机(系统的关机,重启以及登出)shutdown -h now 关闭系统init 0 关闭系统reboot 重启logout 注销切换用户ssh root@node/ipssh 用户@ 虚拟机ip地址文件和目录cd /homecd … 返回上一级目录cd 进入个人的主目录cd -返回上次所在目录pwd显示当前所在路径ls 查看目录中的文件ls -l显示文件和目录的详细资料tree 显示文件和目录由根目录开始的树形结构mkdir dir 创建一个叫 ‘di
2021-03-22 15:25:27
176
1
原创 JVM
定义:Java Virtual Machine - java 程序的运行环境 (java二进制字节码的运行环境)好处:一次编译到处执行 (屏蔽了字节码和底层操作系统之间的差异,对外提供了一致的运行环境)自动内存管理,垃圾回收功能数组下标越界检查多态 (提升程序的可扩展性)1.程序计数器Program Counter Register 程序计数器(寄存器)1.2 作用左边是二进制字节码 jvm 指令 右边是 java源代码由二进制字节码经过解释器解释成->机械码
2021-03-19 23:21:08
209
原创 死锁
关于死锁一、定义死锁就是两个及以上线程彼此之间占有对方所需的资源,会导致这些线程处于等待状态,无法继续向前执行,通俗意义就是线程们互相占有对方所需的资源还都不让给对方,不主动释放,就会产生死锁产生死锁的四个条件:互斥性请求与保持不可剥夺循环等待互斥性:进程对所分配来的资源具有排它性,也就是当前的资源只能被当前的进程占用请求与保持:当前进程需要请求其他已被占用的资源,变成阻塞状态,但保持当前所占有的资源不动不可被剥夺:当前进程没有释放资源前,其他进程不可抢占循环等待:当发生死锁
2021-03-18 23:15:55
112
原创 Java并发编程 (上)
Java并发编程 (上)一、进程与线程进程程序由数据和指令组成,这些指令要被执行,数据要被读写,就学要将指令加载到CPU,数据加载到内存,在指令运行时还需要磁盘,网络等设备,进程就是加载指令,管理内存,管理IO的。当一个程序被运行,从磁盘加载到内存,这时就开启了一个进程进程可以视为一个程序线程一个进程之内可以分为一到多个线程。一个线程就是一个指令流,将指令流中的一条条指令以一定的顺序交给CPU执行。Java中,线程作为最小的调度单位,进程作为资源分配的最小单位,在windows中线程
2021-03-17 23:37:47
205
2
原创 MYSQL查询语句调优
MySQL数据库优化1.1.1 慢查询日志当查询超过一定的时间没有返回结果的时候,才会记录到慢查询日志中。默认不开启。采样的时候手工开启。可以帮助我们找出执行慢的SQL 语句查看慢 SQL 日志是否启用(on || 1 表示启用): show variables like ‘slow_query_log’;查看执行慢于多少秒的 SQL 会记录到日志文件中 :show variables like ‘long_query_time’;修改 mysql 配置参数(方法1)my.ini(Linux
2021-03-17 20:29:09
802
1
原创 Redis高级
过期数据Redis中的数据特征Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态* XX : 具有时效性的数据* -1 :永久有效的数据* -2 :已经过期的数据或被删除的数据或未定义的数据过期的数据真的删除了嘛?没有立刻删除时效性数据的存储结构以下结构为Key添加了有效期EXPIRE(失效) (SETEX 内部一个set一个SEPIRE)EXPIREATPEXPIREPEXPIREAT有时效性的数据存储在EXPIR
2021-03-16 19:40:23
77
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人