-
sql语句执行步骤详解
[TOC]一、准备工作先来一段伪代码,首先你能看懂么?SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_condition> GROUP BY <group_by_list> HAVING <having_condition>...…
-
python中好用的定时任务调度器-apscheduler
背景平时想在固定的时间运行某个程序或者python脚本,Windows系统中可以直接使用任务调度器,设置之后到设定时间就会启动,这里有个问题就是,每次都会重新运行。有没有那种直接在代码层面实现任务调度的呢?下面就介绍下apscheduler的使用。apscheduler非常的灵活,也能实现类型linux系统中的crontab定时器的功能。调度规则简单应用1.date最基本的一种调度,作业只会执行一次。它的参数如下:run_date (datetime|str) – the date/tim...…
-
python+itchat定时发信息
背景在工作中每天下班前都需要在公司的报工系统中进行工作日志的记录。但是有很多同事常常都会忘记报工 。 这种现象也让我们组长感到头疼,也每天在群里面催。就上述问题,我就想能不能每天定时的通知大家报工呢?也因为自己正在学习python知识,所以就用python+itchat+selenium+apscheduler来实现微信群的定时通知来每天通知大家报工。准备由于使用的是linux系统来运行python程序,所以这里先准备好python在linux系统运行的环境。1. python安装: l...…
-
tcp/ip概念初识
一、什么是协议?协议就是两个或多个对象之间为了某个或多个需求而设置的约定,即在什么时间,遇到什么情况该做什么。举例: 小强和小明约定周末一起去玩小霸王游戏机,但是如果遇上停电就去掏鸟窝。二、什么是TCP/IP协议?TCP/IP 协议就是为了满足世界上成千上万的网络设备的各种通信需求而设计的一套约定。举例: 你要从某网站下载一部电影,如何实现呢?首先网站服务器和你的电脑互相识别,需要 IP协议;为了跨越几千公里的互联网找到一条通往你电脑的路径,需要路由协议;为了片子数据传输不丢失乱序重复,需...…
-
web测试方法
web测试方法一、输入框1.字符型输入框:(1)字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。(2)长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超长字符比如把整个文章拷贝过去。(3)空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格(4)多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回...…
-
jmeter线程组参数
jemter工具介绍线程组中参数含义:线程数:模拟的用户数。Ramp-Up Pariod:启动线程时间循环次数:线程的循环次数计算:线程数 / Ramp-Up = 每秒启动的线程 (启动线程策略)总运行次数 = 循环次数 * 线程数总运行时间 = Ramp-Up * 循环次数…
-
vi命令
vi命令常用命令:文本编辑: 查找: [ ? ] or [ / ]通过[ n ] 可以找下一个 复制: [ yy ]复制光标所在位置的一行 [ #yy ]复制光标所在行数的#行 [ yw ]复制光标所在位置的一个字 [ #yw ]复制光标所在位置的#个字 粘贴: [ p ] 删除: [ dd ]删除一行 [ #dd ]删除多行 ...…
-
Linux 查看系统情况
Linux 查看系统命令查看内存大小:**【cat /proc/meminfo | grep MemTotal】**8位数(KB):66021546[66 G] 7位数:8546254[8 g]查看内存条数:**【dmidecode |grep -A16 "Memory Device$"】**查看cup个数:**【cat /proc/cpuinfo | grep "physical id" | uniq | wc -l】**查看cup核数:**【cat /proc/cpuinfo | gr...…
-
Linux常用命令使用
Linux常用命令为文件或目录设置权限// 为所有者、所属组和其他用户添加执行的权限chmod +x 文件路径// 为所有者、所属组和其他用户删除执行的权限chmod -x 文件路径// 为所有者添加执行的权限chmod u+x 文件路径// 为所属组添加执行的权限chmod g+x 文件路径// 为其他用户添加执行的权限chmod o+x 文件路径// 为所有者、所属组添加执行的权限chmod ug+x 文件路径// 为所有者、所属组和其他用户添加写、执行的权限,取消读权限chmod =...…
-
软件测试概念
一、测试基础1.软件(测试角度):软件 = 程序 + 文档 程序:程序源代码 文档: 1)需求说明书 2)概要设计书 3)软件详细设计说明书 4)用户手册 5)接口文档这些也是测试人员的测试对象。2.软件缺陷(bug):1)未实现产品说明书规定的功能2)3.测试阶段的分类:1)单元测试 2)集成测试 3)系统测试(测试人员主要做的,包括功能、性能) 4)验收测试(交付测试) 4.软件测试的手段:1)黑盒测试只有输入和输出,关注的是功能,覆盖率低 2)白盒测试需要思考软...…
-
java程序员学习路径
一、基础篇JVMJVM内存结构堆、栈、方法区、直接内存、堆和栈区别Java内存模型内存可见性、重排序、顺序一致性、volatile、锁、final垃圾回收内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定JVM参数及调优Java对象模型oop-klass、对象头HotSpot即时编译器、编译优化类加载机制classLoader、类加载过程、双亲委派(破坏双亲委派)、模块化(jboss modules、osgi、jigsaw)虚拟机性能监控与故障处理工具jps, jstac...…
-
mybatis的底层原理
mybatis的架构(图解)…
-
linux中crontab的使用
crontab安装(centOS)yum -y install vixie-croncrontab语法(计划任务)crontab [-u user] file crontab [-u user] [ -e | -l | -r ] (default operation is replace, per 1003.2) -e (edit user's crontab) 编辑 -l (list user's crontab) 显示所有任务...…
-
Linux用户和文件的权限管理
用户权限管理(1)查看用户who am i : 查看当前用户其他参数: -d:打印死掉的进程 -q:当前用户数和用户名 -u:当前用户登录信息(2)创建用户sudo adduser xxx用户名切换用户:su :切换到User用户sudo:以特权运行cmd命令,需要用户属于sudo组su -l xx用户名:切换到该用户Ctrl+d:退出当前用户(3)用户组查看当前用户属于哪个用户组groups xxx用户添加用户到sudo用户组中先切换到root权限用户中添加用户到用户组...…
-
数据库事务的隔离性
一、事务概念:作为一个逻辑单元执行一系列的操作,这操作要么全部完成,要么失败回滚。 通俗的理解就是:你去银行转账(这就是一个事务),要么转账成功,要么转账失败。事务的四个属性:(1)原子性(Atomicity): 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚(2)一致性(Consistency) : 就是一个事务在执行之前的状态和在执行完成之后的状态都是处于一致的状态。 例如:转账这个事务,A和B在转账之前,他们两个用户的金额总共是1000,这是在事务进行之...…
-
SSM框架搭建
ssm框架搭建的步骤:1.新建一个maven项目2.导入相应的jar包3.引入Mybatis的核心配置文件 -->mybatis-config.xml(该文件主要配置一些如:缓存,驼峰命名,分页插件等,其他数据源、事务交给spring)4.引入Mybtais的映射文件 -->mapper5.引入Spring的配置文件 -->applicationContext.xml(主要配置:数据源、事务、sqlsessionfactory)6.引入SPringMVC的配置文件 --&...…
-
HashMap的工作原理
面试提问“你用过HashMap吗?” “什么是HashMap?你为什么用到它?”答:HashMap可以接受null键值和值,而Hashtable则不能;HashMap是非synchronized;HashMap很快;以及HashMap储存的是键值对等等“你知道HashMap的工作原理吗?” “你知道HashMap的get()方法的工作原理吗?”答:HashMap是基于“散列表”的原理实现的,内部维护了一个数组来存储Entry对象。每个Entry对象内就是一个key/value结构。当我们往...…
-
ArrayList集合理解
创建ArrayList对象过程List<String> list = new ArrayList<String>(); 在这个过程中,java源码的过程:// ArrayList内部初始化一个数组,这里使用缓存,每次创建对象都会指向这个数组对象// transient关键字意味着elementData将不会序列化,那么ArrayList又将如何序列化?transient Object[] elementData;// 空listprivate static fina...…
-
java中I/O理解
I/O体系图I/O流使用对照图注:粗体为节点流。蓝色为转换流(字节流转为字符流)。流的理解数据流是一串连续不断的数据的集合,就象水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流。数据写入程序可以是一段、一段地向数据流管道中写入数据,这些数据段会按先后顺序形成一个长的数据流。简而言之:数据流是一组有序,有起点和终点的字节的数据序列。包括输入流和输出流。当程序需要读取数据的时候,就会建立一个通向数据源的连接,这个数据源可以是文件,内存,或是网络连接。类似的,...…
-
jvm内存结构理解
jvm内存结构线程私有或共享划分jvm内存线程私有的区域:程序计数器(program counter register)程序计数器是线程私有的,是用来记录每个线程下一步需要执行哪一条指令的。在jvm中这里是没有任何内存问题的,是不会出现内存错误的区域虚拟机栈(vm stack)java程序运行时,每调用一个方法时,都会在这个区域产生一个栈帧。这个栈帧用于存储:局部变量表、操作数栈、动态链接、方法出口信息等。每个方法从调用开始到结束的过程,都对应这Vm Stack中的入栈出栈的过程!在单线程...…