线程池 程序启动一个新线程成本是比较高的,因为它涉及到与操作系统交互。而使用线程池可以很好的提高性能,尤其是 当程序中要创建大量生存期很短的线程时,更应该考虑使用线程池。 线程池里的每一个线程代码结束后,并不会死亡,而是再次回到线程池中成为空闲状态,等待下一个对象来使用。 在JDK 5之前,我们必须 ...
分类:
编程语言 时间:
2020-06-07 19:08:55
阅读次数:
65
自动化设计模式 1.关键字驱动:将selenium进行二次封装,为用户自定义关键字,基于关键字,结合数据驱动的形式实现自动化测试的执行。 2.POM:页面对象模型,将所有页面全部列举,形成页面对象库,将核心流程要操作的元素与操作行为进行封装与管理,可以对系统的页面进行精准的操作,保障了自动化测试的成 ...
分类:
其他好文 时间:
2020-06-06 00:59:14
阅读次数:
105
一、第一个shell脚本 1、什么是shell Shell 是操作系统的最外层,Shell 可以合并编程语言以控制进程和文件,以及启动和控制其它程序。shell 通过提示您输入,向操作系统解释该输入,然后处理来自操作系统的任何结果输出来管理您与操作系统之间的交互。简单来说Shell 就是一个用户跟操 ...
分类:
系统相关 时间:
2020-06-04 21:29:23
阅读次数:
83
运行时数据区 线程独有 本地方法栈、虚拟机栈、程序计数器 这些与线程对应的数据区会随着线程开始和结束创建和销毁 JVM涉及的线程 线程是一个程序里的运行单元。JVM允许一个应用有多个线程并行的执行 在Hotspot JVM里,每个线程都与操作系统的本地线程直接映射。 当一个Java线程准备好执行以后 ...
分类:
其他好文 时间:
2020-05-25 22:33:49
阅读次数:
70
1、What's socket? socket可以看做用户进程与操作系统内核网络协议栈的编程接口。TCP/IP协议部分已经被内核给实现了,用户只需要实现应用层,这部分程序工作在用户空间。用户空间的程序需要通过套接字来访问内核网络协议栈。 套接字属于全双工的通信,可以用于本机进程间通信,也可以用于网络 ...
分类:
其他好文 时间:
2020-05-22 12:54:11
阅读次数:
78
守护进程: daemon进程。通常运行与操作系统后台,脱离控制终端。一般不与用户直接交互。周期性的等待某个事件发生或周期性执行某一动作。 不受用户登录注销影响。通常采用以d结尾的命名方式。 守护进程创建步骤: 1. fork子进程,让父进程终止。 2. 子进程调用 setsid() 创建新会话 3. ...
分类:
编程语言 时间:
2020-05-20 14:00:04
阅读次数:
52
[TOC] 系统启动一个新线程的成本是比较高的,因为它涉及到与操作系统交互。在这种情形下,使用线程池可以很好地提高性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池。 与数据库连接池类似的是,线程池在系统启动时即创建大量空闲的线程,程序将一个Runnable对象传给线程池,线 ...
分类:
编程语言 时间:
2020-05-13 20:24:28
阅读次数:
58
在使用系统级性能工具找出是哪个进程降低了系统速度之后,需要使用特定进程性能工具来发现这个进程的行为。 进程性能统计信息 要了解一个应用程序的性能,重要的是理解它与操作系统、CPU和存储系统是怎样进行交互的。大多数应用程序不是独立的,需要一些对Linux内核和不同函数库的系统调用。 内核时间 & 用户 ...
分类:
系统相关 时间:
2020-05-10 17:08:04
阅读次数:
90
1. str类型127.0.0.1:6379> set Name yeyu //设置值 OK 127.0.0.1:6379> get Name //获取值 "yeyu" 127.0.0.1:6379> mset Name yeyu Age 23 //批量设置值 OK 127.0.0.1:6379> ... ...
分类:
其他好文 时间:
2020-05-10 01:41:03
阅读次数:
82
前言 数据库目前在行业中可分为: + 关系型数据库(RDBMS):MySQL、Oracle、Postgres、SQLLite、SQLServer + NoSQL数据库:MongoDB、Redis、HBase + 图数据库:Neo4j + NewSQL:RethinkDB MySQL搭建 docker ...
分类:
数据库 时间:
2020-05-05 23:35:20
阅读次数:
77