自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 python版本替换批量迁移模块

在卸载python旧版本前收集旧版本的模块版本号pip freeze > requirements.txt安装新版本python之后执行:pip install -r requirements.txt -i https://pypi.doubanio.com/simple

2019-12-17 13:36:39 493

原创 IOC和工厂模式的关系

1、首先要搞清楚为什么要用反射机制?直接创建对象不就可以了吗,这就涉及到了动态与静态的概念。 例子解说:假设代码中需要判断用哪个数据库,当满足0条件,用mysql数据库,当满足1条件,用oracle数据库,用反射的概念则可以在代码中不明确具体用什么数据库,具体数据库可在配置文件中配置,而且也可以应对有更多数据库增加的场景,实现动态的切换数据库; 2、为什么说IOC的实现=工厂模式+反射?...

2018-08-30 16:17:48 2149

转载 工厂模式的理解

1、使用工厂模式的原因(符合开闭原则)只用一句话创建一个实例对象,不关心具体创建过程(有些复杂的创建对象过程,比如创建一个人需要创建各个器官,如果代码需要频繁的创建人物模型时比较麻烦); 降低代码耦合度,使得代码扩展、维护方便;2、三种工厂模式简单的工厂模式 构成(例子):一个工厂类(factory)、一个抽象产品类(一种型号的手机)、多个具体产品类(创建不同内存的手机) 例子:...

2018-08-30 16:04:18 313

原创 java内存模型的理解

1、线程之间的通信;2、线程之间的同步;3、java内存模型  1、线程的通信方式:共享内存和消息传递共享内存:线程之间有公共状态,比如通过共享对象; 消息传递:线程之间没有公共状态,比如典型的传递方式wait()和notify();2、线程之间的同步(java的并发采用共享内存模型)针对共享内存的通信方式,程序员指定某个方法或者代码互斥执行; 针对消息传递的通信...

2018-08-29 19:27:45 175

原创 java垃圾回收算法原理

