Java
Spring AOP、拦截器、过滤器的区别
一:区别与概念 Filter过滤器:拦截web访问url地址。 Interceptor拦截器:拦截以 .action结尾的url,拦截Action的访问 (控制层Controller)。 Spring AOP拦截器:只能拦截Spring管理Bean的访问(业务层
MyBatis实现动态SQL更新
博主记得在一个周五快下班的下午,产品找到我(为什么总感觉周五快下班就来活 😂),跟我说有几个业务列表查询需要加上时间条件过滤数据,这个条件可能会变,不保证以后不修改,这个改动涉及到多个列表查询,于是博主思考了一会想了几种实现方案, 最简单,直接将时间条件写死,由 Service 层传递给 Dao 层进行条件拼接。实现上虽然简单,但是代码上感觉非常 low,如果这个参数需要在很多方法里进行传递,那
CompletableFuture 多线程事务
码示例代码示例 在这段代码中,@Transactional 注解用于管理 uploadBodyFatScaleData 方法的事务。但是,使用 CompletableFuture.runAsync 与自定义的 ThreadPoolExecutor 异步执行任务意味着这些任务在原始事务的范围之外执行。 相反,创建了一个新的 TransactionTemplate 并用于在它们自己的事务中执行这些任
web安全中间件-apache,tomcat,weblogic,websphere,jboss
apache常见漏洞 1.未知拓展名解析漏洞 2.AddHandler导致的换行解析漏洞 3.Apache HTTPD 换行解析漏洞 漏洞原理:在于$符号,正则表达式中$不仅匹配字符串结尾位置,也匹配n,r 解析php 1.phpx0A会将php后缀进行解析绕过一些服务器的安全策略 影响范围: 2.4.0 ~ 2.4.29 4. apache ssi 远程命令执行漏洞 tomcat简介 java开
批量发货模板导出导入(excel)
在电商系统中,客户需求:订单可以进行批量发货,之前是单独发货的功能 批量发货:要求:先导出订单的模板(excel),在模板中填写订单对应的物流公司和物流单号,最后再把填好的模板导入,达到批量发货的目的 一、相关依赖 1.导出依赖: 2.导入依赖: 二、导出 1.excel导出工具类--ExcelReportUtils 2.导出模板--TemplateExcel 3.导出用到的VO--E
JUC 常用类 ReentrantLock
ReentrantLock 类内部总共存在 Sync、NonfairSync、FairSync 三个类 NonfairSync 与FairSync 类继承自 Sync 类 Sync类继承自 AbstractQueuedSynchronizer 抽象类 构造方法 内部类 Sync 继承 AbstractQueuedSynchronizer(AQS),可以看出是核心,很多 Nonfa
架构师日记-到底该如何搭建一个新系统
一 前言 架构设计按照实施过程可分为工程架构,业务架构,部署架构等多个维度,一个好的系统架构标准应该具备可扩展、可维护、可靠性、安全性和高性能等特点。尽管这些特点大家都熟知,但在实际落地时,我们更为迫切的想知道实现这些要求的关键路径,以便在架构设计中融入这些特点。只有这样,才能确保系统能够适应未来的业务增长和交付效率。本文将重点围绕如何进行工程架构设计展开探讨。 二 价值为先 在方案出现歧义时,站
基于CDH环境下的Hive数仓配置及优化
基于CDH环境下的Hive数仓配置及优化 原文连接地址:https://blog.csdn.net/sinat_31854967/article/details/127274575 YARN的基础配置 NodeManager CPU配置 在YARN界面中,点击配置,然后搜索配置项:yarn.nodemanager.resource.cpu-vcores 此选项表示该节点服务器上yarn可
SpringBoot官方笔记2使用
Build Systems 选择Maven or Gradle,而不要Ant(not particularly well supported) In practice, you do not need to provide a version for any of these dependencies (spring-boot-dependencies) in your build configu
Jmeter之内存溢出解决办法
使用Jmeter进行压力测试会遇到一段时间后报内存溢出的错误,导致Jmeter卡死。这是因为Jmeter默认的HEAP配置的太小了,解决办法如下: 1、Windows环境 修改jmeter.bat,如下两行: set HEAP=-Xms512m -Xmx512m &n
前端面试题-js(四)
1.垃圾回收 对于开发者来说,JavaScript 的内存管理是自动的、无形的。我们创建的原始值、对象、函数……这一切都会占用内存。 可达性(Reachability) JavaScript 中主要的内存管理概念是 可达性。 简而言之,“可达”值是那些以某种方式可访问或可用的值。它们一定是存储在内存中的。 这里列出固有的可达值的基本集合,这些值明显不能被释放。 比方说: 当前执行的
转载:PageOffice既保存Word文件中指定区域的数据又保存整篇文件
一、首先在word文件中给需要在后台获取数据的区域设置以PO_开头的书签。 二、通过pageoffice在线打开文件并编辑保存。有两种打开文件的模式 1、普通编辑模式(docNormalEdit) 普通编辑模式就是简单的打开文件,分别设置SaveDataPage保存数据的方法和
【NestJS系列】从Nest CLI开始入门
初识Nest JS Nest 是一个渐进的 Node.js 框架,它可以在 TypeScript 和 JavaScript (ES6、ES7、ES8)之上构建高效、可伸缩的企业级服务器端应用程序。 Nest 基于 TypeScript 编写并且结合了 OOP(面向对象编程),FP(函数式编程)和 FRP (函数式响应编程)的相关理念。在设计上的很多灵感来自于 Angular,Angular 的很多
import-local执行流程解析
import-local 概述 当本地和全局同时存在两个脚手架命令时,使用 import-local 可以优先加载本地脚手架命令 以上述代码为例:执行 jinhui 命令时实际执行的应该是 node C:Program Filesnodejsjinhui-clicli.js 所以将调试程序定位到全局下的 cli 文件,进入 import-local 源码 findUp 逐级向上查找
JVM(八)对象的实例化内存布局与访问定位
JVM(八)对象的实例化内存布局与访问定位 1 对象创建的方式 new 变形1: Class的newInstance(),即反射 Class的newInstance反射的使用较为苛刻,要求只能调用空参的构造器,而且权限必须是public 这种方式再jdk9中被标记为过时了 Constructor的newInstance(),也属于是反射 可以调用空参或者无参的构造器,权限没
JVM(十)StringTable
JVM(十)StringTable 1 String的基本特性 String即字符串,通过一对引号""表示,String创建的方式主要有 String s = "abc"; // 字面量的方式 String s = new String("abc"); // 类创建new方式 String声明为final,不可以被继承 String实现了Serializable接口,表示字符串是
JVM(九)执行引擎
JVM(九)执行引擎 1 执行引擎概述 执行引擎是Java虚拟机核心的组成部分之一 虚拟机是一个相对于物理机的概念,这两种机器都有代码执行能力,区别在于物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎是由软件自主实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式 JVM的主要任务是负责装载字
JVM(十三)分代收集、增量收集以及分区算法
JVM(十三)分代收集、增量收集以及分区算法 1 分代收集算法 前面的所有算法中,没有一种算法能够完全替代其他算法,它们都有自己独特的优势和特点,分代收集算法应运而生: 分代收集算法对不同生命周期的对象采取不同的收集方式,一般划分为新生代和老年代,以便提高回收效率 在Java程序运行的过程中,会产生大量的对象,其中有一些对象是与业务信息相关,比如HTTP请求中的Session对象、线程
mybatis快速入门
MyBatis快速入门 1. 创建User表,添加数据 2. 创建模块,导入坐标 pom.xml 3. 编写MyBatis核心配置文件-->=替换连接信息解决硬编码问题 4. 编写sql映射文件-->统一管理sql语句,解决硬编码问题 5. 编码 定义POJO类 加载核心配置文件,获取SqlSessionFactory对象 获取SqlSession对象,执行sql语句 释放资
JVM(十一)垃圾回收概述和垃圾标记阶段的算法
JVM(十一)垃圾回收概述和垃圾标记阶段的算法 1 Java垃圾回收概述 什么是垃圾? 垃圾是在程序运行过程中不被任何指针指向的对象,这个对象就是需要被回收的垃圾 为什么要进行垃圾回收? 如果不及时对内存中的垃圾进行清理,那么这些垃圾对象所占内存空间会一直保存到应用程序结束,被保留的空间无法被其他对象所使用,甚至会导致内存溢出 垃圾回收还可以清除内存里的记录碎片,将堆内存移到堆的另
4-基于SpringBoot实现SSMP整合
1. 整合 Junit Spring 整合 JUnit 的制作方式 其中核心代码是前两个注解,第一个注解@RunWith是设置 Spring 专用于测试的类运行器,简单说就是 Spring 程序执行程序有自己的一套独立的运行程序的方式,不能使用 JUnit 提供的类运行方式了,必须指定一下,但是格式是固定的,琢磨一下,每次都指定一样的东西,这个东西写起来没有技术含量啊,第二个注解@Conte
界面控件Kendo UI R2 2023,让应用主题设计能力在上一个台阶!
Kendo UI是带有jQuery、Angular、React和Vue库的JavaScript UI组件的最终集合,无论选择哪种JavaScript框架,都可以快速构建高性能响应式Web应用程序。通过可自定义的UI组件,Kendo UI可以创建数据丰富的桌面、平板和移动Web应用程序。 接下来,我们一起来看看Kendo UI R2 2023都有哪些改变吧! Kendo UI R2 202
详解nvim内建LSP体系与基于nvim-cmp的代码补全体系
2023年,nvim以及其生态已经发展的愈来愈完善了。nvim内置的LSP(以及具体的语言服务)加上众多插件,可以搭建出支持各种类型语法检查、代码补全、代码格式化等功能的IDE。网络上关于如何配置的文章很多,但本人发现绝大多数的文章仅仅停留在配置本身,没有深入的解释这些插件的作用和它们之间的关系,这就导致了很多入门的小伙伴在配置、使用的过程中遇到各种问题也不知如何下手。本文将手把手,一步一步的演进