08 2021 档案
摘要:IDEA添加模块时,插件报错:java.util.NoSuchElementException: Collection is empty. 解决方法一: 根据github上面的提示说是要在插件中添加设置:(具体看GitHub,但是我没具体看这个到底是不是IDEA的插件) java.util.NoSu
阅读全文
摘要:spring 事务笔记(四) 文章目录 spring 事务笔记(四)spring 事务原理简述声明式事务1. 注解方式配置事务管理器开启事务并使用 2.xml配置方式配置事务管理器配置事务切入点 spring 事务原理简述 之前用spring事务都是直接用注解的方式,后来去试试用xml配置这种,其实
阅读全文
摘要:更换Spring底层日志框架 spring-jcl 在spring中有一个模块叫做spring-jcl,是Spring的日志框架,底层是会对日志框架进行判断的,是根据日志框架做优先级选取的。 spring-jcl底层日志框架加载优先级 有一个优先级:LOG4J2 级是最高的,其次是SLF4J (>=
阅读全文
摘要:Java常用日志框架介绍 文章目录 Java常用日志框架介绍日志接口和日志框架的区别各个框架出现的时间线桥接包Log4j2常用搭配单独的log4j使用JCL(commons-logging)接口的JUL使用JCL(commons-logging)接口的log4j使用slf4j接口的logback使用
阅读全文
摘要:idea 设置项目子模块之间的依赖 有时候,我们需要设置一个工程中的一个子模块依赖于另一个子模块。在idea中如下配置: 点击IDEA上面的工具栏File点击Project Structure选择Modeules点击要添加依赖的项目名字点击Dependencies点击+号点击Module Depen
阅读全文
摘要:解决"Dependency 'xxxx‘ not found" 文章目录 解决"Dependency 'xxxx‘ not found"导致原因方法一方法二方法三 导致原因 原因是maven无法在本地仓库和远程仓库中发现依赖,maven是有很多远程仓库的,而maven默认去Central仓库去找依赖
阅读全文
摘要:Scanner读取一个int数组 因为有段时间用C,以为当sc.hasNextInt()这种输入检测遇到回车符时会返回false,哪知道sc.hasNextInt()会忽略忽略一切空白符(包含回车符)。所以一直调试出问题。 Scanner sc = new Scanner(System.in); S
阅读全文
摘要:cglib动态代理和JDK动态代理 maven依赖 cglib动态代理需要jar包支持,CGLib采用了非常底层的字节码技术。 <!-- https://mvnrepository.com/artifact/cglib/cglib --> <dependency> <groupId>cglib</g
阅读全文
摘要:spring Boot Actuator使用 Spring Boot 的 Actuator 提供了很多生产级的特性,比如监控和度量Spring Boot 应用程序。 官网参考文档Spring Boot Actuator: Production-ready Features maven依赖 <depe
阅读全文
摘要:Spring Boot解决跨域问题 方法一(常用) 实现接口WebMvcConfigurer,并重写addCorsMappings(CorsRegistry registry) @Configuration public class CorsConfig implements WebMvcConfi
阅读全文
摘要:spring MVC RequestMappingHandlerMapping解析 getHandler(HttpServletRequest request) 在doDispatch(HttpServletRequest request, HttpServletResponse response)
阅读全文
摘要:spring mvc DispatcherServlet解读 DispatcherServlet的继承和实现 IDEA按快捷键:ctrl+alt+u,就可以查看DispatcherServlet的继承的类和实现的接口。 从继承图可以得知: DispatcherServlet本质是一个HttpServ
阅读全文
摘要:SpringMVC获取Request,Response, Session对象 方法一 通过@Resource注解注入,@Autowired也可以 @Resource private HttpServletRequest httpServletRequest; @Resource private Ht
阅读全文
摘要:JMM中的happens-before概念 设计的初衷 程序员写代码时,是要求内存模型易于理解和易于编程,并且我们也希望程序能按照我们编写的代码一样,能按规则编写顺序执行。(强内存模型,即强规则的内存模型)对于编译器和处理器的实现来说,它们希望约束尽量少一些,所以编译器和处理器会对指令进行重排,让他
阅读全文
摘要:Java finalize() 转载地址:java finalize方法总结、GC执行finalize的过程 - ScaleZ - 博客园 (cnblogs.com) finalize()介绍 finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回
阅读全文
摘要:FutureTask使用 FutureTask介绍 FutureTask 表示一个异步运算的任务。FutureTask 里面可以传入一个 Callable 的具体实现类,可以对这个异步运算的任务的结果进行等待获取、判断是否已经完成、取消任务等操作。 FutureTask实现接口 FutureTask
阅读全文
摘要:Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll 问题原因 错误警告 INTEL MKL ERROR: 找不到指定的模块。 mkl_intel_thread.dll.Intel MKL FATAL ERROR: Cannot load m
阅读全文
摘要:netty使用 netty工作模型图 工作架构图如下: Netty 抽象出两组线程池:BossGroup 和 WorkerGroup,也可以叫做 BossNioEventLoopGroup 和 WorkerNioEventLoopGroup。每个线程池中都有 NioEventLoop 线程。Boss
阅读全文
摘要:netty 多线程IO模型 文章目录 netty 多线程IO模型netty介绍主从 Reactor 多线程模式netty多线程IO模型 netty介绍 netty IO模型是基于Java NIO 的一个封装,在Java NIO的基础上加上主从 Reactor 多线程模式的设计思想 诞生出来的高并发基
阅读全文
摘要:Java NIO之Selector Selector常用方法 //创建selector Selector selector = Selector.open(); //阻塞并等待就绪的通道的出现(select()方法返回的int值表示有多少通道已经就绪) int readyNum = selector
阅读全文
摘要:零拷贝和java NIO **零拷贝好处: ** 减少甚至完全避免不必要的CPU拷贝减少内存带宽的占用减少用户空间和操作系统内核空间之间的上下文切换 FileChannel的transferTo、transferFrom 如果操作系统底层支持的话transferTo、transferFrom也会使用
阅读全文
摘要:java nio.Buffer的属性变化 认识Buffer Channel 提供从文件、网络读取数据的渠道,但是读取或写入的数据都必须经由 Buffer。Buffer,实际上是一个连续数组。 常用的 Buffer 的子类有:ByteBuffer、IntBuffer、 CharBuffer、 Long
阅读全文