Category: coding
-
Java Reflection And Features Notes
反射——依赖注入框架原理 抽象工厂方法,FactoryBean.getBean(“”) –> Class.forName(“”). newInstance() forName()是静态方法 单例Singleton(饱汉、饿汉) 创建对象 this.class.getClassLoader.loadClass(“”). newInstance(); 此处写XML配置,利用properties对象读入inputStream,读取配置作为className 三个类: Class/Field/Method clazz.getMethod() getField(); field.get(Object obj) method.invoke(Object obj, Object… args) 类装载器,父类加载,委托 动态代理 动态代理是基于什么原理 反射机制是 Java 语言提供的一种基础功能,赋予程序在运行时自省(introspect,官方用语)的能力。通过反射我们可以直接操作类或者对象,比如获取某个对象的类定义,获取类声明的属性和方法,调用方法或者构造对象,甚至可以运行时修改类定义。 动态代理是一种方便运行时动态构建代理、动态处理代理方法调用的机制,很多场景都是利用类似机制做到的,比如用来包装 RPC 调用、面向切面的编程(AOP)。 实现动态代理的方式很多,比如 JDK 自身提供的动态代理,就是主要利用了上面提到的反射机制。还有其他的实现方式,比如利用传说中更高性能的字节码操作机制,类似 ASM、cglib(基于 ASM)、Javassist 等。 @w=300 在静态代理基础上,静态代理没有引入Proxy类,需手动编码把被代理类作为属性引入 java代理,代理有2种,一种是jdk,代理与目标实现同一个接口,一种是CGLIB代理继承目标类 我们先关注jdk动态代理: 创建一个有相同接口的代理类Proxy—-JDK自动生成字节码。该代理类有一个属性invocationHandler,并有带该入参的构造方法 创建新类 invocationHandler,实现invocationHander接口的invoke(Proxy, method, args)方法实现 实例化一个Proxy,参数是invocationHandler 优化二: 2和3合成一步,匿名内部类 …
-
Linux Shell Syntax
一、单词:常用命令 useradd testuser 创建用户testuser passwd testuser 给已创建的用户testuser设置密码 sudo 切换用户 https://www.runoob.com/linux/linux-comm-sudo.html vi /etc/sudoers append your_user_name ALL=(ALL) ALL 添加用户,有sudo权限 curl 服务器调试tomcat restfull 服务 yum 在linux上安装软件、插件 https://www.cnblogs.com/chuncn/archive/2010/10/17/1853915.html sz 下载文件 rz 上传文件 scp 拷贝文件 cat concatenate[kɒn’kætɪneɪt] 把 (一系列事件、事情等)联系起来 输入内容到文本中 CTRL +…
-
PHP Notes
PHP语言概述 HTML内嵌式脚本语言,PHP:Hypertext Preprocessor(超级文本预处理) javascript是动态脚本语言,基于对象,采取事件驱动,。 html静态超文本标记语言 语法规则 包含 HTML 标签和一些 PHP 脚本代码。 PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。 通过 PHP,有两种在浏览器输出文本的基础指令:echo和print。 变量 变量规则: 变量以 $ 符号开始,后面跟着变量的名称 变量名必须以字母或者下划线字符开始 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ ) 变量名不能包含空格 变量名是区分大小写的($y 和 $Y 是两个不同的变量) 先声明,后赋值 数据类型 String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值) 对比 java的数据类型 整型(byte2^8, short2^16, int2^32 40亿, long2^64,), 浮点型(float,double), 字符型(char), 布尔型, 集合, 类 预定义变量…
-
Python Notes
github python学习区 https://blog.csdn.net/u010670689/article/details/51911240 书名:《Python程序设计入门到实战 》台湾人写的 python语法 python3语法 python软件包在线仓库 Module/package Function Requests http请求 os.path(built-in) glob/ os.walk/ os.system/ shutil 操作文件、目录,磁盘操作 mysql-python 连接数据库 BeautifulSoup 提取网站数据 Selenium 操作浏览器javascript Django/Flask Web app 换行符,缩进 换行和空格是有意义的,必须统一 java有分号“;” 有大括号{}控制模块 python用缩进写模块,没有大括号{} 换行 一般以新行作为为语句的结束符。使用斜杠( \)将一行的语句分为多行显示。语句中包含 [], {} 或 () 括号就不需要使用多行连接符。 数据类型 python有Numbers(数字)整型,浮点数型,空值(NONE)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典) 字符串 索引,从0开始 列表 就是集合,数组。列表用 [ ] 标识,是 python 最通用的复合数据类型。 元组 是另一个数据类型,类似于List(列表)…