学习优秀框架的源码,是提升个人技术水平必不可少的一个环节。如果只是停留在知道怎么用,但是不懂其中的来龙去脉,在技术的道路上注定走不长远。最近,学习了一段时间的spring源码,现在整理出来,以便日后温故知新。 IOC容器是spring最核心的模块之一,是整个spring体系的基石,spring其他模 ...
分类:
编程语言 时间:
2019-06-23 17:35:05
阅读次数:
109
使用springaop时需要注意,如果bean对象,即service层的对象没有实现接口的话,使用spring-aop的话会报错,因此需要在service层创建接口。 spring-aop的基层是基于动态代理来实现的,动态代理的实现有两种方式: 1.jdk动态代理 spring模式默认使用jdk动态 ...
分类:
编程语言 时间:
2019-06-23 17:38:55
阅读次数:
129
import java.io.*; String filePath = "/data/account.txt"; String conent = vars.get("account"); BufferedWriter out = null; try { File file = new File(fi... ...
分类:
编程语言 时间:
2019-06-23 17:41:29
阅读次数:
423
[TOC] 前言 在过去的两节里已经分析了选举过程中的一些实体类和网络IO相关的机制与源码,这一节将会对zookeeper选举的核心类FastLeaderElection进行分析。 FastLeaderEleaction基本结构 可以看到FastLeaderElection的基本结构还是比较清晰的, ...
分类:
编程语言 时间:
2019-06-23 18:54:35
阅读次数:
81
转自https://pjmike.github.io/2018/10/12/%E6%B5%85%E6%9E%90Spring-Security-%E6%A0%B8%E5%BF%83%E7%BB%84%E4%BB%B6/ 上一篇我们主要讲述了如何搭项目,这里我们就来简单探究一下原理 Spring Se ...
分类:
编程语言 时间:
2019-06-23 18:57:16
阅读次数:
131
1、链路追踪 微服务架构是通过业务来划分服务的,使用 REST 调用。对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能,如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败。随着业务的不断扩张,服务之间互相调用会越来越复杂。 随着服务的越来越多,对调用链的分析会越来越复 ...
分类:
编程语言 时间:
2019-06-23 18:57:41
阅读次数:
159
Spring 事务管理 一、Java 事务导引 事务简介: 1. 什么是事务 事务是正确执行一系列的操作(或动作),使得数据库从一种状态转换成另一种状态,且保证操作全部成功,或者全部失败。 2. 事务原则是什么 事务必须服从 ISO/IEC 所指定的 ACID 原则。 ACID原则的具体内涵如下: ...
分类:
编程语言 时间:
2019-06-23 18:58:39
阅读次数:
111
`二叉查找树(Binary Search Tree) BST`,必须具有以下性质: 若任意节点的左子树不空,则左子树上所有节点的值均 它的根结点的值 若任意节点的右子树不空,则右子树上所有节点的值均 它的根结点的值 任意节点的左、右子树也分别为二叉查找树 没有键值相等的节点 在二叉查找树中查找节点时 ...
分类:
编程语言 时间:
2019-06-23 18:59:09
阅读次数:
106
[TOC] 数据结构与算法之排序(冒泡,选择,插入) 为什么学习数据结构与算法: 计算机重要的几门课: 1.数据结构和算法 2.网络 3.操作系统 4.计算组成原理 数据结构与算法: 算法: 衡量算法的标准: 时间复杂度:就是程序代码执行的大概次数 小结: 时间复杂度是用来估计算法运行时间的一个式子 ...
分类:
编程语言 时间:
2019-06-23 18:59:23
阅读次数:
129
堆的定义 必须是一个完全二叉树(除了最后一层, 每个节点都有两个子节点, 最后一层只能缺少若干个右节点) 堆中每一个节点的值都必须` =(大顶堆)或 0: parent = int(i / 2) if self.heap_list[i] = 1: top_value = self.heap_list ...
分类:
编程语言 时间:
2019-06-23 18:59:58
阅读次数:
95
前言 本周花了大量的时间再研究算法,这个东西不是一下子就能搞懂的,可能花了大量的时间的看不到见效,也就是得不到一些有效的反馈,这也是我现在比较苦恼的问题,是继续先研究数据结构和算法,还是直接刷leetcode呢?我也不清晰,两眼摸黑,能怎么办呢?学呗,没准一年后就入门了,每天啃一点,没准哪天突然领悟 ...
分类:
编程语言 时间:
2019-06-23 19:03:59
阅读次数:
127
Unity开发实战探讨-资源的加载释放最佳策略简要心得 看过我另外一篇关于Unity资源释放随笔《Unity开发实战探讨-资源的加载释放最佳策略》如果觉得略微复杂,那么下面是一些比较简要的心得体会: 概括 常用资源加载的方法有三种:静态,Resources内部资源,AssetBundle外部资源 资 ...
分类:
编程语言 时间:
2019-06-23 19:04:30
阅读次数:
143
《Java并发编程之美》 阿里巴巴技术专家力作,用代码说话、用实例验证,并发编程没有这么难!《Java并发编程的艺术》*作者方腾飞老师好评推荐! ? 百度网盘链接: https://pan.baidu.com/s/12oEEeDEO_YofImkpQA1bLA 提取码: pmkh 内容简介 · · ...
分类:
编程语言 时间:
2019-06-23 19:06:57
阅读次数:
322
推荐算法在互联网行业的应用非常广泛,今日头条、美团点评等都有个性化推荐,推荐算法抽象来讲,是一种对于内容满意度的拟合函数,涉及到用户特征和内容特征,作为模型训练所需维度的两大来源,而点击率,页面停留时间,评论或下单等都可以作为一个量化的 Y 值,这样就可以进行特征工程,构建出一个数据集,然后选择一个... ...
分类:
编程语言 时间:
2019-06-23 19:09:30
阅读次数:
254
最近工作中又用到了volatile关键字,一直以来就是单纯的使用,也没有仔细看过相关内容,这次借机会详细的整理了下有关volatile的资料,记录在案以备查阅。 首先我们来看一个小例子: 这段代码是volatile关键字的典型应用场景之一,两个线程(主线程与thread 线程)通过共享一个变量进行信 ...
分类:
编程语言 时间:
2019-06-23 19:10:51
阅读次数:
93
运算符类型:可分为7类,赋值运算符、算术运算符、自增和自减运算符、比较运算符、逻辑运算符、位运算符、三元运算符。 一、赋值运算符 赋值运算符一定含有等号,即“=”或+=、-=、*=、/=、%=、&=、|=、^=、~=、<<=、>>=、>>>=,是一个二元运算符(即对两个操作数进行处理),其功能是将右 ...
分类:
编程语言 时间:
2019-06-23 19:12:18
阅读次数:
91
下午学习了python数据分析的应用案例 金融营销活动中欺诈用户行为分析。数据来源于DC竞赛数据:https://www.dcjingsai.com/common/cmpt/2018%E5%B9%B4%E7%94%9C%E6%A9%99%E9%87%91%E8%9E%8D%E6%9D%AF%E5%A ...
分类:
编程语言 时间:
2019-06-23 19:13:50
阅读次数:
351
http://www.cplusplus.com/ 有各个函数、语法的实例代码,可以在线运行http://cpp.sh/不支持中文字符,不错。 ...
分类:
编程语言 时间:
2019-06-23 19:15:23
阅读次数:
114
《Java核心技术 卷II 高级特性 原书第10版》 本书是Java领域有影响力和价值的著作之一,由拥有20多年教学与研究经验的Java技术专家撰写(获Jolt大奖),与《Java编程思想》齐名,10余年全球畅销不衰,广受好评。第10版根据JavaSE8全面更新,同时修正了第9版中的不足,系统全面讲 ...
分类:
编程语言 时间:
2019-06-23 19:16:21
阅读次数:
719
# 求最大值 def large(*num): # 定义一个函数,函数的参数为可变参数 m = 0 for n in num: if m > n: # 对参数进行两两比较 ma = m # 将最大的值赋给一个变量 else: ma = n m = n retur... ...
分类:
编程语言 时间:
2019-06-23 19:16:56
阅读次数:
113