后端
文章平均质量分 54
后端内容Java、Spring、SpringBoot、C\C++、Node.js
书香水墨
积跬步,行千里。
展开
-
Java poi提取World、Excel图表图
/</</</原创 2024-07-24 09:52:29 · 209 阅读 · 0 评论 -
Java字符串整齐输出
【代码】Java字符串整齐输出。原创 2023-10-30 15:22:18 · 616 阅读 · 0 评论 -
Java使用Hibernate-Validator验证API接口参数
Target({/*** 是否必填 默认是必填的* @return/*** 验证失败的消息* @return*/ String message() default "枚举的验证失败";/*** 分组的内容* @return*/ Class原创 2023-04-27 16:26:14 · 404 阅读 · 1 评论 -
Java 终止线程的几种方式
一般run()方法执行完,线程就会正常结束,然而,常常有些线程是伺服线程。他们需要长时间的运行,只有在外部某些条件满足的情况下,才能关闭这些线程。我们可以直接使用thread.stop()来强行终止线程,但是stop()方法是很危险的,就想突然关闭电源一样。所谓正常运行结束,就是程序正常运行结束,线程自动结束。原创 2023-04-06 10:08:15 · 8960 阅读 · 2 评论 -
SpringBoot IOC初始化流程
11、根据用户是否明确设置了applicationContextClass 类型以及初始化阶段的推断结果,决定该为当前 SpringBoot 应用创建什么类型的 ApplicationContext 并创建完成,然后根据条件决定是否添加 ShutdownHook,决定是否使用自定义的 BeanNameGenerator,决定是否使用自定义的 ResourceLoader,当然,最重要的,将之前准备好的 Environment 设置给创建好的 ApplicationContext 使用。原创 2023-02-07 16:27:14 · 370 阅读 · 0 评论 -
Spring 事务管理
一、声明式事务声明式事务实现方式主要有2种,一种为通过使用Spring的定义事务通知与AOP相关配置实现,另为一种通过实现事务管理实现。原创 2023-02-01 15:59:54 · 272 阅读 · 0 评论 -
Java获取客户端IP地址
Java获取客户端IP地址原创 2023-01-11 21:00:00 · 484 阅读 · 0 评论 -
Java <? extends T>和<? super T>
java extedns super原创 2022-12-19 18:09:25 · 291 阅读 · 0 评论 -
Java <? extends T>和<? super T>
java extedns super原创 2022-12-19 18:08:08 · 214 阅读 · 0 评论 -
Java 用POI设置Excel的列宽
JAVApoi转载 2022-12-19 18:05:38 · 3957 阅读 · 0 评论 -
MyBatis 分页方式
RowBounds 表面是在“所有”数据中检索数据,其实并非是一次性查询出所有数据,因为 MyBatis 是对 jdbc 的封装,在 jdbc 驱动中有一个 Fetch Size 的配置,它规定了每次最多从数据库查询多少条数据,假如你要查询更多数据,它会在你执行 next()的时候,去查询更多的数据。逻辑分页是一次性查询很多数据,然后再在结果中检索分页的数据。物理分页是从数据库查询指定条数的数据,弥补了一次性全部查出的所有数据的种种缺点,比如需要大量的内存,对数据库查询压力较大等问题。原创 2022-10-25 10:00:48 · 1437 阅读 · 0 评论 -
MyBatis 执行器(Executor)
八、MyBatis 有哪些执行器(Executor)?MyBatis 有三种基本的Executor执行器:SimpleExecutor:每执行一次 update 或 select 就开启一个 Statement 对象,用完立刻关闭 Statement 对象;ReuseExecutor:执行 update 或 select,以 SQL 作为 key 查找 Statement 对象,存在就使用,不存在就创建,用完后不关闭 Statement 对象,而是放置于 Map 内供下一次使用。简言之,就是重原创 2022-10-24 11:56:47 · 620 阅读 · 0 评论 -
MyBatis 自定义插件
7、简述Mybatis的插件运行原理,以及如何编写一个插件。答:Mybatis仅可以编写针对ParameterHandler、ResultSetHandler、StatementHandler、Executor这4种接口的插件,Mybatis使用JDK的动态代理,为需要拦截的接口生成代理对象以实现接口方法拦截功能,每当执行这4种接口对象的方法时,就会进入拦截方法,具体就是InvocationHandler的invoke()方法,当然,只会拦截那些你指定需要拦截的方法。编写插件:实现Mybatis的Int原创 2022-10-24 10:38:01 · 2828 阅读 · 1 评论 -
MyBatis 解决实体类中的属性名和表中的字段名不一样
第1种: 通过在查询的sql语句中定义字段名的别名,让字段名的别名和实体类的属性名一致。 <select id=”selectorder” parametertype=”int” resultetype=”me.gacl.domain.order”> select order_id id, order_no orderno ,order_price price form orders where order_id=#{id}; </select>.原创 2022-10-20 15:58:25 · 544 阅读 · 0 评论 -
MyBatis 接口绑定
22、什么是MyBatis的接口绑定?有哪些实现方式?接口绑定,就是在MyBatis中任意定义接口,然后把接口里面的方法和SQL语句绑定, 我们直接调用接口方法就可以,这样比起原来了SqlSession提供的方法我们可以有更加灵活的选择和设置。接口绑定有两种实现方式,一种是通过注解绑定,就是在接口的方法上面加上 @Select、@Update等注解,里面包含Sql语句来绑定;另外一种就是通过xml里面写SQL来绑定, 在这种情况下,要指定xml映射文件里面的namespace必须为接口的全路径名。当Sq原创 2022-10-20 15:42:07 · 923 阅读 · 0 评论 -
MyBatis 一级缓存和二级缓存
9、Mybatis的一级、二级缓存:(1)一级缓存: 基于 PerpetualCache 的 HashMap 本地缓存,其存储作用域为 Session,当 Session flush 或 close 之后,该 Session 中的所有 Cache 就将清空,默认打开一级缓存。(2)二级缓存与一级缓存其机制相同,默认也是采用 PerpetualCache,HashMap 存储,不同在于其存储作用域为 Mapper(Namespace),并且可自定义存储源,如 Ehcache。默认不打开二级缓存,要开启二级原创 2022-10-20 09:56:17 · 2439 阅读 · 0 评论 -
MyBatis 模糊查询like语句
MyBatis 模糊查询like语句原创 2022-10-19 17:50:54 · 1032 阅读 · 0 评论 -
MyBatis 内容聚合
+ [MyBatis #{}和${}的区别是什么](https://blog.csdn.net/qq_27870421/article/details/120734364)+ [MyBatis 入门](https://blog.csdn.net/qq_27870421/article/details/101392166)+ [MyBatis 处理xml中的特殊字符](https://blog.csdn.net/qq_27870421/article/details/102452861)+ [MyBat原创 2022-10-19 17:37:10 · 322 阅读 · 0 评论 -
MyBatis #{}和${}的区别是什么
1、#{}和${}的区别是什么?${}是字符串替换,#{}是预处理;Mybatis在处理时,就是把{}时,就是把时,就是把{}直接替换成变量的值。而Mybatis在处理#{}时,会对sql语句进行预处理,将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;使用#{}可以有效的防止SQL注入,提高系统安全性。...原创 2022-10-19 17:25:35 · 146 阅读 · 0 评论 -
JavaWeb JSP
# `一、JSP 和 servlet 区别`>JSP 是 servlet 技术的扩展,本质上就是 servlet 的简易方式。servlet 和 JSP 最主要的不同点在于,servlet 的应用逻辑是在 Java 文件中,并且完全从表示层中的 html 里分离开来,而 JSP 的情况是 Java 和 html 可以组合成一个扩展名为 JSP 的文件。JSP 侧重于视图,servlet 主要用于控制逻辑。# `二、JSP 内置对象`>JSP 有 9 大内置对象:>+ request:封装客户端的请原创 2022-10-17 11:45:26 · 344 阅读 · 0 评论 -
JavaWeb session 和 cookie
# `一、session 和 cookie 有什么区别?`>存储位置不同:session 存储在服务器端;cookie 存储在浏览器端。安全性不同:cookie 安全性一般,在浏览器存储,可以被伪造和修改。容量和个数限制:cookie 有容量限制,每个站点下的 cookie 也有个数限制。存储的多样性:session 可以存储在 Redis 中、数据库中、应用程序中;而 cookie 只能存储在浏览器中。# `二、说一下 session 的工作原理?`>session 的工作原理是客户端登录完成原创 2022-10-17 11:42:06 · 142 阅读 · 0 评论 -
Java对象拷贝
一、为什么要使用克隆?克隆的对象可能包含一些已经修改过的属性,而 new 出来的对象的属性都还是初始化时候的值,所以当需要一个新的对象来保存当前对象的“状态”就靠克隆方法了。二、如何实现对象克隆?实现 Cloneable 接口并重写 Object 类中的 clone() 方法。实现 Serializable 接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆。三、深拷贝和浅拷贝区别是什么?浅克隆:当对象被复制时只复制它本身和其中包含的值类型的成员变量,而引用类型的成员对象并没原创 2022-10-17 10:44:54 · 193 阅读 · 0 评论 -
Java中switch能否作用在byte、long、string
switch可作用于char byte short intswitch可作用于char byte short int对应的包装类switch不可作用于long double float boolean,包括他们的包装类switch中可以是字符串类型,String(JDK1.7之后才可以作用在string上)switch中可以是枚举类型(JDK1.5之后)...原创 2022-10-17 10:29:46 · 1235 阅读 · 0 评论 -
Java抽象类
一、抽象类必须要有抽象方法吗?不需要,抽象类不一定非要有抽象方法。示例代码:abstract class Cat { public static void sayHi() { System. out. println("hi~"); }}二、普通类和抽象类有哪些区别?普通类不能包含抽象方法,抽象类可以包含抽象方法。抽象类不能直接实例化,普通类可以直接实例化。三、 抽象类能使用 final 修饰吗?不能,定义抽象类就是让其他类继承的,如果定义为 final原创 2022-10-17 10:14:59 · 119 阅读 · 0 评论 -
Java操作字符串都有哪些类?它们之间有什么区别?
Java 中操作字符串都有哪些类?它们之间有什么区别?操作字符串的类有:String、StringBuffer、StringBuilder。String 和 StringBuffer、StringBuilder 的区别在于 String 声明的是不可变的对象,每次操作都会生成新的 String 对象,然后将指针指向新的 String 对象,而 StringBuffer、StringBuilder 可以在原有对象的基础上进行操作,所以在经常改变字符串内容的情况下最好不要使用 String。StringB原创 2022-10-17 10:10:25 · 534 阅读 · 0 评论 -
Java集合框架
一、Java 容器都有哪些?Java 容器分为 Collection 和 Map 两大类,其下又有很多子类,如下所示:Collection List ArrayList LinkedList Vector Stack Set HashSet LinkedHashSet TreeSetMap HashMap LinkedHashMap TreeMap ConcurrentHashMap Hashtable二、 Collection 和 Collections原创 2022-10-17 09:47:21 · 114 阅读 · 0 评论 -
ArrayList、LinkedList、Vector区别
ArrayList、LinkedList、Vector区别原创 2022-10-11 11:15:44 · 146 阅读 · 0 评论 -
Java fast-md5
Java fast-md5原创 2022-09-30 10:43:24 · 973 阅读 · 0 评论 -
FileChannel、FileInputStream性能对比
FileChannel、FileInputStream性能对比原创 2022-09-30 10:02:42 · 891 阅读 · 1 评论 -
AsynchronousFileChannel写数据
AsynchronousFileChannel写数据原创 2022-09-28 15:58:38 · 177 阅读 · 0 评论 -
AsynchronousFileChannel读文件
AsynchronousFileChannel 读文件原创 2022-09-28 11:58:26 · 222 阅读 · 0 评论 -
Spring 使用@Scheduled实现定时任务
Spring 使用@Scheduled实现定时任务原创 2022-09-22 17:30:37 · 1430 阅读 · 0 评论 -
SpringBoot基于AOP +自定义注解实现打印方法耗时
SpringBoot基于AOP +自定义注解实现打印方法耗时原创 2022-09-22 16:39:54 · 1029 阅读 · 0 评论 -
Spring/Spring MVC、Spring Boot/Spring Cloud
一、 为什么要使用 spring?spring 提供 ioc 技术,容器会帮你管理依赖的对象,从而不需要自己创建和管理依赖对象了,更轻松的实现了程序的解耦。spring 提供了事务支持,使得事务操作变的更加方便。spring 提供了面向切片编程,这样可以更方便的处理某一类的问题。更方便的框架集成,spring 可以很方便的集成其他框架,比如 MyBatis、hibernate 等。二、解释一下什么是 aop?aop 是面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。原创 2022-08-27 11:40:28 · 2047 阅读 · 0 评论 -
JUnit、JMockit、Mockito、PowerMockito
JUnit、JMockit、Mockito、PowerMockito原创 2022-07-26 16:06:36 · 798 阅读 · 0 评论 -
Spring事件监听机制
spring监听器原创 2022-06-28 14:51:49 · 819 阅读 · 0 评论 -
Java获取某个类的所有子类
Java反射,获取指定类型原创 2022-06-14 14:25:59 · 9962 阅读 · 1 评论 -
Java下载文件前通过HTTP请求获取文件大小
JAVA下载文件前通过HTTP请求获取文件大小原创 2022-06-07 09:51:40 · 2004 阅读 · 0 评论 -
Node.js Express 框架
一、Express 简介Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站。Express 框架核心特性:可以设置中间件来响应 HTTP 请求。定义了路由表用于执行不同的 HTTP 请求动作。可以通过向模板传递参数来动态渲染 HTML 页面。二、安装 Express# 安装 Express 并将其保存到依赖列表中cnpm instal原创 2022-03-06 12:03:00 · 781 阅读 · 0 评论 -
Node.js 连接 MongoDB
一、安装驱动cnpm install mongodb二、创建数据库// 要在 MongoDB 中创建一个数据库,// 首先需要创建一个 MongoClient 对象,然后配置好指定的 URL 和 端口号。// 如果数据库不存在,MongoDB 将创建数据库并建立连接。var MongoClient = require('mongodb').MongoClient;var url = "mongodb://localhost:27017/runoob"; MongoClient.conne原创 2022-03-06 11:36:26 · 247 阅读 · 0 评论