自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 springboot+vue云考试系统--导航栏路由

创建项目文件绑定路由测试链接。

2023-09-22 20:35:40 64

原创 springboot+vue云考试系统--自定义组件

定义组件导入页面,使用。

2023-09-22 20:08:58 61

原创 springboot+vue云考试系统--嵌套路由

在整个页面中嵌套一个页面,点击导航栏的时候可以切换路由更换子页面被嵌套的页面,路由主页面

2023-09-22 20:04:50 60

原创 javaweb基础仿黑马旅游网详解

注册功能技术选型Web层Servlet:前端控制器html:视图Filter:过滤器BeanUtils:数据封装Jackson:json序列化工具Service层Javamail:java发送邮件工具Redis:nosql内存数据库Jedis:java的redis客户端Dao层Mysql:数据库数据库连接池JdbcTemplate:jdbc的工具创建数据库​ – 创建数据库​ create database travel;​ – 使用数据库​ u

2022-03-03 10:07:51 805 3

原创 关于线程安全问题解析

以简单的卖票问题入手/** 模拟卖票案例* 创建3个线程,同时开启,对共享的票进行出售* */public class Demo24Ticket { public static void main(String[] args) { //创建Runnable接口的实现类对象 RunnableImpl run = new RunnableImpl(); //创建Thread类的对象,构造方法中传递Runnable接口的实现类对象

2021-05-23 10:58:27 77

原创 Java线程全解

并发和并行并发:指两个或者多个事件在同一个时间段内发生。并行:指两个或多个事件在同一个时刻发生(同时发生)。进程和线程进程就相当于电脑有运行内存和硬盘内存,下载一个软件会被储存在硬盘中,而点击这个软件之后开始运行就会占用运行内存的空间线程就相当于软件中的功能,当点击软件中的功能时,便会通过线程进入cpu,然后cpu就会切换实现这些功能。主线程:执行主(main)方法的程序单线程程序:java程序中只有一个线程执行从main方法开始,从上到下依次执行JVM执行main方法,main方

2021-05-21 22:59:44 94

原创 javaweb登录功能总结

一:页面调整将上面的图片调整为下面的图片二.登录功能1. 验证码将login.html改造成login.jsp验证码的图片img的src属性指向${pageContext.request.contextPath}/checkCodeServlet,CheckCodeServlet放在web–>servlet检查一下CheckCodeServlet路径是否为CheckCodeServlet,此时重启服务器可以看见验证码在登录页面显示2. 验证码点击切换使用js完成,在页面中给img验证码

2021-05-16 16:55:14 844 1

原创 后端基础列表查询案例总结一

一.在src中建包名称为cn.itcast.domain,并且在domain同级目录下建dao,service,util,web共5个包,并且在与src同级的web目录下建WEB-INF包将前端文件放在WEB-INF中,再建lib包将jar文件放进lib包中并且将lib包add as librarydao包:impl–>UserDaoImplinterface UserDaoservice包:impl–>UserServiceImplinterface UserService

2021-05-09 14:19:06 798

原创 Day06JDBC详解各个对象

一.DriverManager:驱动管理对象功能:1.注册驱动:告诉程序该使用哪一个数据库驱动jarstatic void registerDriver(Driver driver):注册与给定驱动程序 DriverManager写代码使用:Class.forName(“com.mysql.jdbc.Driver”);通过查看源码发现:在com.mysql.jdbc.Driver类中存在静态代码块注意:mysql5之后的驱动jar包可以省略注册驱动的步骤。2.获取数据库连接...

2021-03-28 14:09:06 54

原创 Day07有关抽象类的特征小结

抽象类的特征抽象类的特征:有得有失有得:抽象类得到了拥有抽象方法的能力有失:抽象类失去了创建对象的能力。(抽象类不能创建对象)public class AbstractDemo { public static void main(String[] args) { //Animal a = new Animal();//报错了 }}abstract class Animal{ public abstract void run();}面试题:抽象类是否

2021-03-27 11:26:15 85 1

原创 Day07有关抽象类的使用小结

抽象类的使用抽象类是为了被子类继承,约束子类要重写抽象方法public class AbstractDemo { public static void main(String[] args) { Teacher boZai = new Teacher(); boZai.work(); Manager boNiu = new Manager(); boNiu.work(); }}//班主任class Manager

2021-03-27 11:04:35 46

原创 Day07抽象类概述

抽象类的由来就是因为子类继承了父类并且子类覆盖重写了父类中的方法,然后实现类调用子类中覆盖重写的方法,父类的方法在程序中多余。如下面的代码所示:public class AbstractDemo { public static void main(String[] args) { Dog taiDi = new Dog(); taiDi.run(); }}class Dog extends Animal{ @Override publi

2021-03-27 10:46:57 61

原创 super调用父类构造器

super调用父类构造器特点:子类的全部构造器默认一定会调用父类的无参数构造器super(…):可以根据参数选择调用父类的某个构造器public class TestDemo { public static void main(String[] args) { //创建对象 Monkey monkey = new Monkey("金丝猴",10,'雄'); monkey.eatBanana(); }}class Monke

2021-03-26 08:53:30 491

原创 继承后——构造器的特点

public class TestDemo { public static void main(String[] args) { Tiger t1 = new Tiger(); Tiger t2 = new Tiger("老虎"); }}class Animal{ public Animal(){ System.out.println("====父类Animal的无参数构造器===="); }}class Tiger

2021-03-26 08:48:50 101

原创 Java基础排序之插入排序

插入排序插入排序简单来说就是看成两个数组一个有序数组一个无序数组,默认第一个值为有序数组,然后开始倒序比较,如下图:public class insertionSort { public static void main(String[] args) { int [] numbers = {4,3,2,10,12,1,5,6}; //如上图从无序数组第一个开始也就是值为number[1]==3开始,与前面的有序数组{4}判断 for (int i

2021-03-24 18:41:13 68

原创 Java基础排序之选择排序

选择排序选择排序从理解上可以当作两个数组储存来理解:我先定义一个无序数组{11,23,155,156,32,33,88,42},一个有序数组{}依次从无序数组中取出最小的一个元素放进有序数组中{11,},{23,155,156,32,33,88,42}{11,23},{155,156,32,33,88,42}{11,23,32},{155,156,33,88,42}{11,23,32,33},{155,156,88,42}{11,23,32,33,42},{155,156,88}{11,2

2021-03-24 17:35:30 53

原创 Java基础排序之冒泡排序

Java基础排序之冒泡排序举个例子:从第一个开始比较相邻两个元素的大小第一个比第二个大则交换位置,从开始直到最后一对,直到没有任何一对数字需要比较时排序结束。代码实现:public class bubbleSort { public static void main(String[] args) { //进行冒泡排序 //定义一个无序数组 int [] numbers = {5,1,3,8,9,4}; //循环length

2021-03-24 17:18:30 60

原创 方法重写

方法重写的概念:子类继承了父类,子类就得到了父类的某个方法但是子类觉得父类的这个方法不好用或者无法满足自己的需求子类重写一个与父类申明一样的方法来覆盖父类的该方法,子类的这个方法就进行了方法重写public class ExtendsDemo { public static void main(String[] args) { Wolf w = new Wolf(); w.run(); }}class Wolf extends Anima

2021-03-24 10:19:09 151

原创 Day04有关继承的小结(三)

有关this和super小结this代表了当前对象的引用,可以用于访问当前子类对象的成员变量。super代表了父类对象的引用,可以用于访问父类中的成员变量。就近原则:子类有就找子类,子类没有就找父类,父类没有就报错。public class TestDemo { public static void main(String[] args) { Cat cat = new Cat(); cat.show(); }}class Animal{

2021-03-23 08:58:33 40

原创 Day04有关继承的小结(二)

子类不能继承父类的内容引入:子类继承父类,子类得到了父类的属性和行为。但是并非所有的父类的属性和行为等子类都可以继承。子类不能继承父类的东西:子类不能继承父类的构造器:子类有自己的构造器。(没有争议)public class ExtendsDemo { public static void main(String[] args) { Cat c = new Cat(); System.out.println(c.tempName); }}c

2021-03-23 08:45:52 63

原创 Day04有关继承的小结(一)

继承的基本思想是,可以基于已有的类创建新的类。继承已存在的类就是复用(继承)这些类的方法,而且可以增加一些新的方法和字段,使新类能够适应新的情况。-----------------Java的核心思想通俗来讲继承其实就是一种"is-a"的关系,在博主看来继承其实就是属于,一个事物继承(extends)另一个事物就相当于一个机甲战士给它配备了一个装备,这个机甲战士拥有本身的的能力配备装备后又拥有了装备的能力。比如:public class ExtendsDemo { public static.

2021-03-22 19:49:36 77

原创 Day03成员变量的分类和访问内存图初解

Day03成员变量的分类和访问内存图初解首先我们由上一篇博客(成员变量的分类和访问)中的代码来讲解内存分布所有的java代码都是在虚拟机中运行,而虚拟机中分为了方法栈,堆内存,方法区三大块。首先我们要加载类Student.class进入方法区2.加载类的时候一起加载静态区,静态变量schoolName进入静态区与类一起加载3. 然后开始从这个方法区中提取main方法进入到栈中运行然后执行第29,31行代码进入(Student.class)中,找到静态区中对应的schoolNam

2021-03-21 16:27:01 68

原创 Day03有关成员变量的分类和访问小结

成员变量的分类和访问按照有无static修饰成员变量分为:(1) 静态成员变量:有static修饰,属于类本身与类一起加载一次,直接用类名访问即可。(2) 实例成员变量:无static修饰,属于类的每个对象的,必须先创建对象,再用对象来访问。 //1.静态成员变量:有static修饰,属于类本身,直接用类名访问即可! public static String schoolName = "代码"; //2.实例成员变量:无static修饰,属于类的对象的,必须用对象访问! pr

2021-03-19 21:29:59 118

原创 Day02有关static关键字的小结

Day02有关static关键字的小结引入:我们之前定义过很多成员变量(name,age,sex)其实我们只写了一份,但是发现每个对象都可以用,就说明Java中这些成员变量或者方法是存在所属性的。有些是属于对象的,有些是属于类本身的。例如:public class ThisDemo02 { public static void main(String[] args) { Animal a1 = new Animal(); a1.setName("金

2021-03-18 18:15:30 80

原创 Day02有关封装的知识点总结

Day02有关封装的知识点总结面向对象的有三个特征:封装,继承和多态。特征:就是特点。是Java语言的风格今天主要是讲讲封装,封装不是private ,事实上在博主的理解上封装其实是一种代码的规范,一种java语言的风格。封装的作用:可以提高安全性(这一点不是封装的主要特点,因为封装只有在一些情况下可以提高安全性)可以实现代码的组件化(这一点是主要特点,将代码组件化之后,操作会变得方便)组件化稍微解释一些,通俗来说其实就是当你用private修饰成员变量之后需要访问的话就需要设置gett

2021-03-18 13:30:04 109

原创 Day02有关this关键字的知识总结

Day02有关this关键字的知识总结this代表了当前对象的引用。this关键字可以用在实例方法和构造器中this用在方法中,谁调用这个方法,this就代表谁this用在构造器中,代表了构造器正在初始化的那个对象的引用。*public class ThisDemo02 { public static void main(String[] args) { Animal a1 = new Animal(); a1.setName("金毛");

2021-03-18 08:25:05 97

原创 Day01有关类与对象的知识点总结

面向对象:可以用代码去高度模拟现实世界。面向对象最重要的两个概念:类和对象类:是描述相同事物的共同特征的抽象。对象:是具体存在的实例,是真实的。实例==对象定义类的格式: 修饰符 class 类名{ }注意: --类名的首字母应该大写,满足“驼峰写法” -- 一个java代码文件中可以定义多个类。在一个类中有且只有五大成分: 1.成员对象(Field:描述类和对象的属性信息) 2.成员方法(Me...

2021-03-17 17:46:50 180 7

原创 Day01稀疏数组

**Day01稀疏数组**1. 关于稀疏数组的引入一般来说我们设计一个五子棋盘除去棋子之后,会空留很多空闲的点,这些多余的点是无意义的,我们可以引入一个新的概念——稀疏数组来处理这些无意义的点。2. 稀疏数组稀疏数组第一行, row col val 0 11 11 2分别储存了这个二维数组的整体,11行11列共有2个有效值。而第一个有效数字存储在第1列第2行(注意由二维数组的规则拥有0行0列),同理第二个有效数字储存在第2列第3行。...

2021-03-17 10:27:06 2036 10

空空如也

空空如也

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

TA关注的人

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