草庐IT

Spring 框架基础

主要学习,总结和介绍一下几点内容:  1.Spring支持"面向接口编程"的设计方法:   2.使用静态和实例工厂创建bean   3.基于构造函数DI,用于将bean依赖关系作为构造函数参数传递.   4.将简单的String值作为参数传递给构造函数和setter方法:   5.bean的工作域1.面向接口编程的设计方法:  如果依赖于其他类的类直接引用其依赖项的具体类,则会导致类之间的紧密耦合.这意味着如果要替换其依赖项的其他实现,则需要更改这个依赖于其他类的类本身.  我们知道Java接口定义了器实现类应遵循的契约.因此,如果一个类依赖于其依赖项实现的接口,那么当替换不同的依赖项实现时,

Android四大组件的工作过程,原理解析

一、Activity启动过程  首先我们要知道Activity有冷启动和热启动之分,通俗来说冷启动就是应用进程尚未创建,热启动则已经创建完成。   在点击桌面应用图标时,即将要启动的App将和Launcher、AMS、Zygote这三者多次通信,才会启动一个App,然后再启动Activity。追踪源码,我们可以得到以下整体的时序图:Activity启动时序图简单的梳理下整体流程,我们可以直接得到以下流程:Activity启动总体流程图Launcher进程通过Binder机制通知AMSAMS则判断应用进程是否已经存在(冷启动),不存在则通过Socket通讯通知Zygote进程fork应用进程,已

Apache Flink——一些重要的概念

一、数据流图(DataflowGraph)所有的Flink程序都可以归纳为由三部分构成:Source、Transformation和Sink。Source表示“源算子”,负责读取数据源。Transformation表示“转换算子”,利用各种算子进行处理加工。Sink表示“下沉算子”,负责数据的输出。Flink程序会被映射成所有算子按照逻辑顺序连接在一起的一张图,这被称为“逻辑数据流”(logicaldataflow),或者叫“数据流图”(dataflowgraph)。我们提交作业之后,打开Flink自带的WebUI,点击作业就能看到对应的dataflow。在运行时,Flink上运行的程序会被映

学习记录3 Hadoop生态圈技术栈(一)

这里先做一下简要的学习。这里属于数据开发范畴,所以首先肯定是先看一下数据仓库的工具------hive。hive简介Hadoop本身的三个部分HDFS(数据储存),MapReduce(数据分析处理)和YARN(集群资源管理和调度)。其实乍一看这几个方面其实已经较为完善了,看着是可以满足一整套流程的,那么hive存在的意义是什么呢?其存在的意义呢,个人感觉是为了方便一点。原因有二,其一是MapReduce本身的开发难度较大,学习成本比较高;其二就是HDFS储存的文件没有字段名,甚至没有数据类型,这就使得这个数据储存看起来很让人恶心了。而Hive就由此而生,可以将结构化的数据文件“映射”成一张清晰

2018BIGDATA-ParIS: The Next Destination for Fast Data Series Indexing and Query Answering

标题:ParIS:快速时间序列索引和查询应答的下一个目标本文与2018TKDE-ParIS+:DataSeriesIndexingonMulti-CoreArchitectures几乎是同一篇,一篇在会议,一篇在期刊,期刊文章做了些补充说明和优化,合并在一起说了。编者的总结:本文为iSAX提供了一种并行化算法,非常细粒度的并行,基于少量性能强劲的服务器,将similaritysearch的建索引和精确查询效率提升了一两个数量级,是非常卓越的进步。本文没有基于任何计算框架或者分布式服务,直接自己操控磁盘读写和内存控制,对于精确查询,选择了分区全盘扫描一遍SAX,利用原子操作BSF控制剪枝,最终也

阿里云-云计算-超详细-总起(一)

1.云计算云计算是一种模型,可以实现随时随地、便捷地、随需应变地从可配置计算资源共享池中获取所需的资源(例如:网络、服务器、存储、应用及服务),资源能够快速供应并释放,使管理资源的工作量和与服务提供商的交互减小到最低限度。云计算的核心技术是虚拟化,虚拟化其实主要提供了IaaS模式的服务。1.1云计算五大特征:按需自助服务、快速弹性伸缩、资源池化、可计量服务和广泛网络接入。实例:提供计算服务的最小单位,由vCPU、内存、系统盘和镜像组成。实例规格:定义了实例的vCPU和内存的配置,代表能提供的计算能力。快照:系统快照就是把系统某个状态下的各种数据记录在一个文件里,就如同人照相一样,相片显示的是固

想进阿里?先来搞懂一下分布式事务

分布式怎么理解:(个人理解)简单的讲:大任务划分为小任务。一个或多个人(或机器)完成同一任务中的不同部分。被分解后的小任务互相之间有独立性,节点之间只管接受和传递信息。分布式开发:多人协同,根据接口,个自开发一个模块,最后组合起来运行,可以称为分布式开发。分布式系统:一个系统,分为多个模块,在不同的机器上部署不同的功能,组合起来工作,(例如,大型系统中,个人信息模块,商品模块,分别部署在不同的地方,或者不同的部门管理,访问时通过公司规定的接口规范,也是现在流行的微服务。)并行系统(负载均衡)多个相同的程序,运载在不同的服务器上,可以叫做并行系统。今天这份笔记是广度与深度兼备、理论与实战兼顾的分

ggplot2: 用这种方式添加的参考线,你见过么?

前言  ggplot2做为R语言中画图的包,我想大家应该都不陌生,这个包可以解决大部分的画图需求。说到绘图,有时候为了方便了解数据的分布,我们需要在图上添加垂直参考线以示区分。可能大家会觉得用ggplot2添加垂直参考线不是很容易的么,只需要用geom_vline函数就可以了。没错,用这个函数确实可以很省事的添加参考线,但是这个参考线会很长。那么,如果想添加的参考刚好跟概率密度曲线和x轴相交却不出头,那不是看起来更完美么?下面我们就来说说这个是怎么回事。  先来看一下我们到底要干什么吧,不然,可能说了半天都不知道我们要做什么,看一眼下面这两张图,同样都添加了参考线,左边是用geom_vline

哪些对象会加入自动释放池呢?

有没有好奇过,自动释放池会延迟释放对象,那到底哪些对象会加入制动释放池呢?先科普一下main函数里的结构以前的main函数的结构现在的main函数结构发现有啥不同了不?区别就在于returnUIApplicationMain(argc,argv,nil,appDelegateClassName);老项目结构放在了@autoreleasepool{}里面为啥新项目结构后来苹果选择放在@autoreleasepool{}外面了呢?比如如下情况,这个o对象就无法释放了intmain(intargc,char*argv[]){@autoreleasepool{objc*o=[objccreate];/

unity Xcode 项目注意事项

1.xcode报错Cannotuse'@try'withObjective-Cexceptionsdisabled解决修改target->buildsettings->All|Combined->AppleLLVMCompiler4.2-Language中EnableObjective-CExceptions为YESimage.png2.发布上传程序报错333BD06E-99C8-45CF-AD8B-B62AC7EAA25B.png解决swiftimage.png3.打包时报错couldnotreparseobjectfileinbitcodebundle:'Invalidbitcodever