自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 小小的项目

使用Thymeleaf+SpringBoot开发用户管理系统Spring Boot支持FreeMarker、Groovy、Thymeleaf和Mustache四种模板解析引擎,官方推荐使用Thymeleaf。口令加密问题口令解密存放是有必要的,可以避免廉政危机###加密算法对称加密优点:算法公开、计算量小、加密速度快、加密效率高、可逆缺点:双方使用相同钥匙,安全性得不到保证算法: 在对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、ID

2021-06-04 16:52:37 122

原创 Spring容器

2021/5/8 1-Spring的IoC-DI容器file:///C:/Users/Administrator/Desktop/Spring/1-Spring的IoC-DI容器.html 1/34Spring的IoC容器IoC在程序开发中,实例的创建不再由调用者管理,而是由Spring容器创建。Spring容器会负责控制程序之间的关系,而不是由程序代码直接控制,因此,控制权由程序代码转移到了Spring容器中,控制权发生了反转,这就是Spring的IoC思想基础理论回顾Spring是一个轻量

2021-05-08 17:51:34 179

原创 JSP技术

jsp技术java中的一种用于显示的动态网页技术jsp运行原理2次编译jsp先通过jsp引擎,将jsp文件编译为.java文件【Servlet类】.java文件通过Servlet引擎将其编译为.class字节码文件由服务器调用代码段<!-- 在当前位置输出这个表达式的计算结果值--><%=表达式 %><!-- 在页面种嵌入java代码段,提供操作逻辑 --><% 代码段; %><!-- 声明段 --><%! 声明

2021-05-06 19:49:49 282

原创 RowBounds

RowBounds在 mybatis 中,使用 RowBounds 进行分页,非常方便,不需要在 sql 语句中写 limit,即可完成分页功能。但是由于它是在 sql 查询出所有结果的基础上截取数据的,所以在数据量大的sql中并不适用,它更适合在返回数据结果较少的查询中使用最核心的是在 mapper 接口层,传参时传入 RowBounds(int offset, int limit) 对象,即可完成分页。不需要修改xml配置添加limitmapper 接口层代码如下List<Book>

2021-04-23 16:16:43 232

原创 mybatis开发步骤

MVC模型Model模型:JavaBean实现,用于封装业务数据UserBean和业务逻辑UserDaoImplView视图:JSP+JSTL实现,用于收集客户动作<form>和显示业务数据<table>Controller控制器:Servlet实现,用于流程控制MyBatis开发步骤1、添加依赖 <dependency> <groupId>org.mybatis</groupId> &l

2021-04-22 17:07:55 105

原创 JavaEE企业级开发中的分层架构

JavaEE企业级开发中的分层架构微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层、表示层。分层式设计可以达至目的:分散关注、松散耦合、逻辑复用、标准定义。JavaEE中分层架构:表现层、业务层、持久层轻量级开发中采用的是:表现层、业务层、持久层、域对象层表现层:MVC模式,SpringMVC,收集客户动作和显示业务数据业务层:Spring框架,封装业务逻辑,逻辑复用持久层:DAO模式、ORM模式,MyBatis,封装数据访问逻辑域对象层:实现层和层之间

2021-04-20 11:47:00 841

原创 Mybatis基础

MyBatisMyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。1、核心配置文件resources/mybatis-config.xml全局配置<?xml version="1.0" encodi

2021-04-19 10:12:37 44

原创 MyBatis框架

概述MyBatisMyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。以开发sql语句的工作量为代价换取高灵活性##Hello MyBatis1、添加依赖<dependency>

2021-04-17 14:54:32 70

原创 JSP开发模型

jsp开发模型Sun(Oracle)为了指导开发,提出了2种开发模型jspModel1Jsp页面与JavaBeans共同协作完成任务Model 1模式的实现比较简单,适用于快速开发小规模项目。但从工程化的角度看,它的局限性非常明显:JSP页面身兼View和Controller两种角色,将控制逻辑和表现逻辑混杂在一起,从而导致代码的重用性非常低,增加了应用的扩展性和维护的难度。早期有大量ASP和JSP技术开发出来的Web应用,这些Web应用都采用了Model 1架构。输入页面login1.jsp

2021-04-15 16:54:23 410

原创 jsp开发模型

jsp开发模型Sun(Oracle)为了指导开发,提出了2种开发模型jspModel1Jsp页面与JavaBeans共同协作完成任务Model 1模式的实现比较简单,适用于快速开发小规模项目。但从工程化的角度看,它的局限性非常明显:JSP页面身兼View和Controller两种角色,将控制逻辑和表现逻辑混杂在一起,从而导致代码的重用性非常低,增加了应用的扩展性和维护的难度。早期有大量ASP和JSP技术开发出来的Web应用,这些Web应用都采用了Model 1架构。输入页面login1.jsp

