自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张艳霞

现在隐匿于人后,以后高处见!

  • 博客(83)
  • 收藏
  • 关注

原创 四步安装JDK及配置环境变量(最简单)

1、JDK jre-8u161-windows-x64.exe 下载在所有平台网页搜索: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html进入JDK官网下载地址选择 “Accept License Agreement”根据系统选择对应的安装文件,64位系统安装64位JDK2、JDK安装过程a、双击运行安装文件 jdk-8u144-windows-x64.exeb、指定

2020-08-01 13:13:16 1662 1

原创 Xshell中修改主机名的两种最实用方法

方法一:1. # hostname+修改后的主机名2. # exit退出系统3. 重新登录系统附上图:方法二:1.# cd /etc 进入etc文件夹。2.# vi hostname 进入hostname文件。3.在脚本文件里,按i键进入编辑模式,将原来的主机名修改为你想要修改的主机名。4.按下Esc键退出编辑模式,输入:wq退出并保存。5.reboot 重启服务器即可。附上图:脚本内容为修改后的主机名如下图:注:方法一为临时修改,方法二为永久修改...

2020-07-21 09:46:43 7286

原创 Linux-命令通配符的含义

linux通配符含义:. : 当前目录…: 当前目录的上一级目录*: 通配符,代表任意0个或多个字符?: 通配符,代表重复0个或一个0前面的字符: : 连续不同命令的分隔符#:配置文件注释| : 管道~ : 用户的家目录-: 上一次的目录$ : 变量前需加的符号/ : 路径分隔符或1> : 重定向,覆盖: 追加重定向,追加< : 输入重定向<< : 追加输入重定向’ : 单

2020-07-19 09:47:28 3113

原创 (总结)SpringBoot、Nginx、SpringCloud、Redis、Mycat、Rabbimq、全文检索等经典测试选择题带答案

1、【单选题】(单选题)哪个不是Redis的value数据结构?A.StringB.HashC.listD.map【正确答案】D【答案解析】五种数据结构string hash list set zset ​​​​​​​2、【单选题】以下说法错误的是()A.Nginx可以实现动静分离,静态资源由nginx维护,动态资源交给后端服务器B.负载均衡即是代理服务器将接收的请求均衡的分发到各服务器中C.负载均衡主要解决网络拥塞问题,提高服务器响应速度D.反向代理:代理服务器是作用在客户端上的

2020-12-01 14:33:19 1825

原创 找一份Java工作面试需要具备的知识点框架(学会百战百胜!)

重点:一、javaSE(70%)1.数组 三种创建方式2.面向对象 1)封装、继承、多态 2)方法的重写(两大两小一等) 3)方法的重载 4).向上造型,向下造型 5).匿名内部类3.String的常见的api4.包装类5.集合(重点)6.多线程7.反射二、javaweb1.h52.css3.js会写4.servlet5.jsp重点:三、SSM框架(20%)1)spring框架IOC,DI,AOP2)Mybatis框架 1.知道mybatis的语法 2.会

2020-11-04 09:29:22 476 1

原创 通关必读——Linux面试最基础(带答案解析)

1、【单选题】以下哪个命令,不是Linux命令?A.pwdB.cdC.lsD.ipconfig【正确答案】D【答案解析】ipconfig是windows平台下用来查看网络信息的命令,linux平台下使用的是ifconfig2、【单选题】如果要列出一个目录下的所有文件需要使用命令行?A.ls -lB.lsC.ls -aD.ls -d【正确答案】C【答案解析】ls -l查看相信信息、ls -d 查看指定目录、ls -a可以查看隐藏文件。3、【单选题】一个bash shell脚本

2020-11-03 19:05:31 1616 1

原创 SpringAOP基础 - 代理设计模式

