摘要: JDK动态代理是面向接口的。这是很多框架的基础。 JDK动态代理的原理是接口的实现, 所以接口一定要存在, 而且只能代理接口存在的方法. 首先动态代理类要实现InvocationHandler接口,该接口只有一个方法。 public Object invoke(Object proxy, Metho 阅读全文
posted @ 2023-02-15 15:20 远大光明 阅读(47) 评论(0) 推荐(0) 编辑
摘要: CGLIB动态代理是基于类继承的代理, 不能被继承的方法也不能被代理, 比如final, private修饰的方法. CGLIB中重要的两个概念: MethodInterceptor是方法拦截器, 代理类只需要实现该接口, 并实现intercept方法. intercept方法是代理真正调用的方法, 阅读全文
posted @ 2023-02-15 15:03 远大光明 阅读(41) 评论(0) 推荐(0) 编辑
摘要: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>div垂直水平居中</title> <style> div { padding: 16px 32px 24px; position: absolute; /* 绝对定位 */ bo 阅读全文
posted @ 2022-11-28 14:13 远大光明 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 第一种方式, 使用SpringEL表达式. public static void main(String[] args) { SpelExpressionParser parser = new SpelExpressionParser(); Expression expression = parse 阅读全文
posted @ 2022-09-22 15:44 远大光明 阅读(119) 评论(0) 推荐(0) 编辑
摘要: Object.defineProperty()可以动态地给对象定义属性, 可以实现数据代理. Object.defineProperty(obj, prop, descriptor)的3个参数: obj 代表要定义属性的对象 prop代表要定义的属性名 descriptor代表关于属性的配置, 包括 阅读全文
posted @ 2022-05-31 15:24 远大光明 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 相等运算符可以做类型转换,全等运算符是在相等运算之上再加上类型的对比。1.数字字符串可转换为数字,布尔值也可以转为数字,例如:'1'==true是true2.Null和Undefined不能进行转换,Null==Undefined是true,它们和0比较都是false 3.NaN表示一个不确切的数值 阅读全文
posted @ 2022-04-20 11:44 远大光明 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 实现如下计算效果: add(1)(2)(3) = 6 add(1,2)(3) = 6 add(1)(2,3)(4) = 10 实现方法如下: function add() { let args = Array.prototype.slice.call(arguments); let inner = 阅读全文
posted @ 2022-04-15 17:12 远大光明 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 今天安装了 MySQL 之后发现无法启动, 查了半天也查不到原因. 但是找到了可以启动的方法, 在命令行中执行下面命令就可以了. sudo /usr/local/mysql/support-files/mysql.server start sudo /usr/local/mysql/support- 阅读全文
posted @ 2022-02-27 17:58 远大光明 阅读(340) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示