2021-04-13 17:52:34 123

原创 9大默认对象

#9大默认对象JSP容器根据servlet API而提供了某些隐含对象。可以使用标准的变量来访问这些对象,可以在JSP页面直接使用这九大对象page this 封装页面对象,是Object类型的,该对象代表了正在运行的由JSP文件产生的类对象,相当于this。一般情况下不建议使用该对象是Object类型的,所以可以合法调用的方法都是Object中定义的方法toString equals hashcode wait notify notifyAll在jsp页面种声明了一个方法p

2021-04-12 18:43:32 107

原创 重要的API

重要的APIconfiginit()和init(ServletConfig config)getInitParameter():StringgetServletConfig().getInitParameter("height")response响应HttpServletResponse接口属于Servlet规范,存在于servlet-api.jar中,由服务器提供接口的实现类,主要用于封装服务器的响应信息,可以将doGet或doPost的响应信息写出到【响应体】中ServletRes

2021-04-09 19:33:26 87

原创 web基础

1. 什么是TCP,什么是UDP,他们两者有什么区别?TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议。UDP是OSI参考模型中一种无连接的传输层协议,它主要用于不要求分组顺序到达的传输中,分组传输顺序的检查与排序由应用层完成,提供面向事务的简单不可

2021-04-07 19:45:35 79

原创 js练习题

1–100以内的素数<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <

2021-04-06 20:55:25 72

原创 js浏览器加载原理以及流程控制

浏览器加载原理 浏览器加载原理 1、浏览器按照从上到下的顺序下载HTML文档,一边下载一边加载到内存, 不是全部下载后再全部加载到内存。另外DOM树结构的绘制优先于关联元素 的加载,比如图片 2、通常来说,浏览器执行JavaScript脚本有两大特性:①载入后马上执行。 ②执行时会阻塞页面后续内容(包括页面的渲染、其它资源的下载) 载入后马上执行...

2021-04-02 14:12:33 257

原创 js复合类型

复合类型 复合类型 复合类型是指由多个基本数据类型或者复合类型构成的数据体。 js中的复合类型有对象Object、数组Array和Function函数三大类 对象 对象是一系列命名变量和函数的集合,对象中的命名变量称为属性, 对象中的函数称为方法。对象中访问属性和函数的方法都是通过. 点 运算符实现的。例如获取浏览器的版本navigat...

2021-04-01 20:38:09 323

原创 数据库练习题2

查询班里年纪最大的学生信息;查出年龄最大和最小的学生的所有信息查出表中年龄大于平均年龄的信息查出0305班所有男生信息查询张三所在班级的名称练习:学生表:学号,姓名,性别,年龄,所在系课程表:课程编号,课程名称,课程学分选课表:学号,课程号,成绩1:查询与刘晨在同一个系的学生信息2:查询选修了课程名为‘信息系统’的学生学号和姓名3:查询选修课程编号为1和2的学生学号和姓名4:查询比刘晨年龄小的学生信息5:查询其他系中比信息系中刘晨年龄小的学生姓名和年龄6:查询每个学生的最高成绩

2021-03-31 19:29:22 1049

原创 数据库基础

什么是数据库数据库是指长期存储在计算机内有组织可共享的数据和数据之间关系的集合。数据库中的数据按照一定的数据模型组织、描述和存贮,具有较小的冗余度、较高的数据独立性和易扩展性,并在一定范围内可以被多个用户所共享。数值和数据。数据=元数据+数值关系型数据库是建立在关系数据模型基础上的数据库,借助集合代数概念和方法处理数据库中的数据,同时也是一个被组织成拥有正式描述性的表格。该形式的表格实质是装载数据项的收集体,这些表格中的数据能以不同的方式被存取或重新召集而不需要更新组织数据库表格。主流RDBMS有O

2021-03-26 21:28:42 1633

原创 sql练习题

