`
天府小茶客
  • 浏览: 12680 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
文章列表
      批量导入导出测试点:   导出:   1、导出文件名检查;   2、导出文件打开数据展示正常;   3、大数据量导出:文件分页拆分自动分页下载;   4、大数据量导出性能测试:最多支持多少条导出,是否有超时回退机制;   5、如果导出的是模板,则需测试直接使用导出的模板,并填充合法数据后,用当前文件再导入,观察是否正常导入。     导入:   1、每个字段检查:(有的字段要求要在数据库中存在,比如组,角色,有的字段要求不能存在,比如账号)    1、不填;    2、非法字段:中文、大小写英文、数字,非法字符;    3、不在枚举范 ...
一、基本命令:   mvn clean compile:编译 mvn clean test:测试,会先自动compile mvn clean package:打包,会先自动test mvn clean install:安装到“本地仓库”中,供其他应用用 mvn clean deploy:运行清理和发布(发布到私服上面)

2018目标

2018目标,立贴为证: 目标: 1、工资再上一个台阶; 2、房子装修好; 3、身体调养好,怀宝宝; 4、工作上,对业务研究更深入,架构原理、测试架构、理论都有更深入的学习和理解。   改掉坏习惯: 1、不扣鼻,除掉鼻炎的隐患因素; 2、戒掉游戏,戒掉手机依赖症; 3、戒掉拖延; 4、戒掉做事不专注;     做事8字真言:目标,专注,坚持,方法。
java动态代理与反射   引言: java的代理分为静态代理与动态代理,静态代理有其固有缺点,即代码量大,缺乏灵活性。故我们主要关注的还是动态代理。而动态代理是基于java反射机制实现的一种代理模式。 动态代理的用处:动态代理的用处很广。比如,我们常用的spring的AOP,即是通过动态代理技术来实现的。     要理解动态代理,首先需要了解java反射的基本概念及API方法。在这里假设你已经知道java反射的基础知识,在这个前提下,我们通过一个例子程序,即可说明动态代理的实现原理:
1、java执行时是动态加载class的,不是一次性加载完。   2、classloader的分层: 最上一层是bootclassLoader,然后是扩展(Extesion classloader)、应用(Application classLoader,用户自定义的class)、其他loader 注意:classLoader在load class的时候首先找上一层的loader是不是load过了,如果已经load了,就不会再次load。 作用: 安全性好!比如:自己写的String.class
Java常用设计模式总结   单例,又分5种: 1、初级懒汉模式,只适合单线程环境(不好) 2、懒汉式,多线程的情况可以用(性能不好,每个线程执行到时都会被资源的锁给限制) 3、懒汉式,双重校验锁(还可以) 4、饿汉模式(天生线程安全,建议使用) 缺点:没有lazy loading的效果,从而降低内存的使用率 5、静态内部内。(建议使用) 优点:达到了lazy loading的效果,即按需创建实例  
(原文转自:http://blog.csdn.net/u011546655/article/details/52170470)   1、概述 在Java中,内存分为两种,一种是栈内存,另一种就是堆内存。 2、堆内存 1.什么是堆内存? 堆内存是是Java内存中的一种,它的作用是用于存储Java中的对象和数组,当我们new一个对象或者创建一个数组的时候,就会在堆内存中开辟一段空间给它,用于存放。 2.堆内存的特点是什么?
我们都知道Java语言是完全面向对象的,在java中,所有的对象都是继承于Object类。其 equals 方法比较的是两个对象的引用指向的地址,hashcode 是一个本地方法,返回的是对象地址值。Ojbect类中有两个方法equals、hashCode,这两个方法都是用来比较两个对象是否相等的。 为何重写 equals方法的同时必须重写 hashcode方法呢 先看看一个java的约定: Java中equals()和hashCode()有一个契约: 1. 如果两个对象相等的话,它们的hash code必须相等; 2. 但如果两个对象的hash code相等的话,这两个对象不一 ...
(转自:http://blog.csdn.net/liuxiao723846/article/details/53908870)   很多时候为了重用我们会想要重置一个ArrayList,这里的重置是指清空列表或移除列表所有的元素。在Java中,有两个方法可以帮助我们实现重置clear或removeAll。在列表长 ...
java基础数据类型自动装箱拆箱     一、定义: public class test { public static void main(String[] args) { Integer a = 3;//装箱 int b = a;//拆箱 } }  查看Integer的源码,可知: 基础类型的包装类,装箱,实际调用的是包装类的valueof方法; 拆箱,调用的是包装类的:xxxValue方法; 比如对于Integer,装箱:Integer.valueOf(int i);拆箱:Integer.intValue() ...
ArrayList & LinkedList 区别对比:   一、源代码:   public class ArrayList<E> extends AbstractList<E>         implements List<E>, RandomAccess, Cloneable, java.io.Serializable   public class LinkedList<E> extends AbstractSequentialList<E>         implements List<E&g ...
容器知识总结:   1、Collection接口 Collection接口中的常用方法:   Size() isEmpty() clear() contains() add() remove() iterator():返回其指针   2、List(ArrayList & LinkedList):继承自Collection,增加了以下常用方法:  
vim的模式:   正常模式(按Esc或Ctrl+[进入) 左下角显示文件名或为空 编辑模式(按i或a键都可以进入) 左下角显示--INSERT-- 可视模式(不知道如何进入) 左下角显示--VISUAL--   vim内部常用命令(以下命令,除了2、编辑命令外,其余都是在正常模式下直接输入命令):   1、查找:"/" + 查找内容 2、编辑:按a,然后开始添加 3、删除:删除行:dd 4、替换: :s/old/new/ : 用old替换new,替换当前行的第一个匹配(光标必须先移动到那一行) :s/old/new/g : 用old替换new, ...
先给出w3c的对比:   GET POST 后退按钮/刷新 无害 数据会被重新提交(浏览器应该告知用户数据会被重新提交)。
主要区别如下: 1、每个对象都有一个锁来控制同步访问,Synchronized关键字可以和对象的锁交互,来实现同步方法或同步块。sleep()方法正在执行的线程主动让出CPU(然后CPU就可以去执行其他任务),在sleep指定时间后CPU再回到该线程继续往下执行(注意:sleep方法只让出了CPU,而并不会释放同步资源锁!!!);wait()方法则是指当前线程让自己暂时退让出同步资源锁,以便其他正在等待该资源的线程得到该资源进而运行,只有调用了notify()方法,之前调用wait()的线程才会解除wait状态,可以去参与竞争同步资源锁,进而得到执行。(注意:notify的作用相当于叫醒睡着 ...
Global site tag (gtag.js) - Google Analytics