所学知识点归纳梳理(一)

Activiti工作流

1. 1个插件

在Eclipse中安装Activity插件,让你可以在Eclipse中绘制Activity工作流图

2. 1个引擎

ProcessEngine对象,Activity工作流引擎。这是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。

所有的操作都是从获取引擎开始的,所以一般会把引擎作为全局变量

ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine();

3. 1个配置文件

activiti.cfg.xml。Activiti核心配置文件,配置流程引擎创建工具的基本参数和数据库连接池参数

4. 23张表

不同的表存放不同方面的数据,有流程定义表、任务结点表、流程变量表、任务历史表等等。

5. 5项Service

RepositoryService

管理流程定义

RuntimeService

执行管理,包括启动、推进、删除流程实例等操作

TaskService

任务管理

HistoryService

历史管理(执行完的数据的管理)

IdentityService

组织机构管理

6. 7项基本操作

设计流程图(各种组件,如连线、用户任务、网关)

流程定义增删改查

流程变量增删改查

启动流程定义

任务增删改查

完成任务

历史信息查询

 

Git和Svn

集中式和分布式版本控制系统

 

Kotlin

方法声明

类型推断:隐式、显式

Var和val

字符串比较、空值处理、when表达式、条件语句、循环和区间

List和map的使用

函数表达式

所学知识点归纳梳理(一)

继承、必须有open关键字:子类才能重写和继承

Override关键字,用于子类重写父类方法,或者实现抽象方法

abstract关键字,用于声明抽象类

object关键字,用object关键字声明,会直接在JVM中被创建了,并且有且只有一个

 

Python

数据类型

可变对象:元祖,数值,字符串

不可变对象:字典,列表

不可变类型特点:

a=1 //将变量a与内存中值为1的内存绑定到一起

a=2 //将变量a与内存中值为2的内存绑定到一起,而不是修改原来a绑定的内存中的值,这时,内存中值为1的内存地址引用计数为-1,当引用计数为0,内存地址被回收

b=a //变量b执行与a绑定的内存

b=3 //创建一个内存值为3的内存地址与变量b绑定,a还是指向值为2的内存地址

Numbers类型

字符串类型

Puthon的字符串比较和kotlin一样,都是比较内容,不是地址值

元祖tuple

元祖的特点是只读的列表,元祖内的元素不可修改,但是可以进行拼接操作

值可以是不同的数据类型,既可以是数值,也可以是字符串,或者别的

声明格式:变量 = (值。。)这里是(),和列表不同

列表

可读可写的有序列表,相当于Java中的数组,只是存储的数据类型不是单一的

值可以是不同的数据类型,既可以是数值,也可以是字符串,或者别的

声明格式:变量 = [值,值,。。。],这里是[],和元祖不同

字典

与java中的map十分相像

key可以是不同的数据类型,既可以是数值,也可以是字符串,或者别的

声明格式:变量 = {key:value},这里是{},和元祖,列表不同

字典中的key不能重复,如果key重复,value会被覆盖

函数

声明格式:def关键字 方法名(形参):

调用格式: 方法名(实参)

默认参数方法定义和调用

 

Linux

Ln链接可以理解成复制了一份文件,如果使用ln属于硬链接,代表复制了一份目标文件,并且如果目标文件修改,那么链接文件也会同步修改,目标文件被删除,链接文件仍然可用。如果使用ln -s属于软连接,代表复制了一份目标文件,并且如果目标文件修改,那么链接文件也会同步修改,目标文件被删除,链接文件就不可用。

Etc目录下的profile文件是可以设置全局的环境变量,而每个账户目录下的.bash_profile是为每个用户单独设置环境变量的。

Set nu显示行号

Cat和tac查看文本内容

Cat是从上往下看,tac是从下往上看

More和less查询文本内容(针对内容文本很大的数据来说,比较明显、直观)

More是一次看一个屏幕的内容,less是一次看一行,按q键退出阅读。

Head和tail查询文本内容(head查询前面的内容,tail查看末尾的内容)

语法:head 文件名(查看文件的前十行内容)

Tail -100 文件名 (查看文件后100行内容)

Tail –f 文件名 (查看文件末尾,一直进行监听,有新内容就立刻显示出来,适用于文件日志的查看,比如tomcat的启动是否有报错)

每种权限都有三位数字组成,第一位表示所有者的权限,第二位表示同组用户权限,第三位表示公共用户权限,r代表读取权限为4,w代表写入权限为2,x代表执行权限为1

chmod命令设置文件读写权限

关闭防火墙

即时生效,重启后失效

开启:service iptables start

关闭:service iptables stop

重启后生效

开启:chkconfig iptables on

关闭:chkconfig iptables off

grep是查找文本内容,find是查找文件

 

区块链

区块链:底层的信任机制,比如去银行取钱,需要办理一大推的核查手续,签字盖章,如果交给区块链,就不需要进行签字盖章,交由计算机底层的信任机制帮助处理。

认识误区

区块链不是比特币,比特币只是基于区块链技术的一种实现

区块链不是数据库

区块链并不是一个颠覆万能的技术

本质

分布式的账本

去中心化的信任系统

比特币是区块链的第一个实现

拜占庭将军”难题

区块链将改变我们的生活,将改变社会整体的运作,它的价值在于,数据一旦产生便不可更改,它将一件事情完整的记录下来,显示一个生命的过程,这产生了强大的信任,让你知道一切都是真的。建立了一种低成本的信用机制。

ZooKeeper是一个分布式的应用程序协调服务

负载均衡

负载均衡是把众多的访问人群和流量分担到不同的网络设备以及服务器上。简单的多,就是把大量的人群分流,分流到不同的机器上去,让每个服务器压力更小,负载更低。

冗余技术

当一台服务器对外提供访问的时候,再设置一台用于备份。当这台对外访问的服务器宕机时,备份机能够提供服务,这一过程就是冗余。避免单点故障,让用户感觉不到对其服务的机器发生了故障。

集群技术

错误认识:多台机器做成的集群,是单台机器性能的多倍,形成一个超级计算机。

正确认识:集群圈中的机器再多,**状态的也只会有一台,对外提供访问。其他的机器处于休眠状态。

 

只有负载均衡和冗余技术搭配在一起,才是真正意义上的超级计算机。

把一个系统拆分成多个工程,要完成系统的工程需要多个工程协作完成。这种形式叫做分布式。

 

Nginx

启动:./nginx

强制停止:./nginx -s stop

待任务完成后停止:./nginx -s quit

 

加密方法

对称加密和非对称加密:相同的秘钥和不同的秘钥

爬虫概论

通俗的讲,就是把你手动打开窗口,输入数据等操作用程序代替。用程序替你获取到你想要的信息,这就是网路爬虫

Java爬虫框架

Nutch

Nutch属于分布式爬虫,爬虫使用分布式,主要是解决两个问题:1.海量URL管理;2.网速。

如果要做搜索引擎,Nutch1.x是一个非常好的选择。Nutch1.x和solr或者es配合,就可以构成一套非常强大的搜索引擎