自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spring1

这里写目录标题Spring框架Hello SpringOOP开闭原则OCP依赖倒转原则DIP接口隔离原则ISP迪米特法则LoD设计原则的选用JavaSE的设计模式单例模式Spring框架Spring是分层的JavaSE/JavaEE应用一站式的轻量级开源框架,以IoC/DI和AOP为内核,提供了展现层SpringMVC和持久层SpringJDBC以及业务层事务管理等众多的企业级应用技术,并整合了大量的第三方框架和类库,逐步成为使用最多的JavaEE企业级应用开发框架Hello Spring用于总体的

2021-05-08 18:06:44 206

原创 Mybatis开发2

这里写目录标题Mybatis

2021-04-22 17:29:33 156

原创 MyBatis开发 1

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

2021-04-22 12:05:54 172

原创 监听器

监听器监听器Listener应用application对象创建和销毁的监听监听的对象监听事件监听创建和销毁监听attribute的增删改HttpSession的特殊操作监听器Listener应用监听器是指专门用于在其他对象身上发生的事件或者状态改变进行监听和相应处理的对象,当被监听的对象发生变化时立即采取相应的行动Web监听器定义:Servlet规范中定义的一种特殊类用于监听ServletContext、HttpSession、ServletRequest等域对象的创建与销毁事件用于监听Ser

2021-04-17 15:51:42 319

原创 jsp 2

jspjsp开发模型jspModel1jspModel2lombok表达式语言EL脚本语言的配置运算符11个内建对象EL对象与request对象存取范围变量param & paramValuescookieinitParam小结开发书店欢迎首页定义商品显示问题自定义标签JSTL核心标签库c:if用于条件判断c:forEach循环标签建立URLc:paramWeb页面之间的关系有3种问题:ServletContextListener编程实现jsp开发模型Sun(Oracle)为了指导开发,提出了2

2021-04-13 19:42:20 167

原创 JSP

JSP9大默认对象application对象sessionpageContext页面跳转jsp页面跳转Servlet页面跳转跟踪用户的4大方法隐藏域URL重写Cookie用户提交数据的预处理9大默认对象JSP容器根据servlet API而提供了某些隐含对象。可以使用标准的变量来访问这些对象,可以在JSP页面直接使用这九大对象page this 封装页面对象,是Object类型的,该对象代表了正在运行的由JSP文件产生的类对象,相当于this。一般情况下不建议使用该对象是Object类型的,

2021-04-13 18:01:13 119

原创 Servlet重要的API

sdfgh

2021-04-10 10:59:29 233

原创 Servlet技术

Servlet技术Servlet技术Servlet概述Servlet的特征Servlet的优点Servlet缺陷Servlet实例对象的生命周期ServletConfig对象Servlet的配置 web.xml配置自动加载主要方法ServletResponse对象Servlet技术Servlet规范是JavaEE规范中的一个部分,是用于扩展服务器功能的运行在服务器中的小型Java程序(即服务器端小应用程序),是实现了Servlet接口通过http接收和响应web客户端请求的类静态和动态因人因

2021-04-08 21:27:46 258

原创 Tomcat

Tomcat和浏览器理解Tomcat和浏览器Tomcat的架构常见组件连接器类组件容器类组件tomcat目录结构Tomcat重要配置Tomcat版本号JavaEE8JavaEE应用开发的三层架构IDEA开发工具IDEA中解决中文乱码理解Tomcat和浏览器Tomcat服务器是一个免费的开源的Web应用服务器,属于轻量级应用服务器,实际上仅仅是一个jsp/servlet容器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选,因为Tomcat运行时占用的系统资源小、扩展性好

2021-04-07 19:54:05 277

原创 Web开发概述

