补充说明 在开始前,先补充一个bean的生成时间。在之前的spring入门使用代码里,是这么写的 AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); ...
转载 2021-09-07 09:59:00
109阅读
2评论
一,Mybatis框架介绍 MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情: 1. 封装JDBC操作 2. 利用反射打通Java类与SQL语句之间的相互转换 MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便,所以
循环依赖是指两个或多个 Bean 之间相互依赖,形成了一个环路。例如,Bean A 依赖于 Bean B,而 Bean B 又依赖于 Bean A,这
原创 2024-05-12 12:21:04
34阅读
NodeJS 中的 this 为什么是一个空对象: 因为所有的 NodeJS 文件在执行的时候都会被包裹到一个函数中,this 都被修改为了空的 module.exports (function (exports, require, module, __filename, __dirname) {
原创 2021-08-21 10:07:00
127阅读
Kingbase中手写Mysql底层函数DATE_FORMAT() 分析底层函数的实现逻辑 MySQL 的 DATE_FORMAT() 函数其底层逻辑涉及多个组件和模块。以下是 DATE_FORMAT() 函数的大致实现逻辑: 解析日期格式字符串:DATE_FORMAT() 函数接受两个参数,一个是日期值,另一个是格式字符串。首先,MySQL 解析格式字符串,并确定需要格式化的日期组件(年、月
原创 2023-09-13 19:38:45
1746阅读
作者:京东物流 张鼎元1 引言大家好,相信大家对Spring的底层原理都有一定的了解,这里我们会针对Spring底层原理,在海量的Spring源代码中进行抽丝剥茧手动实现一个Spring简易版本,来促进我们对Spring架构有个更深的理解,对Spring的常用功能进行手写模拟实现。2 启动Spring针对Bean的创建和获取功能,我们来进行功能的实首先我们创建JdApplicationContex
原创 精选 2023-03-03 09:58:15
381阅读
前言定时任务 一般会存在 中大型企业级 项目中,为了减少 服务器、数据库 的压力,往往会以 定时任务 的方式去完成某些业务逻辑。常见的就是 金融服务系统 推送回调,一般支付系统订单在没有收到成功的回调返回内容时会 持续性的回调,这种回调一般都是 定时任务 来完成。还有就是 报表的生成,我们一般会在客户 访问量小 时完成这个操作,也可以采用 定时任务 来完成。 正文定时任务的几种方式Ti
JavaWeb应用中,Tomcat作为一个Servlet容器,负责处理HTTP请求和响应。其底层机制如下:监听端口: Tomcat启动时会创建一个ServerSocket,监听指定的端口(通常是80或8080)。接收请求: 当有HTTP请求到达指定端口,ServerSocket会接收请求并创建一个Socket连接。HTTP请求解析: Tomcat会解析Socket中的
Spring框架对于Java后端程序员来说再熟悉不过了,以前只知道它用的反射实现的,但了解之后才知道有很多巧妙的设计在里面。如果不看Spring的源码,你将会失去一次和大师学习的机会:它的代码规范,设计思想很值得学习。 我们程序员大部分人都是野路子,不懂什么叫代码规范。写了一个月的代码,最后还得其他老司机花3天时间重构,相信大部分老司机都很头疼看新手的代码。 废话不多说,我们进入今天的正题,在Web应用程序设计中,MVC模式已经被广泛使用。SpringMVC以DispatcherServlet为核心,负责协调和组织不同组件以完成请求处理并返回响应的工作,实现了MVC模式。点击这里学习 Spring MVC 常用注解。
原创 2018-08-21 19:50:52
2642阅读
MYvue.js 主要作用监听属性变化class MYvue { constructor(options) { this.$options = options; this.$data = options.data; /
原创 2020-07-19 09:03:45
112阅读
本文节选自《设计模式就该这样学》迭代器模式的UML类图如下图所示。!file(https://s4.51cto.com/images/blog/202111/15135328_6191f5d81d31e40426.png?xossprocess=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_
推荐 原创 2021-11-15 13:54:27
1040阅读
在现代数字化的时代,纸笔手写文字已经不再是唯一的记录方式。但是在某些场合下,仍然需要手写文字。比如,签名、填写表格等等。那么手写文字怎么识别转换到文档呢?在此,我们将介绍几种常见的手写文字识别方法及练字方法。 手写文字识别手写识别软件随着科技的发展,现在市面上有很多种手写识别应用。可以通过识别手写文字,将其转换成电脑可读的文本,方便我们进行编辑、存储等操作。手写手写板是一种特殊的
lock是一个接口,而synchronized是在JVM层面实现的。synchronized释放锁有两种方式: 获取锁的线程执行完同步代码,释放锁 。 线程执行发生异常,jvm会让线程释放锁。
转载 2021-07-14 10:15:00
8541阅读
一、前言Springboot的自动配置原理,面试中经常问到,一直看也记不住,不如手写一个starter,加深一下记忆。 看了之后发现大部分的starter都是这个原理,实践才会记忆深刻。 核心思想:约定大于配置。二、初探starter启动原理我们直接看看官网的starter是怎么设计的,仿照这写一个就行了!我们Ctrl点击<artifactId>spring-boot-starter-
转载 2024-03-24 19:17:50
145阅读
文 /  Sandro Feuz 和 Pedro Gonnet,手写团队高级软件工程师2015 年,我们推出 Google 手写输入。该产品可作为任何 Android 应用的附加输入法,帮助用户在 Android 移动设备上手写文字。在首次发布的版本中,我们实现了对 82 种语言的支持,包括法语、盖尔语、汉语和马拉雅拉姆语等。为了提供更加流畅的用户体验和省去切换输入法
java面试:手写代码 二分查找法/** * 二分查找法。时间复杂度:O(log n) * 二分查找法:给定一组有序的数组,每次都从一半中查找。直到找到要求的数据。 * * @param nums * @param target * @return */ pub
转载 2023-07-06 22:18:16
0阅读
手写butterKnifer使用了 apt 技术。APT 是一种处理注解工具,他对项目源代码进行扫描,获取注解。然后通过注解处理器对注解进行操作,生成新的class文件。 apt技术使用三个技术点: annotation模块(Java Library) 该模块存放的是我们自定义的注解,是一个Java Library compiler模块 (Java Library) 依赖annotation模块,
转载 2023-06-30 22:44:58
136阅读
从零开始实现Android自定义手写画板最近需要实现一个手写签名控件,在搜索多轮后,终于实现了效果,但是一个手写签名,涉及到了自定义View,画板,path等知识发现自己还是有挺多地方不清楚的,下面从零开始实现一个自定义画板,也一个个解释用到的知识点,算是对手写签名用到所需知识的一个总结。手写顾名思义是在屏幕中获取若干不连续的点,然后把这些点连成一条线。1.构造方法里面初始化画布背景、画笔、和路径
转载 2023-06-30 22:43:40
97阅读
Android图形绘制基础,附上一个用户手写绘制的简单程序(从API Demos中扒出来的)。  Android二维图形绘制  Android提供了一系列用于二维绘制的APIs,当绘制2D图形时,通常有两种选择:  1.在一个View对象中绘制。继承View类,在子类的 onDraw()方法中写入自己定义的绘制代码。  2.直接在画布(Canv
整个过程中用到了手写类加载器,手写动态生成java代码手写编译代码最后实现动态代理手
原创 2023-01-06 14:11:35
235阅读
  • 1
  • 2
  • 3
  • 4
  • 5