1、堆内存可以分成几块?2、每块使用什么方法进行垃圾回收?什么时候该回收?3、内存如何分配以及回收策略?4、java拥有垃圾回收机制,为什么还会发生内存泄漏?  1、堆内存可以分成三块:新生代、老年代和永久代。2、分代收集算法:标记清除、复制、标记整理算法新生代的存活周期比较短,适合使用复制算法。 新生代:eden区域和survive0和survive1(比例是8:1...

2018-08-29 18:03:58 1869

原创 数据库锁的理解

事务:就是被绑定在一起作为一个逻辑工作单元的 SQL 语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。要将有组语句作为事务考虑,就需要通过 ACID 测试,即原子性,一致性,隔离性和持久性。锁:在所以的 DBMS 中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可...

2018-08-24 14:00:33 355

原创 mysql引擎+B树

排序二叉树:左子节点一定小于根结点,右子节点一定大于根结点,查找比较方便,节省一半的可能。但节点位于同一边时查找效率得不到提升,所以需要平衡化处理。即平衡二叉树。 平衡二叉树(左右子数高度差绝对值小于1,这样可以使得总共比较节点的次数不超过树的高度) B树:平衡的多叉查找。 mysql是如何使用B树的?innodb的数据是靠主键组织起来的,所以innodb下创建的表必须指定主键。Innod...

2018-08-24 14:00:22 174

原创 Mysql引擎——MyISAM和IInnoDB

Engine默认为MyISAM; MyISAM不支持事物,InnoDB支持,InnoDB每条sql语句被封装成一个事物,自动提交,影响速度,最好将多条sql语句放在begin和commit之间,组成一个事物提交; InnoDB支持行锁定,MyISAM支持之整个表的锁定; InnoDB支持外键,MyISAM不支持;...

2018-08-23 16:00:39 121

原创 正则表达式学习

正则表达式:匹配字符串(比如匹配email地址:首先创建email的正则表达式)\d匹配数字\w匹配字母.任意匹配

2018-08-23 11:05:10 107

原创 书写sql注意事项

1、字段名不能和关键字重复,若重复,在字段名两边加上反引号;

2018-08-23 11:03:23 207

原创 mysql分页功能

语句1:select * from student limit 9,4语句2:slect * from student limit 4 offset 9// 语句1和2均返回表student的第10、11、12、13行 ,第一个参数表示从该参数的下一条数据开始,第二个参数表示每次返回的数据条数。 例2,通过limit和offset 或只通过limit可以实现分页功能。假设 pa...

2018-08-23 11:02:28 788

原创 mysql索引

Pramary key和unique index的区别: 主键一定是唯一索引 一个表中主键只有一个,但唯一索引可以多个 主键列不允许空值,唯一索引允许空值; 索引分类 普通索引 唯一索引:加速查询+列值唯一(可以null) 全文索引:对文本内容进行分词,进行搜索; 单列索引 多列索引:多列值组成一个索引,效率大于索引合并 空间索引 主键索引:加速查询+列值...

2018-08-23 11:01:51 209

原创 MongoDB和Mysql区别

mysql和MongoDB的区别?对应优点?mysql是关系型数据库,MongoDB是非关系型数据库。Mysql的优点:处理复杂事务,批sql(交易系统、订单系统、银行系统)。 MongoDB优点:更高的写入负载:侧重数据写入性能,而非事务安全; 储存对象数据方便,类可以直接序列化成JSON储存到MongoDB中。...

2018-08-23 11:01:10 1472

原创 写代码过程中IDEA常用快捷键

注解:/**加回车; getter、setter:Control+N 导入包:option+回车 查找方法:command+点击方法 创建测试类:command+shift+t 全局查找:Command+shift+F 返回方法:Option+command+左 添加注释:command+shift  or   /** Try+catch:option+command+t...

2018-08-23 10:59:49 606

原创 git常用命令

初始化git仓库:git init 添加文件到仓库: Git add <file>                        (把文件修改添加到暂存区) Git commit -m <message>    (把暂存区文件提交到当前分支)                                (Commit可以一次提交多个文件)回滚: 版本改变...

2018-08-23 10:56:29 122

原创 web.xml配置文件

初始化配置信息,比如sevlet、sevletmapping、listen、filter等,在其加载的过程中顺序依次为:context-param >> listener >> fileter >> servlet

2018-08-23 10:48:25 114

原创 Spring入门学习01

什么是spring?spring优点?IOC和AOP的理解?spring配置文件?Spring注解?1、spring是轻量级开源框架,核心是控制反转IOC和面向切面编程AOP2、优点:         降低组件之间的耦合度,实现软件各层之间的解耦。         可以使用容器提供的众多服务,如:事务管理服务、消息服务等等。当我们使用容器管理事务时,开发人员就不再需要手工控制事务....

2018-08-23 10:45:17 142

原创 git代码合并与冲突

场景:开发人员:A和B1、A拉取master分支:git pull orgin master;2、B拉取master分支:git pull orgin master;3、A在分支上开发功能上传到远程代码库,merge到远程master分支上;A创建新的分支release/dev1: git checkout -b release/dev1; A开发完功能将分支上传到远程:gi...

2018-08-22 16:26:11 3816

原创 redis 连接问题Could not get a resource from the pool

1、连接池数目不够;2、端口错误;3、redis用完之后未释放;4、配置文件中的url连接地址;(可通过终端ping命令查看是否可以ping通) 

2018-08-20 20:48:47 576

原创 Nginx和Tomcat

2018-06-22 15:34:11 123

原创 cache和buffer的区别

1.   Cache解决的是时间问题,Buffer解决的是空间问题。2.   buffer是即将要被写入磁盘的,而cache是从磁盘中读出来的。3.  Cache,从CPU角度考虑,是为了提高cpu和内存之间的数据交换速度而设计的4.   Buffer:buffer(缓冲)是为了提高内存和硬盘(或其他I/O设备)之间的数据交换的速度而设计的。碎片化的写入会造成硬盘长时间高负荷的机械运动,造成硬盘过...

2018-06-22 10:10:55 161

原创 下拉菜单的测试用例

下拉菜单基本测试:1)默认值(为空,提示选择,某一值)检查;2)列表内容,是可变还是固定的,可变的最好要用SQL或其他方式验证正确性,不允许出现重复值;3)列表中的排序方式,特别是选项过多时尤为重要;4)列表过长是否提供滚动条支持,一般超过10个需要滚动条;5)选择一个选项后是否可编辑,有的下拉菜单允许编辑选择,这还需要验证其合法性;6)列表中文本的对齐方式,一般都是左对齐;7)选择框的长度是否可...

2018-05-15 11:36:21 8278

原创 微信朋友圈测试方法

结构(s):组成部分;功能(f):是否符合预期,比如显示别人发的朋友圈,比如自己发的朋友圈;数据(d):每个功能对应不同的数据,比如只有文字或者只有图片;接口(f):朋友圈客户端和服务端的交互接口功能,消息提示、朋友圈点赞功能平台平台(P):手机、web、pad是否兼容操作场景(o):显示各种消息,对评论回复、看个人朋友圈所有内容、三天可见、半年可见时间(t):速度、延迟...

2018-05-02 15:00:41 4500

原创 软件测试用例——马克杯

马克杯的测试性能:使用寿命、、是否漏水、是否易腐蚀、杯柄是否易脱落、水是否不易喝到安全:材料是否安全,是否环保,杯子是否有异味兼容:温度、不同饮料外观:设计是否合理震动测试:运输途中是否容易震坏...

2018-05-02 14:49:12 321

转载 Java线程安全问题

       线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。(Vector,HashTab;le) ,比如vector是同步的,因为java会有相应的机制是同一时刻只有一个线程对这个变量操作。并且 Vector 明确地设计为在多线程环境中工作。       线程不安全就是不...

2018-05-02 09:07:30 150

原创 小黄车使用场景——测试用例

找车:地图、定位、分辨率借车:二维码扫、输入车牌号、保修或异常提示、异常提示界面还车:金额计算、结束骑行、重复进入、整点临界值计费

2018-04-20 09:41:16 4630

原创 测试用例——微信红包测试用例

单个红包的情况        单个金额输入:红包上限、小数点位数限制、数值为0情况、多位小数点     留言群发红包的情况     设置个数     抢红包记录     安卓用户和苹果用户互相之间的转换     是否可以多次抢一个红包     发红包者是否可以抢红包     未领取的红包24小时退回...

2018-04-20 09:36:49 27160

原创 mvc三层架构

mvc是一个设计模式,强制性将应用程序的输入、处理和输出分开。它分为以下三层:     模型层:应用程序的核心功能,管理这个模块中用的数据和值。     显示层:视图提供模型的展示,应用程序的外观。     控制层:对用户的输入做出反应,管理用户和视图的交互。...

2018-04-16 14:19:28 171

转载 Nodejs的理解

Nodejs是什么?它是js的运行环境(和java上的jre有点像),可以让js脱离浏览器运行。以下是在知乎上看到一篇文章对nodejs的理解比较好,就转载了。作者:厂长链接:https://www.zhihu.com/question/33578075/answer/56951771在传统的Web服务器(Apache)中,浏览器对服务器的每个请求都点击打开链接会让服务器建一个新的进程来处理请求。...

2018-04-14 21:47:15 1044

转载 利用github pages和hexo搭建博客

首先,github pages是什么?它是通过github网站托管和发布的公开网页。github pages给开发者建立一个私人页面,可以分享想法和代码。这里的pages是通过http服务的,不是https。所以不要在page库里面放敏感数据。(https和http的区别)Hexo(Hexo是一个快速简洁的博客框架,可以让几百个页面在几秒内渲染,Hexo支持Github Flavored Mark...

2018-04-14 19:51:33 144

转载 web应用框架的理解

客户层:可以用类似于jQury这样的库来支持AJAX功能;展示层:与客户交互的层,在这层可以用Spring MVC这样的框架。服务层:在AJAX请求的情况下,直接向客户提供数据。与数据层通信获取或更新数据。可以使用任何框架,如Spring的SOAP或REST;数据层:使用ORM框架,如Hiberate,或任何基于JDBC的库(Sring JDBC模板)来与任意RDBMS(Oracle)进行通信。w...

2018-04-14 19:50:15 309

转载 Java中String的基本操作

 String类适用于描述字符串事物。  那么它就提供了多个方法对字符串进行操作。    常用的方法如下:    1、获取:     1.1 字符串中包含的字符数,也就是字符串的长度。         int length():获取长度。     1.2 根据位置获取该位置上的某个字符。         char charAt(int index):返回指定索引处的char值。     1.3 根...

2018-04-10 19:01:31 213 1

原创 每天一例:用户注册测试用例

以博客园的注册页面为例1、邮箱输入测试:种类比较多,能确定的只有@ .2、手机号码测试:     有效等价类:以13/14/15/17/18开头的11位数字;     无效等价类:不以13/14/15/17/18开头的11位数;非11位数字;带有非数字的字符;包含空格;3、登入名称、显示名称     正确输入:输入符合最少字符个数(英文+数字);输入符合最少字符个数(数字);输入符合最少字符个数(...

2018-04-01 18:12:53 7797

原创 每天一例:搜索框测试用例

简单搜索不输入任何字符,点击搜索按钮;是否支持中文英文数字的各种组合,加入空格;是否支持特殊符号、html标签、标点符号搜索;是否支持大小写、半角、全角的输入;是否支持enter键;...

2018-04-01 16:58:34 6886

原创 什么是git?如何通俗易懂地理解?git的常用命令详解?

git是一种版本控制系统,主要用于管理源代码。为了方便理解git的作用,可以从以下几个方面理解:1、编写源代码时需要备份,本地机器和远程服务器都需要存放一份代码,这个时候git可以提供一套机制使其本地和远程同步;2、对同一份代码更改,可以互不影响,又可以同步别人的代码;3、版本更新,历史代码更改记录,可以查询很详细的信息。      想到了最近刚刚学习的linux用户权限和历史...

2018-03-29 22:22:04 1882

原创 Linux学习原因

1、可以知道自己在做什么。2、因为做好测试工作,长远发展来看不能依赖与图形化操作,要改变思维习惯。3、处理一些日志和配置文件效率高。4、原本是觉得有用,学了以后发现是真的有用,体现在哪些方面呢?加深对操作系统的理解,知道一些底层的东西。趋势是学习的动力。兴趣是学习的基本。5、真正的好处其实挺难感受到,因为个人用的少,什么免费、开源、稳定主要是和企业相关。但不能跌入“用到了再学”这个学习陷阱。...

2018-03-29 15:53:55 166

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除