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(列表)…