SpringAOP基础 - 代理设计模式改造过后的EasyMall的问题改造过后的EasyMall成功解决了耦合的问题,但是在很多地方仍然存在非该层应该实现的功能,造成了 无法“高内聚”的现象,同时存在大量存在重复代码,开发效率低下。此时可以通过代理设计模式,将这部分代码提取到代理者中,简化层中的代码。@Servicepublic class UserServiceImpl implements UserService { @Autowired private

2020-10-24 11:36:04 174

原创 利用Spring IOC DI 实现软件分层解耦

利用Spring IOC DI 实现软件分层解耦软件分层思想回顾在软件领域有MVC软件设计思想,指导着软件开发过程。在javaee开发领域,javaee的经典三层架构MVC设计思想的经典应用。而在软件设计思想中,追求的是"高内聚 低耦合"的目标,利用Spring的IOC 和 DI 可以非常方便的实现这个需求。Spring IOC DI 改造EasyMall在层与层之间设计接口,面向接口编程:不再直接创建对象,而是通过Spring注入:如果存在多个实现类,则通过指定名称声明<

2020-10-24 11:20:16 225

原创 SSM三大框架之Spring框架之Spring DI(依赖注入)

Spring DIIOC(DI) - 控制反转(依赖注入)所谓的IOC称之为控制反转,简单来说就是将对象的创建的权利及对象的生命周期的管理过程交由Spring框架来处理,从此在开发过程中不再需要关注对象的创建和生命周期的管理,而是在需要时由Spring框架提供,这个由spring框架管理对象创建和生命周期的机制称之为控制反转。而在 创建对象的过程中Spring可以依据配置对对象的属性进行设置,这个过称之为依赖注入,也即DI。基于set方法注入通常的javabean属性都会私有化,而对外暴露setX

2020-10-22 20:19:31 232

原创 Java中的注解---jdk内置注解、自定义注解开发及反射注解

注解回顾注解概念注释:给人看的提示信息,人看了提示信息了解程序的内容java中注释的格式:// // / */注解:sun在jdk5.0开始提供的新特性给程序看的提示信息,程序看后可以根据有无注解及注解上属性的不同配置执行不同的逻辑。java中的注解的格式:@AnnoName(key=value,…)**注解在开发中,可以作为轻量化配置来使用,比起使用xml作为配置文件,更加的轻便易用,在java开发中大量的使用。jdk内置注解@Override声明重写父类方法的注解,要

2020-10-22 20:01:37 124

原创 超详细版!!!Spring注解方式实现IOC和DI

Spring注解方式实现IOC和DISpring注解Spring除了默认的使用xml配置文件的方式实现配置之外,也支持使用注解方式实现配置,这种方式效率更高,配置信息清晰,代码在哪对应的配置就在哪,方便开发阶段修改,推荐使用。所谓注解就是给程序看的提示信息,很多时候都用来作为轻量级配置的方式。关于注解的知识点,参看java基础课程中java基础加强部分的内容。Spring注解方式实现IOCa.导入开发包b.编写配置文件<?xml version="1.0" encodin

2020-10-22 19:41:39 193

原创 JavaWeb测试选择题带答案解析(二)

1、【单选题】下列关于有关request对象说法正确的是?A.request对象是一个代表HTTP请求的对象。B.HttpServletRequest是接口,可以创建request对象。C.ServletRequest没有子实现类,所以只能通过HttpServletReques接口创建对象。D.request对象可以获取ServletContext中的域属性。【正确答案】A【答案解析】此题目考查的是request对象的特性及概念。request是一个HTTP请求对象。是由HttpServlet

2020-10-21 14:30:04 8456 4

原创 SSM三大框架之Spring框架之Spring IOC(控制反转)

Spring框架概述Spring框架概述Spring是一个Service层的框架,可以整合许多其它框架进行工作。Spring的主要技术是 IOC(DI) AOPIOC(DI) - 控制反转(依赖注入)AOP - 面向切面编程下载使用Springa.提示spring推荐使用maven方式使用spring包,因此虽然官方提供了spring离线包的下载方式,但下载过程较为繁琐。在后续课程学习maven后我们将会使用maven加载Spring相关包。b.打开Spring官网:https://s

2020-10-20 11:02:37 287

原创 JavaEE开发模式、JavaEE的经典三层架构

JavaEE开发模式纯Servlet开发只用Servlet开发,html内容混在Java代码中不利于开发维护。纯JSP开发比起纯Servlet开发,JSP改为了在HTML编写java代码,便于页面开发。大量的java代码嵌在HTML中,同样非常混乱,不利于开发维护。JSP+JSP标签技术开发将JSP中的java代码通过标签技术替代,减少了jsp页面中的java代码,jsp更加简洁。大量的自定义标签开发非常麻烦,大量的自定义标签混在html标签中,不利于开发维护。JSP + Ja

2020-09-24 19:53:50 627

原创 MD5加密算法、MD5的实现

MD5加密算法数据摘要算法在企业级开发过程中,有很多重要信息,是需要加密后存储的。目前在行业中,应用最广泛的加密算法是数据摘要算法 也称作数据指纹算法。数据摘要算法有很多,目前比较流行的是 MD5 SHA1 SHA512等等。课上使用MD5,其他算法其实也差不多。数据摘要算法的特点:任何二进制,经过MD5算法机密之后,可以得到一个128位的二进制值,通常写成32位十六进制。原文相同,算出的MD5密文一定相同,原文不同,算出的MD5密文一定不同(可能重复,但概率非常低)。且,MD5值没有任

2020-09-24 18:15:52 515

原创 JavaWeb——Filter过滤器概述、FilterConfig、Filter案例 、改造EasyMall

一、Filter过滤器概述Filtert概述Filter技术,即过滤器技术,是Servlet三大核心技术之一。主要用于拦截请求进行过滤操作。可以实现权限控制、全站乱码解决、压缩响应等功能。过滤器可以拦截对资源的访问,拦截之后,可以控制访问是否放行,如果放行还可以在访问之前或之后做一些额外的操作。过滤器可以配置多个,多个过滤器之前采用责任链模式,依次进行拦截。只有所有过滤器都通过,才可以访问到最终的资源。过滤器开发a.开发Filter的步骤i.写一个类实现Filter接口ii.在w

2020-09-24 17:28:51 289

原创 Web-超详细EasyMall项目注册学习笔记及源代码(三)

EasyMall注册功能-03注册功能a. 定时刷新回主页验证码图片a. 生成图片并禁止缓存Ajax校验用户名a. Ajax发送请求//--AJAX检查用户名是否已经存在if(flag){ var username = $("input[name='username']").val(); $("#username_msg").load("/EM01/AjaxHasUsernameServlet",{"username":username});}b. Se

2020-09-21 19:54:52 247

原创 什么是AJAX?

AJAX同步异步所谓同步,指当浏览器访问一个新的地址时,在响应之前阻塞当前页面,直到响应回来后,阻塞结束展示结果。所谓异步,指当浏览器访问一个新的地址时,浏览器不被阻塞,继续工作,当响应回来后回调处理结果。浏览器通常的访问都是同步访问但,某些场景下有异步访问的需求,例如,注册时用户名已存在的校验。AJAXa. 概述AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。可以使用Javascript语言与服务器进行

2020-09-21 19:46:55 215

原创 会话技术——Session和Cookie

Session会话技术浏览器和服务器之间为了实现某一个功能,产生了多次的请求和响应,从第一次请求开始到最后一个请求结束,这期间产生的这些请求和响应加在一起就称之为浏览器和服务器之间产生了一次会话。会话最重要的问题就是如何存储会话产生的数据。Session概述Session是javaweb提供的解决会话数据存储相关的技术。Session是服务器端技术,将会话产生的数据存储在服务器端。Session技术在服务端为每个客户端创建各自的session对象,用来存储与该客户端会话产生的数据。每

2020-09-21 19:32:31 210

原创 JavaWeb基础知识——Servlet、Request、Response详解

一、Servlet详解Servlet概述Servlet是基于java语言开发动态web资源的技术。本质上是一段java代码,可以放置到Servlet容器中运行。入门案例a. 写一个类实现javax.Servlet接口Servlet接口中定义了和Servlet开发相关的方法但直接实现Servlet接口开发起来比较麻烦,可以选择继承Serlvet接口的通用实现类GenericServlet在这个抽象类中,默认实现了除service之外的方法,而将service方法定义为抽象方法开发者只

2020-09-21 18:59:08 368

原创 Web-超详细EasyMall项目注册学习笔记及源代码(二)

EasyMall注册功能-02任务:实现注册功能!1.创建数据库、表create database easymall;use easymall;create table user (id int primary key auto_increment,username varchar(20),password varchar(20),nickname varchar(20),email varchar(40) );2.开发注册Servleta.知识点获取请求参数请求参数乱码处理

2020-09-19 17:27:18 382

原创 Web-超详细EasyMall项目注册学习笔记及源代码(一)

学习JavaWeb课程的终极目标:开发出一个EasyMall的电子商务网站EasyMall注册功能-01任务:实现此登录页面!这是一个典型的表单,现在需要在这个表单中要让用户填入信息提交到Servlet中实现用户注册的功能,首先我们需要一个HTML表单,而这个表单不是由我们开发,前端会准备好这个表单,我们只需要在项目中导入资源,导完之后用户便可以直接访问,点击提交数据会提交到后台,后台就需要一个处理程序,由我们来写。大概流程就是:我们需要把注册页面导入项目里,然后提供一个Srevlet,把表单的提交

2020-09-19 16:29:28 1189

原创 最简单直观的在IDEA下WEB项目开发(只需四步即可)

1. IDEA下配置tomcat(配置一次即可)a.选择配置运行环境b.配置tomcat2.创建web项目a.创建项目b.配置项目和模块c.配置web应用3.发布项目并测试a.部署当前web应用到tomcatb.启动tomcatc.启动成功,自动访问主页4.热部署web应用...

2020-09-16 19:47:27 257

原创 JDBC概述、详解、预编译机制、批处理机制及JDBC连接池

一、JDBC概述数据库驱动所谓数据库驱动就是数据库厂商提供连接数据库的jar包。开发人员只需要导入数据库驱动包就可以通过该驱动包提供的api来接并操作数据库。不同的数据库的驱动包互不兼容,需要操作什么数据库就要导入该数据库的驱动包。JDBC由于不同的数据库厂商提供的数据库驱动各不相同,在使用不同数据库时需要学习对应数据库驱动的api,对于开发人员来说学习成本十分的高。于是sun提供了JDBC的规范,本质上一大堆的接口,要求不同的数据库厂商提供的驱动都实现这套接口,这样以来开发人员只需要学会J

2020-09-16 19:34:03 369

原创 MySQL数据库多表设计和多表查询详解

一、多表设计数据库通过表来存储数据,通过表和表之间的关系来存储数据之间的关系。通过外键字段来维系表和表之间的关系。而根据表和表之间关系的不同,外键字段设置的方式不同。a.一对一对于一对一的关系,可以在任意一边设计外键保存另一方的主键,维系两张表的关系。b.一对多对于一对多的关系,需要在多的一方设计外键保存另一方的主键,维系两张表的关系。c.多对多对于多对多的关系,需要设计第三方关系表保存两张表之间的对应关系,相当于将一个多对多拆分为两个一对多来进行存储。二、多表查询关系型数据库通

2020-09-16 18:58:52 637 1

原创 MySQL数据库入门学习必须了解的基础概念及MySQL安装配置

数据库概述1. 数据库的概念数据库,简而言之就是存储数据的仓库,可以按照一定的数据结构存储管理大量的数据及数据与数据之间的关系,它本质上是一种信息管理系统。数据库根据存储采用的数据结构的不同可以分为许多种,其中常见的有层次式数据库、网络式数据库、关系型数据库。其中关系型数据库占据着市场的主流。2. 关系型数据库关系型数据库是建立在关系模型基础上的数据库。这种定义听起来十分抽象,这里我们不深入讨论什么叫做“关系模型”–大学计算机专业专门有一门课叫“离散数学”专门讨论过关系模型 --,只是简单的表述为

2020-09-09 20:19:46 155

原创 SQL语言——基本概念、操作数据库、表、表记录、数据库备份与恢复、外键约束

SQL语言1.基本概念1.1 SQLSQL–Structured Query Language, 结构化查询语言,是关系型数据库通用的操作语言。是一种非过程性语言。由美国国家标准局(ANSI)与国际标准化组织(ISO)制定SQL标准。各大数据库厂商都对其做了实现。所以我们只要学会了SQL语言,就可以操作各大关系型数据库了。为加强SQL的语言能力,各厂商增强了过程性语言的特征,增加了一些非标准的SQL,这样的SQL称为该数据库的“方言”。SQL是用来存取关系数据库的语言,具有查询、操纵、定义和控

2020-09-09 20:06:18 275

原创 Web前端开发(二)——CSS基础

1.CSS的概念CSS:层叠表样式页面中可能会有大量的元素(标签)需要去设置相同的样式,每个元素身上单独设置样式,造成大量的代码有冗余,降低开发效率。为了解决这个问题我们在页面中来批量设置样式,因此引出一门技术——CSS(批量来选中元素(标签),再设置样式)div+CSS 方式定义网页结构,目前主流的网页开发方式div:盒子模型,在使用table标签来布局页面时比较复杂且不灵活,引入盒子模型,就可以进行灵活的布局,可以满足页面多样的需求2.常见的容器标签:div、p、span< div&g

2020-09-05 15:26:12 204

原创 Web前端开发(一)——HTML基础

HTML1.什么是HTML?HTML(Hyper Text Markup Language 超文本标记(标签)语言)本质是文本2.HTML语法组成结构第一步:HTML声明第二步:HTML组成内容<!DOCTYPE HTML><HTML> <HEAD> <meta http-equiv="Content-type" content="text/html; charset=UTF-8" /> <title>这是第一个页面

2020-09-04 19:32:36 260

原创 Java基础(二十)jdk1.5和jdk1.8新特性

1.jdk1.5新特性1.1 静态导入把静态信息进行导入直接使用(优先加载)package cn.tedu.jdk.jdk5;//静态导入import static java.lang.Math.*;public class StaticImportDemo { public static void main(String[] args){ System.out.println(random()); System.out.println(abs(1.2))

2020-09-02 11:44:29 316

原创 Java基础(十九)反射(很重要!)

反射1.概念反射—解析类,通过字节码对象来获取实例对象的过程(运行时期)Class类—代表类的类—创建的对象代表具体类(字节码文件对应类—字节码文件—字节码对象)Field类—代表属性的类—创建对象就是具体属性Method类—代表方法的类–创建对象就是具体方法Constructor类—代表构造方法的类–创建对象就是具体的构造方法2.获取字节码对象的方式1)通过类型.class返回对应的字节码对象//String类的字节码对象Class<String> clz=String

