自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Velocity模板引擎

1.Velocity模板引擎1.1.简介        Velocity是一个基于Java的模板引擎框架,提供的模板语言可以使用在Java中定义的对象和变量上。Velocity是Apache基金会的项目,开发的目标是分离MVC模式中的持久化层和业务层。1.2.使用场景开发Velocity的目标是分离 MVC 模...

2020-01-13 20:50:54 110

原创 JavaSE——访问控制权限、jar、单例和异常

1.包的定义及使用包的本质实际上就属于一个文件夹,在项目开发中很难避免类名称重复的问题,如果所有的java文件都放在一个文件夹中,就有可能存在覆盖问题1.1.包的导入开发中使用包的定义之后,相当于把一个大的项目分别按照一定要求保存在了不同的包之中,但是这些程序类一定会发生互相调用的情况,这个时候就需要包的导入类使用class和public class的区别:public class: ...

2019-07-22 23:59:30 80 2

原创 数据结构——数组模拟实现队列

1.队列介绍队列是一个有序列表,可以用数组或是链表来实现,它遵循先进先出原则2.队列的实现2.1.数组模拟实现队列2.1.1.思路队列本身是有序列表,若使用数组的结构来存储队列的数据:设置maxSize为该队列最大容量因为队列的输入输出分别从前后端来处理,因此需要head和tail分别记录队列前后端的下标,head会随着数据的输出而改变,而tail随着数据的输入而改变当tail=...

2019-07-17 23:42:22 82 1

原创 JavaEE——Spring:事务管理

1.事务1.1.概念事务:逻辑上的一组操作,组成这组操作的各个单元要么全都成功要么全都失败1.2.特点原子性:事务不可分割一致性:事务操作前后数据总量不变隔离性:一个事务的执行不干扰其他事务持久性:一旦事务结束(包括提交或回滚)数据就持久化到数据库1.3.不考虑隔离性引发的安全问题脏读:是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,...

2019-07-17 20:39:33 93 2

原创 测试——测试用例

1.测试用例的基本要素1.1.测试用例概念测试用例(Test Case):是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素,好的测试用例是一个不熟悉业务的人也能依据用例来很快的进行测试1.2.评价测试用例好坏的标准用例表达清楚,无二义性用例可操作性强用例的输入与输出明确。一条用例只有一个预期结果用例的可维护性好用例对需求的覆...

2019-07-17 12:03:09 335 1

原创 数据结构——稀疏数组

数据结构:线性结构:(1)数据元素之间存在一对一线性关系(2)有两种不同存储结构,即顺序存储结构和链式存储结构,顺序存储的线性结构为顺序表,顺序表中的存储单元是连续的(3)链式存储结构的线性表称为链表,链表中元素不一定连续,元素节点中存放数据元素以及相邻节点的地址信息(4)常见的线性结构:数组、队列、链表和栈非线性结构:包括二维数组、多维数组、广义表、树结构、图结构1.稀疏数组...

2019-07-16 23:16:30 120 3

原创 测试——基本概念(2)

1.软件测试生命周期软件测试生命周期:需求分析测试计划测试设计、测试开发测试执行测试评估软件测试&软件开发生命周期需求阶段测试人员了解需求、对需求进行分解、得出测试需求计划阶段根据需求编写测试计划设计阶段测试人员适当的了解设计,这对于设计测试用例很有帮助,测试人员搭建测试用例框架,根据需求和设计编写一部分测试用例编码阶段测试人员一般是不需要编码的,但是已...

2019-07-16 01:18:05 76 2

原创 JavaEE——Spring:AOP概述及入门

1.AOP的概述1.1.什么是AOPAOP:面向切面编程,AOP是OOP的扩展和延伸,用于解决OOP开发中遇到的一些问题1.2.AOP的应用场景1.3.Spring底层所使用的AOP的实现原理底层原理:动态代理JDK动态代理:只能对实现了接口的类产生代理(默认,底层会自动切换)cglib动态代理(类似于Javassist第三方代理技术):对没有实现接口的类产生代理对象,生成该类的...

2019-07-16 01:16:44 87

原创 JavaEE——Spring:IOC的注解开发