create table student(sno varchar(10) primary key,sname varchar(20),sage int(2),ssex varchar(5));create table teacher(tno varchar(10) primary key,tname varchar(20));create table course(cno varchar(10) ,cname varchar(20),tno varchar(20),constra

2021-03-24 21:20:07 194

原创 Set 接口

Set接口无序、不允许重复具体实现类HashSet不保证元素的添加顺序,底层采用哈希表算法,查询效率高判断两个元素是否相等equals() 方法返回为 true要求hashCode() 值必须相等要求存入 HashSet 中的元素要覆盖 equals() 方法和 hashCode()方法LinkedHashSet是HashSet的子类,在HashSet的基础上添加了额外的链表,底层采用了哈希表算法以及链表算法,既保证了元素的添加顺序,也保证了查询效率。但是整体性能要低于HashSet判断两个元

2021-03-16 19:44:08 118

原创 并发编程-同步集合和并发集合

并发编程-同步集合和并发集合java并发编程volatile互斥锁sychronized公平锁/非公平锁可重入锁独享锁/共享锁乐观锁/悲观锁偏向锁/轻量级锁/重量级锁自旋锁锁消除同步集合和并发集合性能比较并发集合的实现原理并发集合的使用建议ConcurrentHashMap实现原理总结CopyOnWrite容器CopyOnWriteArrayList的实现原理CopyOnWrite的应用场景CopyOnWrite的缺点java并发编程三种性质可见性:一个线程对共享变量的修改,另一个线程能立刻看到。缓

2021-03-02 20:26:17 260

原创 java-Hashtable类

HashtableHashtable类定义数据存储构造器新增元素的方法实现HashtableHashtable:线程安全的,不允许null的键或值;是线程安全的,但是Hashtable线程安全的策略实现代价却太大了,简单粗暴,get/put所有相关操作都是synchronized的,这相当于给整个哈希表加了一把大锁。多线程访问时候,只要有一个线程访问或操作该对象,那其他线程只能阻塞,相当于将所有的操作串行化,在竞争激烈的并发场景中性能就会非常差1、Hashtable不允许null值或者null键,编

2021-03-01 21:25:55 98

原创 java Map接口、HashMap实现类、HashMap实现类方法和原理

Map接口、HashMap实现类、HashMap实现方法及HashMap解决一般问题的原理Map接口Map接口的定义Map接口中常见方法Map实现类HashMap构造器HashMap的存储结构HashMap的put方法Map接口哈希表就是一种以键-值(key-indexed) 存储数据的结构,只要输入待查找的值即key,即可查找到其对应的值。哈希的思路很简单,如果所有的键hashCode都是整数,那么就可以使用一个简单数组来实现:将键作为索引,值即为其对应的值,这样就可以快速访问任意键的值。简单的计

2021-02-25 21:22:38 372

原创 概述集合

概述集合集合只能存放对象。比如你存一个 int 型数据 1放入集合中,其实它是自动转换成 Integer 类后存入的(装箱操作),Java中每一种基本类型都有对应的引用类型集合存放的是多个对象的引用,对象本身还是放在堆内存中集合可以存放不同类型,不限数量的数据类型。定义集合变量时如果不指定数据类型,则默认数据类型为Object数组和集合的比较针对Java中的数组定长,Java提出了集合框架,实现了一种变长存储数据的容器—集合【容积和当前元素个数】数组不是面向对象的,存在明显的缺陷,集合弥补了

2021-02-24 21:04:54 98

原创 线程安全(实现多个线程的有序执行)

飒飒的

2021-02-23 20:50:24 251

原创 java输入输出流

java

2021-02-23 10:18:54 518

原创 多线程编程基础

多线程编程基础基础概念进程启动进程的方法启动进程方法1启动进程方法2进程的三大特征僵尸进程和孤儿进程并行与并发主线程进程和线程的关系线程和进程的区别多线程基于线程的多任务处理的优点基于多线程编程的缺点什么是线程什么是多线程线程的用处Java与多线程为什么使用线程线程的编程4种实现方法1、继承Thread2、实现Runnable接口3、使用Callable和Future接口创建线程4、使用线程池创建线程享元模式今天主要总结一下线程中:串行与并发、进程与线程、线程的创建等知识点,通过一些简单代码,掌握基本

2021-02-22 20:30:23 53

原创 过滤流/桥接转换流/缓冲流/数据流/打印流/对象流

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-02-22 14:17:11 63

原创 过滤流/桥接转换流/缓冲流/数据流/打印流/对象流

过滤流/桥接转换流/缓冲流/数据流/打印流/对象流过滤流类型过滤流桥接转换流缓冲流构造方法缓冲输入流的方法键盘录入数据流打印流对象流编码细节今天主要学习了过滤流、桥接转换流、缓冲流、数据流、打印流、对象流等的用法,以及一些例子。以下是总结的知识点及举例代码。过滤流类型过滤流就是在节点流的基础上附加功能过滤流FilterInputStream/FilterOutputStream和FilterReader/FilterWriterpublic class FilterInputStream

2021-01-26 21:12:34 136

原创 java-字节流/字符流

今天主要总结一下字节流和字符流的用法以及特点,建议大家记忆常见的父类中的方法 记忆具体的实现子类对应的操作。流模型字节流InputStreamOutputStream字符流Reader字符输入流Writer字符输出流文件节点流内存数组节点总结主要目的:屏蔽具体实现的区别,使用统一的方法进行编程输入和输出字节和字符节点和过滤 装饰模式BIO NIO AIO字节流父类InputStream和OutputStream一次一字节的操作方式,一般用于声音、图像、视频之类的二进制文件In.

2021-01-25 23:19:36 114

原创 java多线程编程

二十日多看

2021-01-23 23:12:54 76

原创 java的异常

sss

2021-01-21 19:53:26 92

原创 JAVA接口

今天学习了java面向对象的接口,在Java中不直接支持多继承,因为会出现调用的不确定性,所以Java将多继承机制进行改良,在Java中变成了多实 现。一个类只能有一个直系双亲类,一个类可以实现多个接口,一个接口可以继承多个接口。现在通过一些实例为大家展示。需求:需要飞到北京出差飞机、鸟和超人不能归于一个类属,但是具备有相同的特性:会飞的。所以引入了一个新概念叫做接口,可以用于 规范实现接口的类中必须实现接口中抽象方法。接口可以理解为一种契约使用关键字interface定义接口public inte

2021-01-19 20:49:59 88

原创 Java的抽象类

今天学习了Java的抽象类,在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类;抽象来除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法、初始化块和构造方法和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。接下来我们可以通过一些练习题来深入的了解抽象类1、为“无名的粉”写一个类class WuMingFen//一般情况下,不允许定义类在default

2021-01-18 20:40:00 547

原创 java学习

今天学习了面向对象的静态方法,接下来与大家分享干货。访问的方式可以使用“类名.静态属性名”或者“对象名.静态属性名”的方式进行访问。【范围限制】定义常量命名规则:名称全大写,下划线分词声明语法:public static Õnal double MIN_NUMBER = 0.1;声明的同时直接进行初始化public static Õnal double MIN_NUMBER = 0.1;先声明后在static静态块中赋值public static final double MIN_NUMB

2021-01-15 20:24:57 64

原创 Java继承

今天学习了Java的另一个特征——继承,在分享新知识的同时,我们先复习前面所学习的知识。面向对象编程语言的基本特征是什么?1,封装性:封装性是指将对象相关的信息和行为状态捆绑成一个单元,即将对象封装为一个具体的类。封装隐藏了对象的具体实现,当要操纵对象时,只需调用其中的方法,而不用管方法的具体实现。2,继承性:一个类继承另一个类,继承者可以获得被继承类的所有方法和属性,并且可以根据实际的需要添加新的方法或者对被继承类中的方法进行覆写,被继承者称为父类或者超类,继承者称为子类或导出类,继承提了程序

2021-01-14 20:17:54 283 1

原创 JAVA面向对象

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-01-13 15:00:34 184

原创 Java方法的调用及使用

今天学习了方法的调用,一般的,在Java语言中,调用方法有三种方式。单独调用,这种方式无法使用方法的返回值。格式:方法名称(参数值);调用是show(1,5),这个show方法没有返回值,所以不能接收返回值,否则语法报错【int k=show(1,5);】;如果有返回值,可以不接受返回值打印调用。这种方式可以将方法的返回值直接打印。格式:System.out.println(方法名称(参数值)); 注意使用sysout方法调用需要有返回值赋值调用。这种方式可以将方法的返回值赋值给一个变量,注意变

2021-01-08 21:34:47 534

原创 java练习题

今天继续做了一些java的练习题,感觉经过前几天的语法学习,再加上这些练习题,写代码的速度明显提升,相信大家只要努力,就一定会成功,下面分享今天题目的代码。输入日期,计算日期在本年的天数public class Test01 { public static void main(String[] args) { // 输入 Scanner sc = new Scanner(System.in); int year = 0,month = 0,date = 0; while (true) { y

2021-01-07 21:18:46 98

原创 java练习题

今天继续学习java的一些算法问题,Java确实为我们的生活提供了一些方便,接下来咱们看一些实际问题。通过键盘输入一个年份,输出判断某一年是否为闰年所谓闰年就是能被4整除并且不能被100整除或者能被400整除话不多说上代码public class A1 { public static void main(String[] args) { int year = 0; Scanner sc = new Scanner(System.in); while (true) { System.out.

2021-01-06 21:36:47 66

空空如也

空空如也

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

TA关注的人

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