自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

vbice的专栏

测试狗一枚

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

原创 Spring5

1、Spring概述 1.1 简介 Spring : 春天 —>给软件行业带来了春天 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。 2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版。 很难想象Rod Johnson的学历 , 他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。 Spring理念 : 使现有技术更加实用 . 本身就是一个大杂烩 , 整合现有的框架技术 官网 : http:

2020-09-05 10:11:08 401 1

原创 Mybatis学习

Mybatis 环境说明: jdk 8 + MySQL 8.0.20 maven-3.6.3 IDEA 学习前需要掌握: JDBC MySQL Java 基础 Maven Junit 1、Mybatis简介 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qqn3EbZo-1598752427693)(https://i.loli.net/2020/08/26/2DysnctauKxfhbV.png)] 1.1、什么是MyBatis MyBatis 是一款优秀的持久层

2020-08-30 09:55:06 257

原创 JavaWeb-7、Cookie、Session

7、Cookie、Session 7.1、会话 会话:用户打开一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程可以称之 为会话; 有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学,曾经来过,称之为有状态会 话; 你能怎么证明你是西开的学生? 你 西开 \1. 发票 西开给你发票 \2. 学校登记 西开标记你来过了 一个网站,怎么证明你来过? 客户端 服务端 ​ \1. 服务端给客户端一个 信件,客户端下次访问服务端

2020-07-27 18:37:04 173

原创 JavaWeb-6Servlet

6、Servlet 6.1、Servlet简介 Servlet就是sun公司开发动态web的一门技术 Sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤: 编写一个类,实现Servlet接口 把开发好的Java类部署到web服务器中。 把实现了Servlet接口的Java程序叫做,Servlet 6.2、HelloServlet Serlvet接口Sun公司有两个默认的实现类:HttpServlet,GenericServlet \1.

2020-07-27 16:32:21 151

原创 JavaWeb-5Maven

5、Maven 我为什么要学习这个技术? \1. 在Javaweb开发中,需要使用大量的jar包,我们手动去导入; \2. 如何能够让一个东西自动帮我导入和配置这个jar包。 由此,Maven诞生了! 5.1 Maven项目架构管理工具 我们目前用来就是方便导入jar包的! Maven的核心思想:约定大于配置 有约束,不要去违反。 Maven会规定好你该如何去编写我们的Java代码,必须要按照这个规范来; 5.2 下载安装Maven 官网;https://maven.apache.org/ 下载完成后

2020-07-24 15:46:02 128

原创 JavaWeb-4Http

4、Http 4.1、什么是HTTP HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。 文本:html,字符串,~ …. 超文本:图片,音乐,视频,定位,地图……. 80 Https:安全的 443 4.2、两个时代 http1.0 HTTP/1.0:客户端可以与web服务器连接后,只能获得一个web资源,断开连接 http2.0 HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源。‘ 4.3、Http请求 客户端—发请求(Req

2020-07-24 15:15:17 119

原创 JavaWeb-3Tomcat

3、Tomcat 3.1、 安装tomcat tomcat官网:http://tomcat.apache.org/ 3.2、Tomcat启动和配置 文件夹作用: 启动。关闭Tomcat 访问测试:http://localhost:8080/ 可能遇到的问题: Java环境变量没有配置 闪退问题:需要配置兼容性 乱码问题:配置文件中设置 3.3、配置 可以配置启动的端口号 tomcat的默认端口号为:8080 mysql:3306 http:80 https:443 <Co

2020-07-24 15:05:47 183

原创 JavaWeb-2web服务器

2、web服务器 2.1、技术讲解 ASP: 微软:国内最早流行的就是ASP; 在HTML中嵌入了VB的脚本, ASP + COM; 在ASP开发中,基本一个页面都有几千行的业务代码,页面极其换乱 维护成本高! C# IIS <h1> <h1><h1> <h1> <h1> <h1> <h1> <% System.out.println("he

2020-07-24 14:54:48 111

原创 JavaWeb-1基本概念

JavaWeb 1、基本概念 1.1、前言 web开发: web,网页的意思 , www.baidu.com 静态web html,css 提供给所有人看的数据始终不会发生变化! 动态web 淘宝,几乎是所有的网站; 提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相 同! 技术栈:Servlet/JSP,ASP,PHP 在Java中,动态web资源开发的技术统称为JavaWeb; ...

2020-07-24 14:38:43 117

原创 Java网络编程

网络编程 1、网络编程概述 1.1、概述 Java是Internet上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在 Java 的本机安装系统里,由JVM进行控制。并且Java实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境。 计算机网络 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大,功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件,软件

2020-07-10 18:11:21 490

原创 Java多线程

多线程 01线程简介 多任务 看起来是多个任务都在做,其实本质上我们 的大脑在同一时间依旧只做了一件事情。 普通方法调用和多线程调用 进程和线程 一个进程可以有多个线程,如视频中同时听声音,看图像,看弹幕,等等 Process与Thread 说起进程,就不得不说下程序。程序是指令和数据的有序集合,其本身没有任何运 行的含义,是一个静态的概念。 而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单 位 通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没

2020-07-07 13:53:44 222

原创 Java集合框架06:迭代器、泛型、Collections工具类

迭代器 所有实现了Collection接口的容器类都有一个iterator方法用以返回一个实现Iterator接口的对象 Iterator对象称作为迭代器,用以方便的对容器内元素的遍历操作,Iterator接口定义了如下方法: boolean hashNext();//判断是否有元素没有被遍历 Object next();//返回游标当前位置的元素并将游标移动到下一个位置 void remove();//删除游标左边的元素,在执行完next之后该操作只能执行一次 问题:何遍历Map集合呢? 分析: 方法

2020-06-21 16:03:49 234

原创 Java集合框架05:HashMap

HashMap 1 HashMap引入 问题:建立国家英文简称和中文全名间的键值映射,并通过key对value进行操作,应该如何实现数据的 存储和操作呢? 分析: Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作。 最常用的实现类是HashMap。 【使用HashMap存储元素】 【Map接口常用方法】 2 HashMap数据结构 1、HashMap概述 HashMap是基于哈希表的Map接口实现的,它存储的是内容是键值对映射。此类不保证映 射的顺序,假定哈希函数将元素适当的分布在各桶之间,可

2020-06-21 16:01:17 502

原创 Java集合框架04:Vevtor和Stack

Vevtor和Stack 前面写了一篇关于的是LinkedList的除了它的数据结构稍微有一点复杂之外,其他的都很好理解的。这 一篇讲的可能大家在开发中很少去用到。但是有的时候也可能是会用到的! 注意在学习这一篇之前,需要有多线程的知识: 1)锁机制:对象锁、方法锁、类锁 对象锁就是方法锁:就是在一个类中的方法上加上synchronized关键字,这就是给这个方法加锁了。 类锁:锁的是整个类,当有多个线程来声明这个类的对象的时候将会被阻塞,直到拥有这个类锁的对象 被销毁或者主动释放了类锁。这个时候在被阻塞住

2020-06-14 22:26:38 225

原创 Java集合框架03:LinkedList

LinkedList实践 1、引入 问题:在集合的任何位置(头部,中间,尾部)添加,获取,删除狗狗对象! 分析: 插入,删除操作频繁时,可使用LinkedList来提高效率。 LinkedList提供对头部和尾部元素进行添加和删除操作的方法! package com.arraylist; import java.util.LinkedList; public class Demo02 { public static void main(String[] args) { Link

2020-06-14 21:33:51 628

原创 Java集合框架02:ArrayList(下)

4、核心方法-add 1、boolean add(E) /** * Appends the specified element to the end of this list. * 添加一个特定的元素到list的末尾。 * @param e element to be appended to this list * @return <tt>true</tt> (as specified by {@link Collection#add}) */ public boolean add(

2020-06-12 21:54:37 141

原创 Java集合框架02:ArrayList(上)

ArrayList实践 问题:我们现在有4只小狗,我们如何存储它的信息,获取总数,并能够逐条打印狗狗信息! 分析:通过List 接口的实现类ArrayList 实现该需求 元素个数不确定 要求获得元素的实际个数 按照存储顺序获取并打印元素信息 问题联想: 删除第一个狗狗:remove(index) 删除指定位置的狗狗 :remove(object) 判断集合中是否包含指定狗狗 : contains(object) 分析:使用List接口提供的remove()、contains()方法 package

2020-06-11 22:59:45 1376

原创 Java集合框架01:概述

概述 1、为什么要用集合框架? 假设,一个班级有30个人,我们需要存储学员的信息,是不是我们可以用一个一维数组就解决了? 那换一个问题,一个网站每天要存储的新闻信息,我们知道新闻是可以实时发布的,我们并不知道需要 多大的空间去存储,我要是去设置一个很大的数组,要是没有存满,或者不够用,都会影响我们,前者 浪费的空间,后者影响了业务! 如果并不知道程序运行时会需要多少对象,或者需要更复杂的方式存储对象,那我们就可以使用Java的 集合框架! 2、集合框架包含的内容 Java集合框架提供了一套性能优良,使用方便

2020-06-11 22:57:02 133

原创 Java常用类07:File类

File类 1、File类的基本用法 java.io.File类:文件和目录路径名的抽象表示形式。 File类的常见构造方法: public File(String pathname) 以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir 中存储。 File的静态属性String separator存储了当前系统的路径分隔符。 通过File对象可以访问文件的属性。 public boolean canRead() public boo

2020-06-11 00:10:39 135

原创 Java常用类06:String 类(下)

StringBuilder 和 StringBuffer 1、概述 【演示:查看源码及API文档】 public final class StringBuilder extends AbstractStringBuilder implements java.io.Serializable, CharSequence{ } StringBuilder 是一个可变的字符序列。它继承于AbstractStringBuilder,实现了CharSequence接口。 StringBuffer 也是继承于Abstr

2020-06-10 23:48:36 165

原创 Java常用类06:String 类(上)

String 类 1、String概述 在API中是这样描述: String 类代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。 字符串是 常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的, 所以可以共享。 【演示:查看String源码】 public final class String implements java.io.Serializable, Comparable<String>, CharSe

2020-06-10 22:03:14 279

原创 Java常用类05:日期时间类

日期时间类 1、Date类 java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。 第一个构造函数使用当前日期和时间来初始化对象。 Date() 第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。 Date(long millisec) Date对象创建以后,可以调用下面的方法。 序 号 方法和描述 1 boolean after(Date date) 若当调用此方法的Date对象在指定日期之后返回tr

2020-06-09 21:43:44 178

原创 Java常用类04:Random类

Random类 Java中存在着两种Random函数: 一、java.lang.Math.Random; 调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是 [0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。例子如下: package com.random; public class Demo01 { public static void main(String[] args) {

2020-06-08 22:23:19 500

原创 Java常用类03:Math类

Math类 Java的Math包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。 Math的方法都被定义为static形式,通过Math类可以在主函数中直接调用。 【Math源代码】 public final class Math{ //数学方法 } 【常用值与函数】 Math.PI 记录圆周率 Math.E 记录e的常量 Math中还有一些类似的常量,都是一些工程数学常用量。 Math.abs 求绝对值 Math.sin 正弦函数 Math.asin 反正弦函数 Mat

2020-06-08 21:28:45 249

原创 Java常用类02:包装类

包装类的应用 1、包装类介绍 虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程,基本类 型的数据不具备“对象”的特性——不携带属性、没有方法可调用。 沿用它们只是为了迎合人类根深蒂固 的习惯,并的确能简单、有效地进行常规数据处理。 这种借助于非面向对象技术的做法有时也会带来不便,比如引用类型数据均继承了 Object 类的特性,要 转换为 String 类型(经常有这种需要)时只要简单调用 Object 类中定义的toString()即可,而基本数据 类型转换为 S

2020-06-08 21:21:52 164

原创 Java常用类01:object类

object类 Object类是所有类的父类,即直接或间接的继承lava.lang.Object类 由于所有的类都继承在Object类,因为省略了extends Object关键字 该类中主要有以下方法: toString() getClass() equals() clone() finalize() 1、clone()方法 protected native Object clone() throws CloneNotSupportedException; clone顾名思义就是复制, 在Java语

2020-06-07 23:48:02 367

原创 异常03:自定义异常及经验小结

自定义异常 使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常类,只需要继承Exception类即可。 在程序中使用自定义异常类,大体可分为以下几个步骤: 1、创建自定义异常类。 2、在方法中通过throw关键字抛出异常对象。 3、如果在当前抛出异常的方法中处理异常,可以使用try…catch语句捕获并处理;否则再方法的声明出通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。 4、在出现异常地方的调用者中捕获并处理异常。 .

2020-06-07 14:42:52 228

原创 异常02:捕获和抛出异常

异常处理机制 抛出异常 捕获异常 异常处理五个关键字 try、catch、finally、throw、throws package com.exception; public class Demo01 { public static void main(String[] args) { new Demo01().a(); } public void a(){ b(); } public void b(){ .

2020-06-07 09:53:30 312

原创 异常01:Error和Exception

什么是异常 实际生活中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的需求,你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等。我们的程序在跑着,内存或硬盘可能满了,等等。 软件程序在运行的过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是:Exception,意思是例外。这些,例外情况,或者叫异常,怎么让我们写的程序做出合理的处理。而不至于程序崩溃 异常指程序运行中出现的不期而至的各种情况,如:文件找不到、网络连接.

2020-06-07 09:17:34 296

原创 面向对象17:N种内部类

内部类 内部类就是在一个类的内部再定义一个类,比如,A类中定义个B类,那么B类相对A类来说就称为内部类,而A类相对B类来说就是外部类了。 1、成员内部类 2、静态内部类 3、局部内部类 4、匿名内部类 package com.oop.demo10; //1、成员内部类 public class Outer { private int id =5; public void out(){ System.out.println("Outer"); .

2020-06-07 08:28:08 139

原创 面向对象16:接口的定义与实现

接口 普通类:只有具体实现 抽象类:具体实现和规范(抽象方法)都有! 接口:只有规范!自己无法写方法专业的结束~ 接口就是规范,定义的是一组规则,体现了现实直接中“如果你是…则必须能…”的思想。如果你是天使,则必须能飞。如果你是汽车,则必须能跑。如果你是好人,则必须干掉坏人;如果你是坏人,则必须欺负好人。 接口的本质是契约,就像我们人间的法律一样。指定好后大家都遵守。 OO的精髓,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式都只针对具备能力的语言(比如C++、java、C#等),就是.

2020-06-07 00:04:45 170

原创 面向对象15:抽象类

package com.oop.demo08; //abstract 抽象类: 单继承 接口可以多继承 public abstract class Action { //约束~有人帮我们实现~ //abstract,抽象方法,只有方法名,没有方法体 public abstract void doSomething(); public void go(){}; //1.不能new这个抽象类,只能靠子类去实现它:约束! //.

2020-06-06 23:35:50 143

原创 面向对象14:static关键字详解

package com.oop.demo07; public class Student { private static int age; private String name; public void say(){ go(); } public static void go(){ new Student().say(); } public static void main(String[] args.

2020-06-06 23:25:04 146

原创 面向对象13:instanceof和类型转换

package com.oop.demo06; public class Application2 { public static void main(String[] args) { // Object --> String // Object --> Person --> Student // Object --> Person --> Teacher Object object = new Student

2020-06-06 23:07:19 135

原创 面向对象12:什么是多态

多态 即同一个方法可以根据发送对象的不同而采用多种不同的行为方式。 一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多 多态存在的条件 有继承关系 子类重写父类方法 父类引用指向子类对象 注意:多态是方法的多态,属性没有多态性。 instanceof package com.oop.demo06; public class Person { public void say(){ System.out.println("Person"); .

2020-06-06 22:07:47 238

原创 面向对象11:方法重写

package com.oop.demo05; public class B { public void say(){ System.out.println("I'm B"); } } package com.oop.demo05; public class A extends B { // public void say(){ // System.out.println("I'm A"); // } @Override .

2020-06-06 21:45:12 120

原创 面向对象10:Super详解

package com.oop.demo05; //在Java中,所有的类,都默认直接或间接继承Object类 //Person 人: 父类 public class Person /* extends Object */{ protected String name = "epfox2"; //参数私有无法继承 public void print(){ System.out.println("epfox2"); } public .

2020-06-06 21:24:58 136

原创 面向对象09:什么是继承

继承 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。 extands的意思是“拓展”。子类是父类的拓展。 Java中类只有单继承,没有多继承! 继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。 继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。 子类和父类之间,从意义上讲应该具有“is a"的关系。 object类 super 方法重写 package com.oop.

2020-06-06 20:41:18 134

原创 面向对象08:封装详解

封装 该露的露,该藏的藏 我们程序设计要追求“高内聚、低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合就是仅暴露少量的方法给外部使用。 封装(数据的隐藏) 通常,应该禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。 记住这句话就够了:属性私有,get/set package com.oop.demo04; /* 1.提高程序的安全性,保护数据 2.隐藏代码的实现细节 3.统一接口 4.系统可维护性增加.

2020-06-06 20:40:01 177

原创 面向对象07:简单小结类和对象

package com.oop; public class Application { /* 1、类与对象 类是一个模板:抽象,对象是一个具体的实例 2、方法 定义、调用 3、对象的引用 引用类型: 基本类型(8) 对象是通过引用来操作的: 栈--->堆(地址) 4、属性:字段Field 成员变量 默认初始化: 数字: 0 0.0 .

2020-06-05 22:55:14 91

空空如也

空空如也

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

TA关注的人

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