2020-09-01 17:00:04 156

原创 Java基础(十八)Socket网络编程

网络编程(套接字)先解释一下套接字:Socket所谓套接字,实际上是一个通信端点,每个套接字都有一个套接字序号,包括主机的IP地址与一个16位的主机端口号,即形如(主机IP地址:端口号)。例如,如果IP地址是210.37.145.1,而端口号是23,那么得到套接字就是(210.37.145.1:23)。总之,套接字Socket=(IP地址:端口号),套接字的表示方法是点分十进制的IP地址后面写上端口号,中间用冒号或逗号隔开。每一个传输层连接唯一地被通信两端的两个端点(即两个套接字)所确定。套接字可以看成

2020-08-31 17:07:17 199

原创 Java基础(十七)线程基本概念、创建多线程的方式多线程及并发安全问题的解决方式

线程1.概念进程:操作系统上应用程序拆分成多个小任务线程:进程拆分成多个小任务在某个时刻,CPU的某个核中只能执行一个进程,但是进程可以拆分成多个线程,只能执行其中一个线程,CPU只能执行一个线程,CPU会切换执行线程2.多线程的好处线程要么和CPU进行交互,要么和硬件进行交互,当线程在和硬件进行交互的时候CPU处于空闲时间,引入多线程提高CPU的利用率(理论上可以提高到100%)3.创建多线程的方式1.继承Thread类重写run方法(线程执行任务信息),创建描述线程执行信息的类的对象,调