1.SpringIOC注解开发入门1.1.创建接口和实现类1.2.约束文档1.3.开启Spring的组件扫描1.4.在类上添加注解1.5.编写测试类1.6.注解方式设置属性值注意:如果使用注解方式设置属性值,可以没有set方法如果提供set方法,将属性注入注解写在set方法上如果不提供set方法,将属性注入注解写在属性上2.Spring的IOC注解详解2....

2019-07-12 22:34:27 84

原创 JavaSE——反射(类加载器,双亲委派)

1.初识反射1.1.认知反射反射指的是对象的反向处理操作,根据对象倒推类的组成,默认情况下,必须要先导入一个包,而后才能产生类的实例化对象,如下:import java.util.Date;public class Test { public static void main(String[] args) { Date date = new Date() ; ...

2019-07-05 23:55:41 103

原创 JavaSE——多线程:Lock体系

1.初识Lock与AbstractQueuedSynchronizer(AQS)1.1.Lock简介锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源。在Lock接口出现之前,java程序主要是靠synchronized关键字实现锁功能的,而JDK5之后,并发包中增加了lock接口,它提供了与synchronized一样的锁功能。虽然它失去了像synchr...

2019-07-04 20:39:15 213

原创 JavaSE——多线程:生产者消费者模型

生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力1.wait()与notify()方法1.1.wait()方法(痴汉)方法wait()的作用是使当前...

2019-07-03 11:03:07 109

原创 JavaSE——多线程:ThreadLocal详解

1.概念ThreadLocal用于提供线程局部变量,在多线程环境可以保证各个线程里的变量独立于其它线程里的变量,也就是说ThreadLocal可以为每个线程创建一个单独的变量副本,相当于线程的private static类型变量2.ThreadLocal的简单使用public class Test { private static String commStr; privat...

2019-07-02 23:26:55 85

原创 JavaSE——多线程:线程的同步与死锁

同步问题:每一个线程对象轮番抢占共享资源带来的问题1.同步问题的引出需求:多个线程同时卖票class MyThread implements Runnable { private int ticket = 10 ; // 一共十张票 @Override public void run() { while(this.ticket>0) { // 还...

2019-06-30 23:24:04 115

原创 JavaSE——多线程:常用操作方法

1.多线程的常用操作方法1.1.线程命名与取得多线程的运行状态是不确定的,所以对于多线程操作必须有一个明确标识出线程对象的信息,这个信息往往通过名称来描述。在Thread类中提供有如下的线程名称获得相关方法:No.方法名称类型描述1public Thread(Runnable target,String name)构造创建线程的时候设置名称2public...

2019-06-29 21:22:06 95

原创 JavaEE——Spring:对Bean的管理

1.IOC(控制反转)和DI(依赖注入)IOC:控制反转,将对象的创建权反转给SpringDI:依赖注入,前提必须有IOC的环境,Spring在管理类的时候会将类的依赖的属性注入(设置)进来面向对象的时候类之间关系:1.依赖class A{}class B{      public void xxx(A a){}...

2019-06-29 16:03:39 162

原创 JavaSE——多线程:进程线程以及Java多线程的实现

1.进程与线程1.1.进程线程概念与比较进程:操作系统(OS)中一个程序的执行周期称为一个进程线程:进程中的一个任务就称为一个线程,一个进程中包含N个线程序号进程线程1.进程是资源分配的最小单位线程是程序执行的最小单位2.进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵线程是共享...

2019-06-28 22:18:54 130 1

原创 JavaEE——Spring:Spring概述和基础IOC入门

1.Spring概述1.1.Spring是什么Spring:Spring是分层的JavaSE/EE应用full-stack轻量级开源框架,它以IOC(控制反转)和AOP(面向切面编程)为内核,提供了展现层的SpringMVC和持久层的Spring JDBC以及业务层的事务管理等众多企业级应用技术,还能整合开源世界众多著名的第三方框架和库,逐渐成为使用最多的JavaEE企业应用开源框架1.2....

2019-06-23 21:37:06 263

原创 Spring JDBC

Spring JDBC:Spring提供的对JDBC简单封装。提供了JDBCTemplate对象简化JDBC开发。Spring JDBC使用步骤:1.导入jar包2.创建JDBCTemplate对象依赖于数据源DataSource:JDBCTemplate te = new JDBCTemplate(DataSource ds);3.调用JDBCTemplate的方法来完成CRUD操...

2019-06-22 23:25:36 142

原创 数据库连接池

1.数据库连接池基本知识数据库连接池:其实就是一个存放数据库连接的容器(集合)。当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完后,会将连接对象归还给容器。好处:1.节约资源2.用户访问更高效实现:1.标准接口:DataSource,java.sql包下,里面需要了解的方法:获取连接:getConnection()归还...

2019-06-22 23:01:33 152 1

原创 JDBC

1、JDBC基本概念JDBC:Java DataBase Connectivity,Java数据库连接。其本质是由官方(Sun公司)定义的一套操作所有关系型数据库的规则(接口),各个数据库厂商去实现这些接口,提供数据库驱动jar包,我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类2.JDBC快速入门导入驱动jar包1.复制下载的Jar包添加到项目里2....

2019-06-21 23:38:08 131 1

原创 MySQL——多表查询、事务、DCL

1. 多表查询1.1.查询语法select        要查询的字段列表from        表名列表where. . . .1.2.多表查询的分类笛卡尔积:由集合A和集合B,取两个集合的所有组成情况称为笛卡尔积做多...

2019-06-20 20:08:11 162 1

原创 MySQL——数据库设计(多表关系、范式以及数据库的备份和还原)

数据库设计1.多表之间的关系1.1.分类一对一(了解)一对多(多对一)多对多1.2.实现一对一:可以在任意一方添加唯一外键指向另一方主键,或者让两方主键相同,其实一对一关系通常会合成一张表一对多:在多的一方建立外键指向一的一方的主键多对多:需要借助第三张中间表,中间表至少包含两个字段,两个字段作为第三张表的外键,分别指向两张表的主键2.数据库设计范式范式:设计关...

2019-06-20 17:10:44 138 2

原创 MySQL——表的约束

1.概念约束:对表中数据进行限定,保证数据的正确性、有效性和完整性2.约束的分类主键约束:primary key非空约束:not null唯一约束:unique外键约束:foreign key2.1.非空约束(not null,值不能为null)创建表时添加非空约束去掉表的非空约束创建完表再添加非空约束2.2.唯一约束(unique,值不能重复)创建表时添加...

2019-06-19 19:45:56 130

原创 MySQL——数据库中的单表查询操作

DQL:查询表中记录1.了解查询的语法select        字段列表from        表名列表where        条件列表gr...

2019-06-18 22:45:01 159 2

原创 MySQl——对表中数据增删改

DML:增删改表中数据添加数据insert into 表名(列名1,列名2. . . . .列名n) values(值1,值2. . . . .n)列名和值要一一对应如果表名后不定义列名,则默认给所有列添加值:insert into 表名 values(值1,值2. . . . .n)除了数字类型,其他类型的值都要用引号(单双引号都可以)引起来删除数据d...

2019-06-18 19:07:04 151 1

原创 MySQL——数据库表的CRUD基本操作

1.MySQl常见数据类型int:整数类型,比如:age int,double:小数类型,比如:score double(5,2),一共四位,小数点后面两位,比如99.99date:日期,只包含年月日,yyyy-MM-dddatetime:日期,包含年月日时分秒,yyyy-MM-dd HH:mm:sstimestamp:时间戳类型,包含年月日时分秒,yyyy-MM-dd HH:mm:s...

2019-06-16 23:37:29 136

原创 MySQL——数据库的CRUD操作

数据库的CRUD和使用操作C(Create):创建1.创建数据库:create database 数据库名称;2.判断是否存在再创建数据库:create database if not exists 数据库名称;3.创建数据库并指定字符集:create database 数据库名称 character set 字符集;4.综合:创建数据库S3,判断是否存在,并且指定字符集为gb...

2019-06-16 21:43:14 129

原创 前端——Ajax和JSON

1.Ajax1.1.概念Ajax:ASynchronous JavaScript And XML,异步的JavaScript和XML同步和异步:客户端和服务器端相互通信的基础上Ajax 是一种用于创建快速动态网页的技术,在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,...

2019-06-15 19:56:15 223 1

原创 前端——JQuery进阶

1.JQuery动画三种方式显示和隐藏元素:1.默认显示和隐藏方式show([speed],[easing],[fn]):显示hide([speed],[easing],[fn]):隐藏toggle([speed],[easing],[fn]):切换2.滑动显示和隐藏方式slideDown([speed],[easing],[fn])slideUp([speed],[easi...

2019-06-15 18:45:38 455 1

原创 JavaSE——泛型

1.泛型问题引出假设需要你定义一个描述坐标的程序类Point,需要提供两个属性x、y。对于这两个属性的内容可能有如下选择:1.x = 10、y = 20 ;2. x = 10.1、y = 20.1 ;3. x = 东经80度、y = 北纬20度那么现在首先要解决的问题就是Point类中的x、y的属性类型问题,此时需要保存的有int、double、String,所以在java中只有一种类型...

2019-06-11 23:22:10 205

原创 前端——JQuery基础

1.JQuery基础1.1.概念1.2.快速入门1.3.JQuery对象和JS对象的区别与转换1.4.选择器1.5.DOM操作2.JQuery高级知识2.1.动画2.2.遍历2.3.事件绑定2.4.插件15507123881...

2019-06-09 23:08:04 4260 4

原创 JavaSE——JDK1.5新特性

131734

2019-06-08 21:48:41 197

原创 JavaWeb——Filter and Listener

JavaWeb三大组件:Servlet、Filter、Listener1.Filter(过滤器)1.1.概念Web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截,完成一些特殊的功能1.2.过滤器的作用一般用于完成通用的操作,如登陆验证、统一编码处理、敏感字符过滤等1.3.过滤器快速入门步骤:1.定义一个类,实现接口Filter2.覆写方法3.配置拦截路径...

2019-06-07 16:58:40 278

原创 测试——软件开发模型和软件测试模型

1.软件开发模型概念:软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。作用:软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。对于不同的软件系统,可以采用不同的开发方法、使用不同的程序设计语言以及各种不同技能的人员参与工作、运用不同的管理方法和手段等,以及允许采用不同的软...

2019-06-06 23:54:37 868

原创 测试——基本概念(1)

1.软件测试定义什么是软件测试?《软件测试艺术》:为了发现错误而执行程序或者系统的过程《软件测试完全指南》:测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量IEEE:使用人工或自动手动,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果和实际结果之间的差别2.软件测试的目的和原则目的:验证软件是否存在问题原则:以客户为中心,遵循...

2019-06-05 21:01:06 145

原创 JavaWeb——EL和JSTL

1.EL表达式1.1.EL概念EL:Expression Language,表达式语言作用:替换和简化JSP页面中Java代码的编写1.2.EL语法${表达式}!!!注意:JSP默认支持EL,那么假如要输出“3 > 4”字符串样式怎么办呢?有两种方法:使用isELIgnore,但是这个方法会是这个页面的所有EL表达式都被忽略使用“\”忽略个别1.3.EL使用...

2019-06-04 23:27:33 178

原创 JavaWeb——MVC开发模型

MVC:一种软件开发典范,不是设计模式,是一种开发模型1.JSP演变历史早期只有servlet,只能使用response输出标签数据,非常麻烦后来有了JSP,简化了Servlet的开发当项目比较小时使用JSP很方便,当项目很大后,JSP里面又有代码又有标签,循环嵌套,十分混乱,难以阅读和维护再后来Java的Web开发借鉴MVC开发模式使得程序的设计更加合理2.MVC模式MVC:...

2019-06-04 17:37:01 213 1

原创 JavaWeb——JSP

1.JSP入门1.1.概念JSP:Java Server Page,Java服务端页面,可以理解为一个特殊的页面,其中既可以指定HTML标签,又可以定义Java代码,用于简化书写1.2.JSP原理JSP本质是一个Servlet1.3.JSP的脚本JSP脚本:JSP定义Java代码的方式<% 代码 %>:定义的Java代码,在Service方法中。service方法中...

2019-06-03 20:58:35 136 1

原创 JavaWeb——Cookie和Session(会话技术)

1.会话技术1.1.概念会话:一次会话中包含多次请求和响应一次会话:浏览器第一给服务器资源发送请求,会话建立,直到有一方断开为止会话的功能:在一次会话的范围内的多次请求间共享数据1.2.方式客户端会话技术:Cookie,将来将数据存在客户端服务器端会话技术:Session,将来将数据存在服务器2.CookieCookie:客户端会话技术,将数据保存在客户端2.1.Cooki...

2019-05-22 17:58:28 662 2

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