-
python内置函数-compile()
所属栏目:[大数据] 日期:2021-05-21 热度:116
python的内置函数 compile()--编译. 这个函数有什么用呢? 一个最简单的例子,就是我们的代码,会被解释器读取,解释器读取后的其实是字符串,然后通过compile编译后,又转换成python可识别的代码.这样python就能执行了.? 这里就有一个例子,是将一段str字符串,通过[详细]
-
5.3 Spring5源码--Spring AOP使用接口方式实现
所属栏目:[大数据] 日期:2021-05-21 热度:148
Spring 提供了很多的实现AOP的方式:Spring 接口方式,schema配置方式和注解. 本文重点介绍Spring使用接口方式实现AOP. 研究使用接口方式实现AOP,以了解为目的. 更好地理解spring使用动态代理实现AOP. 通常我们使用的更多的是使用注解的方式实现AOP 下面来看[详细]
-
5.2 spring5源码--spring AOP源码分析二--切面的配置方式
所属栏目:[大数据] 日期:2021-05-21 热度:59
目标: 1. 什么是AOP,什么是AspectJ 2. 什么是Spring AOP 3. Spring AOP注解版实现原理 4. Spring AOP切面原理解析 ?一. 认识AOP及其使用 详见博文1:?5.1 Spring5源码--Spring AOP源码分析一 ? 二. AOP的特点 ?2.1 Spring AOP 2.1.1 他是基于动态代理实现的 S[详细]
-
2.2 spring5源码系列 -- ioc加载的整体流程
所属栏目:[大数据] 日期:2021-05-21 热度:96
之前我们知道了spring ioc的加载过程,具体如下图. 下面我们就来对照下图,看看ioc加载的源代码. ?下面在用装修类比,看看个个组件都是怎么工作的. ? 接下来是源码分析的整体结构图. 对照上面的思路梳理出来的 ? 一、源码分析的入口? 通常,我们的入口都是从main[详细]
-
5.2 spring5源码--spring AOP源码分析三---切面源码分析
所属栏目:[大数据] 日期:2021-05-21 热度:200
一. AOP切面源码分析 源码分析分为三部分 1. 解析切面@H_403_5@ 2. 创建动态代理@H_403_5@ 3. 调用@H_403_5@ ? 源码的入口 源码分析的入口,从注解开始: 组件的入口是一个注解,比如启用AOP的注解@EnableAspectJAutoProxy. 在注解的实现类里面,会有一个@Import[详细]
-
4 Spring源码 --- 监听器的原理
所属栏目:[大数据] 日期:2021-05-21 热度:139
目标: 1. 监听器如何使用 2. 监听器的原理 3. 监听器的类型 4. 多播器的概念和作用 5. 接口类型的监听器是如何注册的? 6. 注解类型的监听器和如何注册的? 7. 如果想在所有的bean都加载完成以后做一些事情,怎么办? ? ?一.?监听器的使用 为什么要学习监听器呢[详细]
-
2.3 spring5源码系列---内置的后置处理器PostProcess加载源码
所属栏目:[大数据] 日期:2021-05-21 热度:129
本文涉及主题 1. beanfactoryPostProcessor调用过程源码剖析 2. 配置类的解析过程源码 3. 配置类@Configuration加与不加的区别 4. 重复beanName的覆盖规则 5. @ComponentScan的解析原理 ? ? 一. 研究目标: 解析spring如何加载配置类 我们经常会在一个类上打[详细]
-
3.4 spring5源码系列--循环依赖的设计思想 3.1 sprin
所属栏目:[大数据] 日期:2021-05-21 热度:65
前面已经写了关于三篇循环依赖的文章,这是一个总结篇 第一篇:?3.1 spring5源码系列--循环依赖 之 手写代码模拟spring循环依赖 第二篇:?3.2spring源码系列----循环依赖源码分析 第三篇:?3.3 Spring5源码---循环依赖过程中spring读取不完整bean的最终 现在总结[详细]
-
spring5源码 -- IOC容器设计理念和核心注解的作用
所属栏目:[大数据] 日期:2021-05-21 热度:119
? 可以学习到什么? 0. spring整体脉络 1. 描述beanfactory 2. beanfactory和ApplicationContext的区别 3. 简述SpringIoC的加载过程 4. 简述Bean的生命周期 5. Spring中有哪些扩展接口及调用机制 ? 一. spring源码整体脉络介绍及源码编译 ?1.1. 什么是IOC ioc[详细]
-
3.1 spring5源码系列--循环依赖 之 手写代码模拟spring循环依赖
所属栏目:[大数据] 日期:2021-05-21 热度:51
本次博客的目标 1. 手写spring循环依赖的整个过程 2. spring怎么解决循环依赖 3. 为什么要二级缓存和三级缓存 4. spring有没有解决构造函数的循环依赖 5. spring有没有解决多例下的循环依赖. 一.? 什么是循环依赖? 如下图所示:? ? ?A类依赖了B类,同时B类有依[详细]
-
3.3 Spring5源码---循环依赖过程中spring读取不完整bean的最终解
所属栏目:[大数据] 日期:2021-05-21 热度:174
根据之前解析的循环依赖的源码,分析了一级缓存,二级缓存,三级缓存的作用以及如何解决循环依赖的. 然而在多线程的情况下,Spring在创建bean的过程中,可能会读取到不完整的bean. 下面,我们就来研究两点: 1. 为什么会读取到不完整的bean. 2. 如何解决读取到不完[详细]
-
5.1 Spring5源码--Spring AOP源码分析一
所属栏目:[大数据] 日期:2021-05-21 热度:71
目标: 1.什么是AOP,什么是AspectJ, 2. 什么是Spring AOP 3. Spring AOP注解版实现原理 4. Spring AOP切面原理解析 ?一. 认识AOP 1.1 什么是AOP aop是面向切面编程,相比传统oop,aop能够在方法的前置,中置,后置中插入逻辑代码,对于项目中大量逻辑重复的代[详细]
-
urllib模块提供的urlretrieve()函数使用
所属栏目:[大数据] 日期:2021-05-21 热度:176
urllib模块提供的urlretrieve()函数,urlretrieve()方法直接将远程的数据下载到本地 注意:若是网站有反爬虫的话这个函数会返回 ?403 Forbidden 参数 url : 传入的网址,网址必须得是个字符串 ? 参数 filename : 指定了保存本地路径(如果参数未指定, urllib[详细]
-
python多线程+生产者和消费者模型+queue使用
所属栏目:[大数据] 日期:2021-05-21 热度:69
多线程简介 多线程:在一个进程内部,要同时干很多事情,就需要同时执行多个子任务,我们把进程内的这些子任务叫线程。 线程的内存空间是共享的,每个线程都共享同一个进程的资源 模块: 1、_thread模块 低级模块(在python3里基本已弃用) 2、threading模块[详细]
-
python类变量与__init__声明变量的区别
所属栏目:[大数据] 日期:2021-05-21 热度:76
类变量 :可在类的所有实例之间共享的变量 实例类对象 :类的实例是调用类对象来创建的。如:par = Parent(),par就是类Parent的一个实例类对象。 实例变量 (成员变量):同一个类对象可以创建多个实例类对象,类定义中有self标志的变量就是实例变量 ? 一个[详细]
-
python之requests库使用
所属栏目:[大数据] 日期:2021-05-21 热度:172
requests库 虽然Python的标准库中 urllib模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests宣传是 “HTTP for Humans”,说明使用更简洁方便。 安装和文档地址: 利用 pip 可以非常方便的安装: pip install reque[详细]
-
python之re库使用
所属栏目:[大数据] 日期:2021-05-21 热度:148
re模块中常用函数: match: 从开始的位置进行匹配。如果开始的位置没有匹配到。就直接失败了。示例代码如下: text = ' hello ' ret = re.match( h ,text) print (ret.group()) h 如果第一个字母不是 h ,那么就会失败。示例代码如下: text = ahello (ret.[详细]
-
java中split特殊符号
所属栏目:[大数据] 日期:2021-05-21 热度:188
关于点的问题是用string.split("[.]") 解决。 关于竖线的问题用 string.split("|")解决。 关于星号的问题用 string.split("*")解决。 关于斜线的问题用 sring.split("\")解决。 关于中括号的问题用 sring.split("[]")解决。[详细]
-
BlockingQueue(阻塞队列)详解
所属栏目:[大数据] 日期:2021-05-21 热度:110
一. 前言 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自[详细]
-
单点登录的原理
所属栏目:[大数据] 日期:2021-05-21 热度:188
一、单点登录的概念 1、什么是单点登陆 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 2、单点登录的引入 较大的企业内部,一[详细]
-
HttpClient 如何设置超时时间
所属栏目:[大数据] 日期:2021-05-21 热度:132
今天分享一个巨坑,就是 HttpClient。这玩意有多坑呢?就是每个版本都变,近日笔者深受其害。 先看一下代码,我要发送请求调用一个c++接口。 public static String doPostWithJSON(String url,String json) throws Exception { CloseableHttpClient client =[详细]
-
oracle 中 to_date 函数的用法
所属栏目:[大数据] 日期:2021-05-21 热度:186
常犯错的使用方法、 to_date('2019-08-12 22:05:','yyyy-MM-dd HH24:mm:ss') Oracle中会引起错误:“ORA 01810 格式代码出现两次”。 正确的使用方法 to_date(sysdate,'yyyy-MM-dd HH24:mi:ss') 常用参数 D 一周中的星期几 DAY 天的名字,使用空格填充到9个[详细]
-
Java报错:java.math.BigDecimal cannot be cast to java.lang.S
所属栏目:[大数据] 日期:2021-05-21 热度:112
从数据库取数字,转为string,报错: java.math.BigDecimal cannot be cast to java.lang.String 错误代码 Integer.parseInt((String)map.get("id")) 解决方法 Object object = map.get("id"); Integer.parseInt(String.valueOf(object ));[详细]
-
阻塞队列实现日志接口开发
所属栏目:[大数据] 日期:2021-05-21 热度:54
前言 近日开发一个日志接口,供其他系统通过 webservice 进行调用。考虑到并发,多线程决定使用阻塞队列实现日志接口。记录实现的过程,供大家参考,对阻塞队列不了解的,可以参照上一篇博文。 实现阻塞队列 public class RemoteUpgradeLogQueue {?????priva[详细]
-
Java 中 PO 与 VO 的区别
所属栏目:[大数据] 日期:2021-05-21 热度:74
什么是PO PO(Persistence Object 持久化对象)是直接跟持久层数据库打交道的java Bean (model,entity,bean等叫法都是可以的),里面除了私有的成员变量之外,就只有其对应的set/get方法, 而且其变量一般跟数据库表中的列几乎(除了名字)一样。 什么是VO VO(Val[详细]