2020-08-31 14:55:19 125

原创 Java基础测试选择题带答案解析(一)

1、【单选题】对于代码:public void test(int[] arr) {int i, j, note;for (i = 1; i < arr.length; i++) {note = arr[i];j = i - 1;while (j >= 0 && note < arr[j]) {arr[j + 1] = arr[j];j–;}arr[j + 1] = note;}} 所实现的功能是A.获取最大值B.获取最小值C.升序排序D.降

2020-08-28 18:42:20 7181

原创 Java基础(十六)序列化与反序列化概念作用及代码实现

序列化与反序列化概念:序列化:把对象以及相关信息转成字节数组,存储到硬盘上(持久化)反序列化:把字节数转成对应的对象注意:1.类实现Serializable产生的对象才能做序列化2.如果属性被static/transition修饰不会被序列化过去3.serialVersionUID—序列化版本号在序列化之前会根据类里的属性和方法来计算出一个版本号,这个版本号会随着对象一起序列化过去,进行反序列化之前会再次根据类里的属性和方法计算出一个新的版本号,根据原来的版本号和新版本号进行比对,如果相等就

2020-08-26 17:41:18 176

原创 Java编程题-IO流之通过文件字符流和文件字节流两种方式实现文件复制

文件字符流(FileWriter、FileReader)实现复制:package cn.tedu.text;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class FileCopyText { public static void main(String[] args) throws

2020-08-26 17:32:44 491

原创 Java基础(十五)IO流---字符流(Reader、Writer)、字节流(InputStream、OutputStream)

IO流(应用广泛)1.概念与三要素本质是一套用于数据传输的机制分类:根据传输的方向(参照物–内存)输入流:往内存传输数据输出流:从内存往外传输数据根据数据传输方式:字符流:底层以字符形式进行传输字节流:底层以字节形式进行传输根据数据存放/获取的位置:硬盘、内存、网络、外设设备四大基本流(对于的四个类都是抽象类)...

2020-08-26 16:33:49 212

原创 报错:Exception in thread “main“ java.io.FileNotFoundException: D:\a.txt (系统找不到指定的路径。)

IO流学习中,在从硬盘.txt文件读取内容时,遇到了报错问题:代码如下:package cn.tedu.text;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class FileReaderDemo { public static void main(String[] args) throws IOException {

2020-08-26 11:06:40 11695 2

原创 Java基础(十四)File类常规方法及操作代码演示

File类:代表文件和文件夹的类1.创建file实例对象//创建对象的过程中没有去检测路径信息是否存在//把路径信息放到对象身上File f=new File("F:\\a.txt"); System.out.println(f);2.新建文件//如果路径信息指定文件已经存在就会返回falseboolean b=f.createNewFile();//true 运行两次为false,因为文件已经创建 System.out.println(b);3.创建文件夹(多级)boolea

2020-08-25 15:19:37 165

原创 Java基础(十三)集合-迭代器(Iterator)、泛型、映射(Map<k,v>)

一、迭代器(Iterator接口)(不属于集合,帮助实现类产生对象)a.底层根据指针挪动进行迭代遍历b.在遍历期间不能直接增删原集合元素c.iterator方法定义在Iterable接口里d.类实现Iterable接口产生的对象就能被增强for循环来进行操作—增强for循环底层由迭代器实现—增强for循环是jdk1.5新特性代码演示:packagecn.tedu.collection.list; importjava.util.ArrayList;importjava.util.I

2020-08-25 10:39:29 345

空空如也

空空如也

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

TA关注的人

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