- 博客(59)
- 收藏
- 关注
原创 面试经验贴
2020.11.04 深信服 测试开发岗位 远程面试JRE是什么?JDK是什么?JDK是java开发工具包(java Development Kit)的缩写,是面向开发人员使用的SDK。它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。JRE是Java运行环境(Java Runtime Enviroment)的缩写,是指Java的运行环境,是面向Java程序的使用者,而不是开发者。1 JVM – java v
2021-01-08 11:56:16 180
原创 Mybatis任务三:加载策略及注解开发
一 MyBatis加载策略1.1 什么是延迟加载?问题通过前面的学习,我们已经掌握了Mybatis中一对一,一对多,多对多关系的配置及实现,可以实现对象的关联查询,实际开发过程中很多时候我们并不需要总是在加载用户信息时就一定要加载他的订单信息,此时就是我们所说的延迟加载举个栗子:在一对多中,当我们有一个用户,它有100个订单在查询用户的时候,要不要把关联的订单查出来在查询订单的时候,要不要把关联的用户查出来回答在查询用户时,用户下的订单应该是,什么时候用,什么时候查询在查询订单时,用户所
2021-01-06 22:46:27 166
原创 Mybatis任务二:复杂映射&配置文件深入
一 Mybatis高级查询1.1 ResultMap属性建立对象关系映射resultType:如果实体的属性名与表中字段名一致,将查询结果自动封装到实体类中resultMap:如果实体的属性名与表中字段名不一致,可以使用resultMap实现手动封装到实体类中如果:与表中字段不一致(1)编写UserMapper接口package com.lagou.mapper;import com.lagou.domain.User;import java.util.List;public
2020-12-31 10:30:13 215
原创 Mybatis任务一:基本应用
SSM = springmvc + spring +mybatis一 框架简介1.1 三层架构软件开发常用的架构是三层架构,之所以流行是因为有着清晰的任务划分,一般包括以下三层:持久层:主要完成与数据库相关的操作,即对数据库的增删改查因为数据库访问的对象一般称为Data Access Object(简称DAO),所以有人把持久层叫做DAO层业务层:主要根据功能需求完成业务逻辑的定义和实现。因为它主要是为上层提供服务的,所以有人把业务层叫做Service层或Business层表现层:主要完成与
2020-12-27 19:00:17 316
原创 CSS详解漫谈
1 CSS介绍HTML与CSS就是装修前后的区别CSS是指层叠样式表 cascading style sheets通过CSS可以让我们定义HTML元素如何显示(如何美丽的显示)CSS可以让我们原本HTML不能描述的效果,通过CSS描述出来(通过div)通过CSS描述我们的html页面,可以让我们的页面更加漂亮,可以提高工作效率HTML是创造世界,CSS是在创造世界的基础上让世界更加美丽2 CSS与HTML结合方式2.1 第一种方式 内联/行内样式就是在我们的HTML标签上通过style属性
2020-11-12 15:43:03 358 2
原创 软件测试完整学习
############软件的概念############错误观点:“软件就是程序,软件开发就是编程序”软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合;程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料;############软件十大特性############形态特...
2020-09-03 22:22:21 4001 2
原创 JavaWeb-HTML详解
1 HTML介绍&规范1.1 介绍HTML指的是超文本标记/标签语言(Hyper Text Markup Language)专门制作网页的计算机语言普通的文本就是英文单词,英文字母一样的存在超文本的意思是有一些单词或字母,在网页浏览器中被赋予了特殊的权利1.2 使用记事本开发第一个网页注意:1 < html >标签代表当前页面是一个HTML2 < head >标签中可以声明HTML页面的相关信息3 < body >标签中它主要是用于显示页面
2020-08-25 20:26:11 1381
原创 SXT 面向对象
4.1 面向过程和面向对象面向过程和面向对象都是对软件分析、设计和开发的一种思想,它指导着人们以不同的方式去分析、设计和开发软件。面向过程思想思考问题时,我们首先思考-怎么按照步骤实现?,并将步骤对应成方法,一步一步,最终完成。这个适合简单任务,不需要过多协作的情况下。比如:如何开车?面向过程适合简单、不需要协作的事务,但是当我们思考比较复杂的问题,比如"如何造车?",就会发现列出1234这样的步骤,是不可能的。那是因为,造车太复杂,需要很多协作才能完成,此时面向对象思想就应运而生了。面向对象和面向
2020-08-11 09:56:36 423
原创 LAGOU任务八 综合案例
1 商城案例表设计通过对商城项目的部分表关系进行分析,完成数据库表的设计1.1 表关系分析1.2 建库,建表(1)创建名为store的数据库,对应商城项目CREATE DATABASE db6 CHARACTER SET utf8;(2)创建用户表CREATE TABLE USER( uid VARCHAR(32) PRIMARY KEY, -- 用户id username VARCHAR(20), -- 用户名 PASSWORD VARCHAR(20), -- 密码
2020-07-29 22:13:04 168
原创 LAGOU任务七 XML
1 XML基本介绍1.1 概述XML即可扩展标记语言(Extensible Markup Language)特点:可扩展的,标签都是自定义的语法十分严格1.2 XML的作用XML能做什么?功能说明存储数据通常,我们在数据库中存储数据,不过,如果希望数据的可移植性更强,我们可以把数据存储XML文件中...
2020-07-25 17:50:00 276
原创 LAGOU任务六 数据库连接池&DBUtils
1 数据库连接池1.1 连接池介绍(1)什么是连接池?实际开发中"获得连接"或"释放资源"是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接Connection,这样我们就不需要每次都创建连接、释放连接了,这些操作都交给了连接池。(2)连接池的好处用池来管理Connection,这样可以重复使用Connection,当使用完Connection后,调用Connection的close()方法不会真的关闭Connection,而是把Connection"归还"
2020-07-20 15:46:43 141
原创 LAGOU任务五 JDBC
1 JDBC概述1.1 客户端操作数据库的方式(1)方式1:使用第三方客户端来访问MySQL:SQLyog(2)方式2:使用命令行(3)我们今天要学习的是通过java程序来访问MySQL数据库1.2 什么是JDBCJDBC(Java Data Base Connectivity)是java访问数据库的标准规范,是一种用于执行SQL语句的java API,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口组成,是java访问数据库的标准规范。1.3 JDBC原理JDBC
2020-07-09 15:39:37 176
原创 LAGOU任务四 MySql索引&视图&存储过程
1 MySql索引1.1 什么是索引?在数据库中,对字段建立索引可以大大提高查询速度,通过善用这些索引,可以令MySQL的查询和运行更加高效。如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车,拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。1.2 常见索引分类索引名称说明主键索引(primary key)主键是一种唯一性索引,每个表只能有一个主键,用于标识数据
2020-07-05 11:48:45 179
原创 LAGOU任务三 Mysql多表&外键&数据库设计
1 多表1.1 多表描述实际开发中,一个项目通常需要很多张表才能完成例如一个商场项目的数据库,需要有很多张表:用户表、分类表、商品表、订单表…1.2 单表的缺点1.2.1
2020-06-27 15:29:03 232
原创 LAGOU任务二 MySql单表&约束&事务
1 DQL操作单表1.1 创建数据表,复制表(1)创建一个新的数据库 db2CREATE DATABASE db2 CHARACTER SET utf8;(2)将db1数据库中的emp表复制到当前db2数据库DQL_排序查询:/* 排序 使用order by字句 语法结构:select 字段名 from 表名 [where 字段名 = 值] order by 字段名称 [ASC/DESC] ASC 升序排序(默认升序) DESC 降序排序*/-- 单列排序 按照某一个字段
2020-06-25 11:07:58 271
原创 LAGOU任务一 MySql基础&&SQL入门
1 数据库的基本概念1.1 什么是数据库(1)数据库(DataBase)就是存储和管理数据的仓库(2)其本质是一个文件系统,还是以文件的方式,将数据保存在电脑上1.2 为什么使用数据库数据存储方式的比较存储方式优点缺点内存速度快不能够永久保存,数据是临时状态文件数据是可以永久保存的使用IO流操作文件,不方便数据库1.数据可以永久保存 2.方便存储和管理 3.使用统一的方式数据库(SQL)...
2020-06-21 20:16:27 393
原创 LAGOU23 在线考试系统(项目)
23.1 在线考试系统23.1.1 软件开发的流程需要分析文档、概要设计文档、详细设计文档、编码和测试、安装和调试、维护和升级23.1.2 软件的需求分析在线考试系统的主要功能分析如下:(1)学员系统用户模块:登录、修改密码、退出考试模块:开始考试、查询成绩、导出成绩(选)(2)管理员系统学员管理模块:增加学员、删除学员、修改学员、查找学员考题管理模块:增加考题、删除考题、修改考题、查找考题、导入考题(选)23.1.3 软件的概要设计在线考试系统采用C(Client客户端)/S(S.
2020-06-17 10:39:18 445
原创 LAGOU22 新特性
22.1 Java8的新特性22.1.1 Java8的概述Java8是Java语言的一个重要版本,该版本于2014年3月发布,是自Java5以来最具革命性的版本,这个版本包含语言、编译器、库、工具和JVM等方面的十多个新特性。22.1.2 函数式接口函数式接口主要指只包含一个抽象方法的接口:如:java.lang.Runnable、java.util.Comparator接口等。Java8提供@FunctionalInterface注解来定义函数式接口,若定义的接口不符合函数式的规范便会报错。J
2020-06-14 17:07:37 145
原创 LAGOU21 常用的设计原则和设计模式
21.1 常用的设计原则(记住)21.1.1 软件开发的流程需求分析文档、概要设计文档、详细设计文档、编码和测试、安装和调试、维护和升级21.1.2 常用的设计原则开闭原则(Open Close Principle):对扩展开放对修改关闭,为了使程序的扩展性好,易于维护和升级。里氏代换原则(Liskov Substitution Principle):任何基类可以出现的地方,子类一定可以出现,多使用多态的方式。依赖倒转原则(Dependence Inversion Principle):尽量多依
2020-06-09 15:23:24 259
原创 LAGOU20 反射机制
20.1 基本概念通常情况下编写代码都是固定的,无论运行多少次执行的结果也是固定的,在某些特殊场合中编写代码是不确定要创建什么类型的对象,也不确定要调用什么样的方法,这些都希望通过运行时传递的参数来决定,该机制叫做动态编程技术,也就是反射机制。通俗来说,反射机制就是用于动态创建对象并且动态调用方法的机制;目前主流的框架底层都是采用反射机制实现的;反射机制就是我们可以在运行阶段来决定创建什么样的对象以及调用什么样的方法的机制;如:Person p=new Person();=》表示声明Person
2020-06-07 19:52:03 175
原创 LAGOU19 网络编程
19.1 网络编程的常识目前主流的网络通讯软件有:微信、QQ、飞信、阿里旺旺、陌陌、探探…19.1.1 七层网络模型OSI(Open System Interconnect),即开放式系统互联,是ISO(国际标准化组织)组织在1985年研究的网络互连模型;OSI七层模型和TCP/IP五层模型的划分如下:当发送数据时,需要对发送的内容按照上述七层模型进行层层加包后发送出去。当接收数据时,需要对接受的内容按照上述七层模型相反的次序层层拆包并显示出来。19.1.2 相关的协议(笔试题)(1) 协
2020-05-31 16:14:12 394
原创 LAGOU18 多线程
18.1.1 程序和进程的概念程序: 数据结构+算法,主要是指存放在硬盘上的可执行文件;进程: 主要是指运行在内存中的可执行文件;可执行文件放着叫程序,在内存中运行起来了就叫进程;目前主流的操作系统都支持多进程,为了让操作系统同时可以执行多个任务,但进程是重量级的,也就是新建一个进程会消耗CPU和内存空间等系统资源,因此进程的数量比较局限;18.1.2 线程的概念为了解决上述问题就提出线程的概念,线程就是进程内部的程序流,也就是说操作系统内部支持多进程的,而每个进程的内部又是支持多线程的,线程是
2020-05-28 15:45:14 215
原创 10.3 CommonsIO
首先老师带我们了解了一下网站链接: link,计算机的权威网站第一段代码讲:文件/目录的大小package com.sxt.commons;import java.io.File;import org.apache.commons.io.FileUtils;/** * 大小 * @author 韩文韬 * */public class CIOTest01 { public static void main(String[] args) { //文件大小 long len=
2020-05-24 14:41:33 211
原创 10.2.11 文件分割 文件合并 序列流
RandomAcessFile:该类的实例支持读取和写入随机访问文件。随机访问文件的行为类似于存储在文件系统中的大量字节。下面这段代码为随机读取,并且指定了读取位置,读取剩余所有内容:package com.sxt.io;import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;/** * 随机读取和写入流 RandomAccessFile * @author 韩文韬 * */pub
2020-05-23 16:05:49 126
原创 10.2.10 打印流PrintStream&&PrintWriter
PrintStream我们每天用到的System.out就是这个流!我们看一下API:A PrintStream将功能添加到另一个输出流,即能够方便的打印各种数据值的表示;下面是PrintStream的具体事例:package com.sxt.io;import java.io.BufferedOutputStream;import java.io.FileDescriptor;import java.io.FileNotFoundException;import java.io.Fi
2020-05-22 16:02:04 149
原创 10.2.9 对象流
数据流操作的是基本数据类型和字符串,对象流操控的除了基本数据类型还包括其他的各种对象,以及自定义对象;ObjectInputStream && ObjectOutputStream1 先写出后读取2 读取的顺序与写出的顺序一致3 不是所有对象都可以序列化,必须实现serializable接口;打开API看一下:ObjectOutputStream:将Java对象的对象和图形写入OutputStream,可以使用ObjectInputStream读取(重构)对象;下面的代码为具
2020-05-22 15:33:31 114
原创 10.2.8 数据流
DataInputStream && DataOutputStream: 方便我们处理八大基本数据类型和字符串,简单来说,它不仅保留了我们的数据,而且还保留了我们的数据类型
2020-05-22 09:35:04 114
原创 10.2.7 转换流
InputStreamReader/OutputStreamWriter: 是字节流与字符流之间的桥梁,能将字节流转换为字符流,并且能为字节流指定字符集,可处理一个个的字符;作用:1 将字节流转成字符流,方便我们处理,但是前提是提供的字节流为纯文本;2 处理过程中可以指定字符集;我们打开APIInputStreamReader:是从字节流到字符流的桥梁;它读取字节,并使用指定的charset将其解码为字符。OutputStreamWriter:是从字符流到字节流的桥梁;使用指定的charset将写
2020-05-21 20:08:49 84
原创 10.2.6 字节缓冲流&&字符缓冲流
BufferedInputStream以及BufferedOutputStream1 缓冲流提升了性能2 最底层一定是节点流3 释放的时候只需要释放外层的数据流,内部会自动释放,如果想一个个释放,则从里到外依次释放现在我们看一下APIA BufferedInputStream为另一个输入流添加了新功能,即缓冲输入并支持mark和reset方法的功能,创建BufferedInputStream将创建一个内部缓冲区数组。当从流中读取或跳过字节时,内部缓冲区将根据需要从所包含的输入流中重新填充,一次很多
2020-05-21 15:14:48 111
原创 10.2.5 装饰器设计模式
我们先写几个装饰器的例子帮助领悟原理第一个例子为模拟放大器功能:package com.sxt.io;/** * 实现放大器对声音的放大功能 * @author 韩文韬 * */public class DecorateTest01 { public static void main(String[] args) { Person p=new Person(); p.say(); //装饰 Amplifier am=new Amplifier(p); am.s.
2020-05-19 15:49:57 110
原创 10.2.3 字节数组流ByteArrayInputSream&&ByteArrayOutputStream&&字节数组的“拷贝过程”
之前处理的那些流的特点都是文件,它是存储在硬盘上的,我们必须借助操作系统,所以我们接完之后,就必须通知它释放资源;现在我们把源头(文件)换成另外一种源头,电脑上的一块内存,也就是所谓的字节数组,既然是内存,那么java是可以直接访问的,所以由垃圾回收机制来释放,所以待会我们要讲的字节数组流不用关闭;所有东西都可以转为字节数组,这就是这个流的好处,因为变成了二进制,方便我们网络上进行传输;字节数组不要太大;我们打开API来看一下:A ByteArrayInputStream包含一个缓冲区,其中包含
2020-05-18 18:02:42 198
原创 10.2.2 FileReader&&FileWriter
FileReader: 通过字符的方式读取文件,仅适合字符文件FileWriter: 通过字节的方式写出或追加数据到文件中,仅适合字符文件如果处理图片会怎么样,文件会损坏!我们可以看一下API:int read() 读一个字符int read(char[] cbuf) 将字符读入数组(读取字符数组)void write(int c) 写一个字符void write(String str) 写一个字符串void write(char[] cbuf) 写入一个字符数组其中,write中多了一个
2020-05-17 15:34:05 156
原创 10.2.1 写IO流程序InputStream&&OutputStream&&文件的拷贝
四个抽象类:InputStream的几个方法:close():关闭此输入流并释放与流相关联的任何系统资源;read():从输入流读取数据的下一个字节;蚂蚁搬家read(byte[] b):从输入流中读取一些字节数,并将它们存储到缓冲器阵列b;搬家公司OutputStream的几个方法:close():关闭此输出流并释放于此流相关联的任何系统资源;flush():刷新此输出流并强制任...
2020-05-17 14:16:49 205
原创 软件测试之独孤九剑
第一式:总决式-软件测试基础知识了解测试流程、掌握测试各阶段所需的知识以及技能,了解软件生存周期各阶段测试人员的职责;第二式:破剑式-软件测试流程破解软件测试的流程及测试策略、计划、方案的编写与评审过程;第三式:破刀式-软件测试设计先从设计入手,这部分我们主要学习常用的测试需求分析、黑盒测试用例设计方法以及常用测试技术应用等;第四式:破枪式-测试执行管理我们主要学习测试...
2020-05-07 15:03:33 208
原创 10.1 IO流前期准备&&File
01IO:input output,输入输出流关注将客户的需求转化为代码;–CommonsIO流:流动、流向,从一端移动到另一端;一段指的是程序,另一端指的是数据源;流是一个抽象、动态的概念,是一连串连续动态的数据集合;数据源:data source,提供原始数据的原始媒介,常见的有:数据库、文件、其他程序、内存、网络连接、IO设备;与程序之间的交互如下图所示:一切以程序为中心,输入...
2020-05-07 11:13:12 106
原创 9.8 Collection工具类
类 java.util.Collections 提供了对Set、List、Map进行排序、填充、查找元素的辅助方法。void sort(List) :对List容器内的元素排序,排序的规则是按照升序进行排序;void shuffle(List):对List容器内的元素进行随机排列;void reverse(List):对List容器内的元素进行逆续排列 ;void fill(List, O...
2020-05-04 21:54:33 118
原创 9.7 遍历集合的方法总结
遍历List方法一:普通for循环for(int i=0;i<list.size();i++){ String temp=(String)list.get(i); System.out.println(temp);}遍历List方法二:增强for循环(使用泛型!)for(String temp:list){ System.out.println(temp);}遍历L...
2020-05-04 19:55:06 134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人