Web开发概述Web开发概述web应用概述B/S架构web应用资源HTTP协议web应用详解web应用问题简介HTTP协议http协议的无状态性get和post请求HTTP协议之响应http和https协议Web开发概述web应用概述WEB在英语中web即表示蜘蛛网的意思,它用于表示Internet主机上(服务器)供外界访问的资源Web应用程序是一种可以通过Web访问的应用程序。Web应用程序的一个最大好处是用户很容易访问应用程序。用户只需要有浏览器即可,不需要再安装其他软件。应用程序有两种模式C

2021-04-07 19:44:06 260

原创 JavaScript习题

JavaScript习题返回最大值101-200之间有多少个素数,并输出所有素数求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。检验并提交判断素数点击按钮新增下拉选择的选项关联下拉选择今天总结一些简单常见js编程的练习题,熟练前面学习的js知识点。返回最大值<script> function Math() { this.max = function () { let res = -Infinity;

2021-04-07 10:07:40 91

原创 JavaScript基础(三)

ES6中箭头函数的调用箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this,arguments,super或 new.target。这些函数表达式更适用于那些本来需要匿名函数的地方,并且它们不能用作 构造函数(参数1, 参数2, …, 参数N) => { 函数声明 } //相当于:(参数1, 参数2, …, 参数N) =>{ return 表达式; } (参数1, 参数2, …, 参数N) => 表达式(单一语句) // 当只有一个参数时,圆括号是可选的: (单一参数) =&

2021-04-06 20:43:07 139

原创 JavaScript基础(二)

JavaScript基础ECMA6语法定义复合类型浏览器加载原理流程控制事件处理机制语句运算符ECMA6语法定义<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="widt

2021-04-06 20:28:53 77

原创 JavaScript基本类型

JavaScript基本类型javaScript语句定义变量变量的命名规则类型转换类型相关的操作变量范围在函数内容是否使用var定义变量的区别基本数据类型js数据类型typeof运算符可以获取变量的数据类型特殊数据类型布尔类型日期类型使用日期类型数据显示使用 window.alert() 弹出警告框使用 document.write() 方法将内容写到 HTML 文档中使用 innerHTML 写入到 HTML 元素使用 console.log() 写入到浏览器的控制台数值型正则表达式通配符特殊字符表示频率

2021-04-01 21:35:34 111

原创 JavaScript基础

这里写目录标题数据类型数组方法DOM 和 BOMnull和undefind的区别split()和 join() 的区别javascript 的 typeof 返回哪些数据类型如何理解闭包GET和POST的区别事件委托阻止事件冒泡和默认事件如何在 HTML 中添加事件link 和 import 的区别js 数组类型中的常用方法数据类型基本数据类型:String、Number、Boolean、Undefined、Null引用数据类型:function、object、array数组方法push:

2021-04-01 21:09:46 100

原创 css字体样式,选择器,外观属性

css字体样式,选择器,外观属性字体样式ont-size:字号大小font-family:字体css unicode 字体font-weight:字体粗细font-style:字体风格font:综合设置字体的样式(重点)css注释选择器标签选择器类选择器id选择器id选择器和类选择器区别通配符选择器伪类选择器链接伪类选择器CSS外观属性color:文本颜色line-height:行间距text-align:水平对齐方式text-indent:首行缩进letter-spacing:字间距word-spacin

2021-03-31 17:54:15 185

原创 项目实战——旅行社导航页

html代码:<!DOCTYPE html><html lang="zh-cn"><head> <meta charset="UTF-8"> <title>项目实战</title> <link rel="stylesheet" href="css/basic.css"> <link rel="stylesheet" href="css/column.css"></head><b

2021-03-29 14:30:44 370

原创 CSS基础 2

标签选择器,例如p上下文选择器,也叫做后代选择器,例如标签1 标签2 {声明}类型选择器,例如.classID选择器#,例如#id子选择符 >,例如标签1 > 标签2 标签2必须是标签1的子元素。与其他常规的上下文选择符 不同,这个选择符中的标签1不能是标签2的父元素之外的其他祖先元素紧邻同胞选择器+,例如标签1 + 标签2 标签2必须紧跟在其同胞标签1的后面一般同胞选择器~,例如标签1 ~ 标签2 标签2必须在(不一定紧挨着)其同胞标签1后面通用选择器*,匹配任何元素属性选择器

2021-03-26 21:11:29 151

原创 CSS基础1

基本标签选择器<!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"> <tit

2021-03-26 21:01:13 108

原创 html基础

html基础audio 音频元素<body> <h3>audio 音频元素</h3> <p> audio元素用于嵌入音频内容,而音频元素的属性和视频元素类似。 音频的支持度和视频类似,使用source元素引入多种格式兼容即可。 主流的音频格式有:.mp3、 .m4a、 .ogg、 .wav <ul> <li>src视频资源的URL

2021-03-24 20:17:42 96

原创 HTML常用标签

<!DOCTYPE html><html lang="zh-cn"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>网站首页</title></head><body> <a href="sh

2021-03-23 19:51:46 205

原创 h5基础

HTML的概念,HTML基本格式H5HTML的概念Html5历史XHTML的兴衰史HTML5的回归HTML5的功能HTML5的特点浏览器选择开发工具Hello H5Html基本格式HTML 标签HTML文档文本元素文本元素总汇文本元素解析物理样式基于内容的样式标签分类标题H5HTML是网页的内容和结构CSS 是网页的表现形式JavaScript 是网页的控制HTML的概念www万维网 和 互联网Internet上网http即超文本传输协议,是TCP/IP协议簇中应用层的一种协议,默认端口号为

2021-03-22 20:21:24 241

原创 索引的实现原理

索引的实现原理索引的实现原理常见的数据结构对比散列表链表二叉查找树平衡二叉树B-树B+树B+Tree对比B-Tree具体的索引实现索引的实现原理MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如B-Tree索引,B+Tree索引,哈希索引,全文索引等常见的数据结构对比散列表散列表(也称哈希表)是根据关键码值(Key value)而直接进行访问的数据结构,它让码值经过哈希函数的转换映射到散列表对应的位置上,查找效率非常高。哈希索引就是基于散列表

2021-03-17 17:33:15 805

原创 数据引擎,MySQL索引

数据引擎,MySQL索引数据引擎InnoDB存储引擎InnoDB缺点InnoDB适合MyISAM存储引擎MyISAM缺点MyISAM适合一般选择图形化客户端工具MySQL索引什么是索引普通索引和唯一索引、主键索引单列索引和组合索引全文索引空间索引索引的优点索引的缺点注意事项创建索引使用ALTER TABLE删除索引使用DROP INDEX删除索引不适合创建索引索引的设计原则使用索引的场景不创建索引的场景索引的实现原理常见的数据结构对比散列表链表二叉查找树平衡二叉树B树数据引擎数据库引擎是数据库用于存储、

2021-03-16 20:12:38 152

原创 MySQL运算符,外键

MySQL运算符,外键MySQL运算符算术运算符比较运算符逻辑运算符类主要集合统计函数计数计算总和计算平均值求最大值求最小值group分组操作外键约束外键特点基础语法1对11对多,多对1多对多MySQL运算符算术运算符、比较运算符、逻辑运算符算术运算符只能针对数值类型进行计算,如果是非数值类型则自动转换,如果转换失败则0进行处理比较运算符like配合%和_进行模糊查询In查询年龄在15\19\21的学生 where age=15 or age=19 or age=21使用in

2021-03-10 17:22:04 127

原创 sql语句,JDBC编程基础

sql语句,JDBC编程基础sql语句char与varchar的区别大对象类型set和枚举日期和时间列类型位类型bit总结删除操作drop修改基本表alter基本练习对表的基本操作 DML+DQL字符串的比较多条件查询术语练习:JDBC编程基础JDBC概述使用JDBC访问MySQL1、加载JDBC驱动程序2、创建数据库连接3、执行SQL语句4、接收并处理SQL的返回结果![在这里插入图片描述](https://img-blog.csdnimg.cn/20210309180943966.png)5、关闭创建

2021-03-09 18:52:51 627

原创 数据库基础,Mysql

数据库基础,Mysql数据库基础什么是数据库什么是DBMS数据库特点数据模型RDBMS的特点关系模型的优缺点常见的数据库产品SQLSQL的特点NoSQL常见的NoSQL数据库类型有4种NoSQL的适用场景:SQL vs NoSQLMysql什么是Mysql数据库Mysql数据库应用MySQL 8的新特性Windows下MySQL的安装常用mysql服务命令Mysql已存数据库常见的SQL命令数据库涉及字符规范(不是语法硬性规则)MySQL的数据类型数值列类型字符串列类型数据库基础什么是数据库数据库是指

2021-03-08 19:33:02 247

原创 TCP/IP协议

TCP/IP协议TCP/IP协议分层模型OSI协议模型TCP协议IP地址URL访问网上资源URL与URLConnection比较TCPServerSocket类客户端Socket的构造器启动一个服务器对多个客户端请求进行响应TCP/IP协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP协议分层模型TCP/IP协议的分层有2个模型,分别是TCP/IP参考模型与OSI参考模型。在TCP/IP参考模型中,是分为数据链路层、互

2021-03-06 17:12:10 449

原创 死锁问题,线程池和并行处理,线程通信

死锁问题所谓死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。特殊的概念饥饿指的线程无法访问到它需要的资源而不能继续执行时,引发饥饿最常见资源就是CPU时钟周期。在程序中使用的Thread.yield或者Thread.sleep(0)表明该程序试图克服优先级调整问题,让优先级更低的线程拥有被CPU调度的机会。Thread.sleep(0)不等于不写活锁指的是线程不断重复执行相同的操作,但每次操作的结果都是失败的。活锁通常发生在处

2021-03-04 23:03:53 492 1

原创 java并发编程

java并发编程Java集合中的快速失败机制针对List的特殊迭代器ListIteratorjava并发编程volatile互斥锁sychronized公平锁/非公平锁可重入锁独享锁/共享锁乐观锁/悲观锁乐观锁/悲观锁自旋锁锁消除重点问题synchronized和lock比较线程阻塞的代价同步集合和并发集合性能比较并发集合的实现原理并发集合的使用建议ConcurrentHashMap实现原理总结CopyOnWrite容器CopyOnWriteArrayList的实现原理CopyOnWrite的应用场景Cop

2021-03-02 19:39:42 110

原创 Map集合

Set集合&Map集合Set接口具体实现类各种Set集合性能分析相关的集合计算Collection和Collections的区别Map接口Map接口的定义Map接口中常见方法3种视图Map实现类HashMap在这里插入图片描述HashMap的存储结构HashMap的put方法的具体流程Set接口无序、不允许重复具体实现类HashSet不保证元素的添加顺序,底层采用哈希表算法,查询效率高判断两个元素是否相等equals() 方法返回为 true- 要求hashCode() 值必须相等要求

2021-02-25 20:25:11 108

原创 Set接口,数据结构

Set接口,数据结构Set接口实现类HashSetHashSet的特征LinkedHashSetTreeSet数据结构哈希表哈希冲突散列算法二叉树Set接口特点:无序、不允许重复,是Collection接口的子接口没有定义新方法,所有的方法都是Collection接口中所定义的方法实现类HashSet存储采用哈希表的方式进行存储,HashSet采用HashCode算法来存取集合中的元素,因此具有比较好的读取和查找性能LinkedHashSet是在HashSet的基础上添加一个额外的链表结构可以记

2021-02-24 21:46:48 129

原创 泛型、泛型应用、泛型好处、泛型类

泛型、泛型应用、泛型好处、泛型类泛型什么是泛型使用泛型的定义典型场景Comparable接口泛型的好处泛型类集合类中定义范型泛型当将一个对象放入集合中,集合不会记住此对象的类型,当再次从集合中取出此对象时,改对象的编译类型变成了Object类型,但其运行时类型任然为其本身类型。List list=new ArrayList();list.add(new Random());list.add("abc"); //list并没有识别"abc"是字符串类型,而是当作Object进行处理String s

2021-02-23 22:25:11 327

原创 数据结构、集合

数据结构、集合概述、集合框架中的接口数据结构线性表链表概述集合数组和集合的比较集合框架中的接口Collection接口常见方法Iterator迭代器List接口Set接口常见的List接口的实现类ArrayList实现类数据结构线性表(数组)存储区间是连续的,占用内存严重,故空间复杂度很大。但数组的二分查找(前提是必须有序)时间复杂度小,为O(1);数组的特点是:寻址容易(arr[n]=arr[0]+n*每个元素的长度,时间复杂度为O(1))插入和删除困难(可能会引发一半以上的数据元素移动,时

2021-02-22 21:01:33 89

原创 线程安全

线程安全线程安全同步处理的引入问题出错的解决方案写法1:同步方法写法2:同步代码块写法3:同步静态方法理解讨论问题银行取钱操作小结synchronized同步实例方法同步静态方法同步方法块synchronized底层语义原理何时需要同步释放同步锁编码实现线程安全多线程的执行顺序不可重现,但是必须要求执行结果必须可以重现线程的共享数据操作不完整性就一定会出现数据被破坏,而导致结果无法预知的问题—线程的安全问题同步处理的引入在java语言中存在两种内建的synchronized语法:synchroni

2021-02-21 23:13:22 100

原创 Android

Android概述AndroidAndroid应用场景Android开发特点Android系统的架构Android应用内容ActivityServiceBroadcast ReceiverContentProviderAndroid发展史搭建IDE环境Android SDK安装相关的目录结构AS的安装Hello AndroidActivity资源文件activity_main.xml启动运行app概述AndroidAndroid是google开发的基于的linux内核的、开源的、智能移动设备上的操作系统

2021-02-08 18:16:29 256

原创 线程概述

线程基础概念进程的基本操作多线程创建线程的4种方式线程池基础概念程序是为完成特定任务、用某种语言编写的一组指令的集合。指一段静态的代码,是一个静态的概念 进程是具有一定独立功能程序的运行过程,是操作系统进行资源分配和调度的一个最小的独立单位,重点在系统调度和单独的单位 每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。(进程是资源分配的最小单位) 线程和进程一样分为五个阶段:创建、就绪、运行、阻塞、终止 线程是进程中的一个独立执行线索,是

2021-02-05 15:42:47 129

原创 线程的状态切换

线程的状态切换线程状态切换常见问题sleep方法使得当前线程休眠wait(Object中定义的)sleep vs waitjoin方法线程状态切换线程从创建并启动到消亡共经历了5种状态:新建、就绪、运行、阻塞和死亡线程变化的5状态转换:1、新建状态(New):新创建了一个线程对象。new Thread()2、就绪状态(Runnable):线程对象创建后,其它线程调用了该对象的start()方法。只能针对处于新建状态的线程对象调用start方法,否则-----IllegalThreadStateE

2021-02-03 21:51:49 1689 1

原创 线程池,线程组,内存

线程池,线程组,内存什么是线程池new Thread的弊端四种线程池的好处线程池的工作原理[***]线程池一般流程常见问题总结daemon线程线程组多线程编程细节Thread类Runnable接口Callable接口Future接口FutureTaskThreadPoolExecutor构造器中各个参数的含义:1.corePoolSize2.maximumPoolSize3.keepAliveTime4.unit5.workQueue6.threadFactory7.handlerExecutors创建线程

2021-02-02 21:55:21 279

原创 线程的编程4种实现方法

线程的编程4种实现方法1、继承ThreadThread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。public class Thread implements Runnable@FunctionalInterface //函数式接口,其中包含一个抽象方法runpublic interface Runnable {public abstract void run();}启动线程的唯一方法就是通过Thread类的start()实例方法,不能直接调用run()方法。sta

2021-02-01 20:51:41 148

空空如也

空空如也

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

TA关注的人

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