当前位置:网站首页>学习记录五
学习记录五
2022-07-20 05:33:00 【young_man2】
一、力扣打卡
首先看到这个题目的时候,我想大家应该都有一个想法,那就是暴力求解!
但是除了暴力求解,我们还有别的方法:双指针法
双指针法是怎么进行的?
首先,我们在收尾分别放置一个指针,此时最大容量为min(x,y)∗t=x∗t(t表示距离)
然后求完一个之后,我们就可以将两个指针中小的那个进行移动
为什么是小的那个?
因为你的如果你移动大的那个,就不可能出现比之前的情况大的情况!
所以最后我们可以得到代码如下所示:
public class Solution {
public int maxArea(int[] height) {
int l = 0, r = height.length - 1;
int ans = 0;
while (l < r) {
int area = Math.min(height[l], height[r]) * (r - l);
ans = Math.max(ans, area);
if (height[l] <= height[r]) {
++l;
}
else {
--r;
}
}
return ans;
}
}
二、Spring的Aop的学习
1. Aop的优势与作用
AOP(面向切面编程)
作用:在程序运行期间,在不修改源码的情况下对方法进行功能增强
优势:减少重复代码,提高开发效率,便于维护
2. AOP的底层实现
AOP的底层是通过Spring提供的动态代理技术实现的。在运行期间,Spring通过动态代理技术动态生成的代理对象,代理对象方法执行的时候进行增强功能的介入,再去调目标对象的方法,从而完成功能的增强。
3. AOP动态代理技术
JDK代理:基于接口的动态代理技术
cglib代理:基于父类的动态代理技术
4. JDK动态代理技术
实现动态代理要解决的两个问题是:
①如何根据被加载到内存中的被代理对象动态的创建代理对象和类
②当通过代理类的对象调用方法的时候如何调用被代理类的同名方法
5. cglib的动态代理
导入cglib的jar包
6.AOP的相关概念
Taget(目标对象):代理的目标对象
Proxy(代理):一个类被AOP织入增强之后,就产生一个结果代理类
Joinpoint(连接点):所谓的连接点就是指在那些被拦截的点。在spring中,这些点指的是方法,因为spring只支持方法类型的连接点。
Pointcut(切入点):所谓切入点就是指我们要对哪些Joinpoint进行拦截的定义
【连接点就是可以被增强的方法,切入点就是被增强了的方法】
Advice(通知/增强):所谓通知就是指拦截到Joinpoint之后所要做的事情就是通知
Accept(切面):就是切入点和通知的结合
Weaving (织入):指把增强应用到目标对象来创建新的代理对象的过程。spring采用动态代理织入,而AspectJ采用编译器织入和类装载织入
7.AOP开发明确的对象
①需要编写的内容
业务核心代码(目标类的目标方法)
编写切面类,切面类中有通知(增强功能方法)
在配置文件中,配置织入关系,即将哪些通知与哪些连接点进行结合
②AOP技术实现的内容
Spring框架监控切入点方法的执行。一-旦监控到切入点方法被运行, 使用代理机制,动态创建目标对象的代理对象,根据通知类别,在代理对象的对应位置,将通知对应的功能织入,完成完整的代码逻辑运行。
③AOP底层使用哪种代理方式
会根据是不是有接口赖决定使用哪种动态代理的方式
8. 基于XML的AOP开发
①快速导入AOP坐标
②创建目标接口和目标类(内部有切点)
③创建切面类(内部有增强方法)
④将目标类和切面类的对象创建权交给spring
⑤在applicationContext.xml中配置织入关系
⑥测试代码
3. 切点表达式的抽取
9. 基于注解的AOP开发
每日图片分享,昨天学年设计答辩就没来得及学习!
边栏推荐
- 【STM32F130RCT6】超声波测距模块思路和代码
- 2D目标检测综述之神经网络篇
- 理解原始Gan Loss 和 Hinge Gan Loss
- 通俗理解深度学习梯度累加(Gradient Accumulation)的原理
- (6) Pytorch deep learning: logistic regression (multi-layer and multi-dimensional feature input)
- The meaning of coordinates in qlineargradius
- Application practice of shengteng industrial quality inspection
- Deep learning notes -- some "cool" knowledge points of convolution layer and pooling layer
- Thesis study ---- urllc benefit from noma (1)
- Intuitively understand the transfer revolution
猜你喜欢
昇腾工业质检应用实战
Detection model of 2D target detection overview (2)
Neural networks: a review of 2D target detection
FPGA学习准备
Chapter003-FPGA学习之PWM的LED呼吸灯
(10) Pytorch deep learning: convolutional neural network (simple residual convolutional neural network)
理解原始Gan Loss 和 Hinge Gan Loss
理解WGAN 和 Spectral Normalization(归一化)
Chapter001-FPGA学习之Vivado的LED闪烁
Stm32cubemx reads and writes USB flash disk through FatFs
随机推荐
Chapter006-FPGA学习之LCD显示
中文自然语言处理相关资料 | Chinese NLP Toolkits 中文NLP工具
基于STM32CubeMX的片外SPIFLASH嵌入FATFS
建筑空间温度分布预测模型与温度曲线图绘制毕业论文
深度学习笔记——卷积层和池化层的一些“冷门”小知识点
Popular understanding of the principle of deep learning gradient accumulation
理解Seperable Convolution
vsCode配置Eslint+Prettier结合使用详细配置步骤,规范化开发
【CANN训练营】基于昇腾CANN平台的AI CPU算子开发
(8) Pytorch deep learning: convolutional neural network (basic) -- change (VII) fully connected neural network into convolutional neural network
Understand the seperable revolution
(10) Pytorch deep learning: convolutional neural network (simple residual convolutional neural network)
Intuitive understanding of diluted revolution
详解pytorch fold和unfold用法
Hyperledger fabric super ledger CA construction and use
Small tips in spark SQL
2D目标检测综述之神经网络篇
Explain the usage of pytorch fold and unfold in detail
基于弹性云服务器的昇腾AI应用开发随笔【与云原生的故事】
Tensorflow 1 based on Huawei self-developed NPU ascend 910 X training script migration and enable mixed accuracy recording