随笔分类 - 编程
摘要:入门 设计原则1:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。 这个概念每个设计模式背后的精神所在,所有的模式都提供了一套方法让“系统中的某部分改变不会影响其他部分”。 设计原则2:针对接口编程,而不是针对实现编程。 关键就是利用多态,程序针对超类型编程,执行时会
阅读全文
摘要:一 事务定义及特性 1、数据库事务的定义:数据库事务(Database Transaction) 是指由一个或多个SQL语句组成的工作单元,这个工作单元中的SQL语句相互依赖,如果有一个SQL语句执行失败,就必须撤销整个工作单元。 以银行转账为例: 2、数据库事务必须具备ACID特征A: Atomi
阅读全文
摘要:一 AWR报告生成 1、生成AWR(Automatic Workload Repository)报告:sqlplus / as sysdbaSQL>@?/rdbms/admin/awrrpt.sql 2、修改采集时间和统计信息保留时间:SQL>exec dbms_workload_repositor
阅读全文
摘要:测试理论知识总结: 测试思路系列:《微软的软件测试之道》读书笔记; 测试思路系列:《谷歌的软件测试之道》读书笔记; 测试思路系列:测试领域完整知识体系总结; 测试自动化平台 | 测试开发工程师的进阶之路; 工作中,除了理论,也要不断实践学习,为了快速上手,我打算写一个有增删改查功能的Javaweb项
阅读全文
摘要:一 开始前 HotSpot:http://xiaomogui.iteye.com/blog/857821 http://blog.csdn.net/u011521890/article/details/52197723 虚拟机Ubuntu16编译openjdk7 http://www.cnblogs
阅读全文
摘要:1、硬盘是怎么来存储数据的? 硬盘是在硬质盘片(一般是铝合金,以前 IBM 也尝试过使用玻璃)上涂敷薄薄的一层铁磁性材料。硬盘储存数据的原理和盒式磁带类似,只不过盒式磁带上存储是模拟格式的音乐,而硬盘上存储的是数字格式的数据。写入时,磁头线圈上加电,在周围产生磁场,磁化其下的磁性材料;电流的方向不同
阅读全文
摘要:一 数据的基本概念 1、数据:所有能输入计算机并被识别的符号 数据元素:数据基本单位,由若干数据项组成(比如数据库里的一条数据) 数据项:最小数据单位(比如数据库里一条数据的每一列就是一个数据项) 数据对象:性质相同的数据的集合 2、计算机处理的计算问题分为两大类:数值计算、非数值计算。 数据结构研
阅读全文
摘要:一、编译器是什么 源程序→预处理器→经过预处理的源程序→编译器→汇编语言程序→汇编器→可重定位的机器代码→链接器/加载器→目标机器代码。 编译器的结构: 与源语言相关:字符流→词法分析器→词法单元流→语法分析器→语法树→语义分析器→语法树→中间代码生成器→ 中间表示形式→机器无关代码优化器→中间表示
阅读全文
摘要:一 性能测试发展阶段 1、初级——性能检测能力 知道并发用户数、响应时间、吞吐量; 知道负载测试、压力测试、疲劳强度测试、基准测试; 知道测试需求分析、测试方案制定、测试环境配置、测试数据准备、测试执行及测试结果分析; 编制性能测试方案:方案中应包括测试目的、测试依据、测试计划、测试内容、测试方法、
阅读全文
摘要:最近在极客时间学习了茹炳晟2018年出的课程——《软件测试52讲》,总结了测试知识的方方面面。 我想知道最完整的测试知识体系是什么样,就写了一个小web项目,练习各种主流的测试技术,试着整理,搞完后发现深度不够,知识点太散,所以没有实质提升。学习课程后深感佩服,现在以茹炳晟的课程体系为框架,再以一个
阅读全文
摘要:B站韩立刚老师的视频真的是一绝。 问题:计算机除了计算,还能彼此间通信,它们是如何通信的呢?是网络。 大纲:1、OSI七层参考模型;2、TCP/UDP传输协议;3、常见的应用层协议 一、网络体系架构 1、协议 协议是指计算机通信网络中,两台计算机进行通信,所必须遵循的规定或规则。计算机网络中有各种各
阅读全文
摘要:此笔记分为两部分, 上部分是B站操作系统考研课程的知识点总结,包括:概述、进程与线程、处理机调度算法、进程同步、内存管理、文件管理、IO管理,共7部分。 下部分是阅读《现代操作系统》这本书的知识点总结,包括:引论、进程与线程、存储管理、文件系统、IO、死锁、多媒体、多处理机、安全,共9部分。 一、操
阅读全文
摘要:一、计算机的体系结构 冯诺依曼提出:计算机必须有输入、输出、存储器、运算器和控制器五个组成部分。还提出“二进制”和“程序存储” 计算机发展根据电子元器件划分: 电子管1946-1957 使用机器语言和汇编语言 晶体管1957-1964 出现操作系统,高级程序设计语言 集成电路1965-1970 高级
阅读全文
摘要:第一章 全书概述 一 基础 1、程序的生命周期分为四个阶段: Hello.c (源程序) 预处理器(cpp)Hello.i 编译器(ccl)hello.s 汇编器(as)hello.o(这时是个二进制文件) 链接器(id)(将函数并入到程序) Hello (最后变成可执行的目标程序) 2、了解编译过
阅读全文
摘要:一 基本概念 IO(BIO)和NIO的区别:其本质就是阻塞和非阻塞的区别。 阻塞:应用程序在获取网络数据的时候,如果网络传输数据很慢,那程序就一直等着,直到传输完毕为止。 非阻塞:应用程序直接可以获取已经准备就绪的数据,无需等待。 IO为同步阻塞形式,NIO为同步非阻塞,到JDK1.7,NIO为异步
阅读全文
摘要:1,网站价值在于能给用户提供什么,而不在于它是怎么做的。 2,在网站还很小时,就追求网站的架构是舍本逐末。 3,不要为了技术而技术。 4,计算机的任何问题都可以通过增加一个虚拟层来解决。网络的七层,每一层都可以看作是下一层的虚拟层,操作系统可以看作硬件的虚拟层,java虚拟机可以看作是操作系统的虚拟
阅读全文
摘要:一 线程基础 1、synchronized取得的锁都是对象锁,哪个线程执行synchronized修饰的方法,哪个线程就获得这个方法所属对象的锁。不同对象不同锁,互不影响。 另一种情况是static静态方法加synchronized表示类级别的锁,锁定.class类。如: public static
阅读全文
摘要:为什么Java是跨平台的? 高级语言通过编译器,转为汇编语言,汇编语言通过汇编器转为0和1。 当c转为汇编时,不同厂家cpu,用不同的指令集,所以有不同的汇编语言结果,导致c不能跨平台。 java在各平台装java虚拟机,就相当于做了个格式转换,也体现了分层的概念,docker也是这样。所以java
阅读全文
摘要:1、在测试之前,先看架构,具体到细节,知道数据交互路径。可以细分出每一部分的耗时。 调优先调参数,等参数全都健康了,再看代码逻辑sql等。因为调优系统配置,代价最小,提升最大。 2 测试核心:证据链。 最基本的通用方法是根据cpu等资源消耗定位代码。举些例子: 代码问题:cpu高➡️通过top命令查
阅读全文
摘要:一 关于微软 测试工程师的能力:有坚实的工程技术基础的人,他们有和初级软件开发工程师一样的编程能力,并具备一个优秀测试人员所需的其他属性,成为被测产品领域的专家。 测试管理者的能力:测试经理较少亲自作具体的测试工作事项,他仍需要懂得技术,但会被要求多注重于建立测试的流程和工具。一个测试经理会花很多时
阅读全文