自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring(一)

Spring框架Spring是分层的JavaSE/JavaEE应用一站式的轻量级开源框架,以IoC/DI和AOP为内核,提供了展现层SpringMVC和持久层SpringJDBC以及业务层事务管理等众多的企业级应用技术,并整合了大量的第三方框架和类库,逐步成为使用最多的JavaEE企业级应用开发框架Hello Spring用于总体的管理,主要简化对象的创建和依赖关系的管理,并依靠AOP可以抽离公共的业务逻辑处理1、添加依赖<dependency> <gro

2021-05-07 18:00:31 264

原创 Mybatis--RowBounds

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

2021-04-23 16:15:18 993

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

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

2021-04-20 09:50:24 330

原创 监听器Listener应用

#监听器Listener应用监听器是指专门用于在其他对象身上发生的事件或者状态改变进行监听和相应处理的对象,当被监听的对象发生变化时立即采取相应的行动Web监听器定义:Servlet规范中定义的一种特殊类用于监听ServletContext、HttpSession、ServletRequest等域对象的创建与销毁事件用于监听ServletContext、HttpSession、ServletRequest域对象的属性attribute修改的事件监听事件的类型是通过类所实现的接口进行区分可以在

2021-04-14 20:10:45 393 1

原创 jsp开发模型

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

2021-04-13 17:53:25 123

原创 JSP

JSPJSP与Servlet的区别Servlet实例对象的生命周期jsp的运行原理为什么jsp不能取代servletJSP技术原理3大JSP指令page指令include 指令taglib指令6大页面动作JSP动作元素包含五大类动态包含和静态包含之间的区别请求转发页面中构建对象存放数据的4大范围9大默认对象configexceptionoutJSPJSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结

2021-04-10 16:38:44 512

原创 Servlet技术

Servlet技术Servlet规范是JavaEE规范中的一个部分,是用于扩展服务器功能的运行在服务器中的小型Java程序(即服务器端小应用程序),是实现了Servlet接口通过http接收和响应web客户端请求的类静态和动态因人因时因地而发生变化服务器web服务器:定位资源—Apachejsp/servlet容器:运行jsp或者servlet程序—TomcatServlet概述Servlet是一种用于扩展服务器功能的服务器端组件技术要求直接或者间接的实现Servlet接口运行

2021-04-08 21:28:14 112

原创 Web开发概述(一) —— web应用概述、HTTP协议

Web开发概述web应用概述WEB在英语中web即表示蜘蛛网的意思,它用于表示Internet主机上(服务器)供外界访问的资源Web应用程序是一种可以通过Web访问的应用程序。Web应用程序的一个最大好处是用户很容易访问应用程序。用户只需要有浏览器即可,不需要再安装其他软件。应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助服务器运行,需要IE等浏览器来查看运行结果。B/S架构浏览器/服务

2021-04-07 19:52:22 464

原创 JS编码基础/JS函数/JS方法覆盖调用

自定义类使用this关键字修饰的变量不再是局部变量,它是该函数的实例属性<script> function Student(name, age, sex) { this.name = name; this.age = age; this.sex = sex; } let bb = new Student("胖子", 18, true); console.lo

2021-04-06 20:54:09 1061

原创 JS中的部分语句

语句语句是js的基本执行单位,要求所有的语句必须以分号结束。JavaScript脚本语言的基本构成是由控制语句、函数、对象、方法、属性等来实现编程的JavaScript是一种基于对象的事件驱动的脚本设计语言,所以在编写程序的过程中要遇到各 种各样的事件,所以要给不同的事件设定一定的规则来控制该流程。一般是由事件event触发自定义函数的执行JavaScript常用的流程控制有三种结构:顺序结构、选择结构、循环结构语句块{},但是注意js中的语句块不能作为变量的作用域,只是在编辑器中方便管理代码。

2021-04-01 21:19:57 81

原创 JS-ECMA6语法定义

ECMA6语法定义变量和常量let 声明的变量只在 let 命令所在的代码块内有效。let 是在代码块内有效,var 是在全局范围内有效<script> function dd() { alert("dd:" + abc); //undefined var abc = "other"; //就近原则,dd方法中识别的abc不能全局声明的abc,而是方法中的abc alert("dd:---" +

2021-04-01 21:09:06 111

原创 JS中的浏览器加载原理和流程控制

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

2021-04-01 20:57:15 323

原创 JS中的复合类型和事件处理机制

复合类型复合类型是指由多个基本数据类型或者复合类型构成的数据体。js中的复合类型有对象Object、数组Array和Function函数三大类对象对象是一系列命名变量和函数的集合,对象中的命名变量称为属性,对象中的函数称为方法。对象中访问属性和函数的方法都是通过. 点运算符实现的。例如获取浏览器的版本navigator.appVersionjs是基于对象的脚本语言,所以提供了大量的内置对象供开发者使用Array数组类Date日期类Math数学类Object对象类String字符串类…

2021-04-01 20:41:58 228

原创 CSS基础 四

CSS基础css hack常见基础样式常见选择器伪类选择器链接伪类其它常见伪类结构化伪类伪元素表格标签浮动布局浮动布局的原理css hack由于不同厂商的流览器或某浏览器的不同版本(如IE6-IE11、Firefox、Safari、Opera、Chrome等),对CSS的支持、解析不一样,导致在不同浏览器的环境中呈现出不一致的页面 展现效果。这时为了获得统一的页面效果,就需要针对不同的浏览器或不同版本写特定的 CSS样式,把这个针对不同的浏览器/不同版本写相应的CSS code的过程,叫做CSS ha

2021-03-29 14:36:18 318

原创 HTNML标签总结、CSS总结

HTNML标签总结、CSS总结标签总结display:block块级标签inline-blockinline总结CSS总结CSSCSS引入的三种方式行内样式通过style标签嵌入引入样式文件link和import的区别css样式表的优先级详细的标签方法和CSS的在前面几篇文章里,有需自取标签总结标签无论名字有任何不同,它最终在界面上渲染出来的都一个矩形盒子,所谓万物皆为盒子盒子在界面上的分布关系只有2种,自上而下和从左到右标签的排列主要有3种:文档中的盒子,在界面中渲染时,其排列方式是由一个CS

2021-03-26 21:37:07 242

原创 HTML基础标签 三

HTML基础标签 三基本标签选择器内部样式表基础标签选择器的分类标签选择器类型选择器id选择器其他选择器通用选择器属性选择器复合选择器分组选择器后代选择器子选择器相邻兄弟选择器普通兄弟选择器标准盒模型padding内部边距margin外边距设置嵌套情况下marginmargin和padding用法总结position定位方法的类型CSS修饰html5页常见标签常见的语义标签基本标签选择器把写在标签开始标签内部style属性中的样式,称为一个标签的行间样式<div style="width:100

2021-03-26 21:13:30 329

原创 HTML基础标签 二

HTML基础标签 二 HTML基础标签表单数据验证视频元素audio音频元素表单元素总汇表单数据验证HTML基础标签表单数据验证视频元素audio音频元素表单元素总汇表单数据验证表单数据验证 <p> HTML5对表单提供了输入验证检查方式,但这种验证还是比较简陋的,并且不同的浏览器支持 的成熟度还不同。在大部分情况下,可能还是要借助jQuery等前端库来实现丰富的验证功能和显 示效果。 常见的三种验证: 1、必须填写

2021-03-24 19:56:25 569 1

原创 HTML基础标签

HTML基础标签文档元素实体字符分组元素div通用分组hr添加分隔超链接和地址相对与绝对路径锚点设置嵌入元素img嵌入图像img相关的配置参数iframe嵌入另一个文档embed嵌入插件内容object和param元素页面元数据列表展示文档元素文档元素的主要作用是划分各个不同的内容,让整个布局清晰明快。让整个布局元素具有语义,进一步替代divh1~h6表示标题实际作用就是加粗并改变字体大小。用于各种标题文档< h1>h1~h6表示标题等级</ h1>header表示首部

2021-03-23 21:02:17 224

原创 H5初学概念基础常用样式

HTML常用基础样式HTML的概念历史HTML5的功能HTML5的特点浏览器选择Html基本格式HTML文档HTML注释文本元素文本元素解析物理样式基于内容的样式标签分类HTML的概念HTML是网页的内容和结构CSS 是网页的表现形式JavaScript 是网页的控制www万维网 和 互联网Internethttp即超文本传输协议,是TCP/IP协议簇中应用层的一种协议,默认端口号为80。底层采用的是TCP连接。采用的是一种断开式连接的方式,目前有http1.0和http1.1两个版本,http

2021-03-23 20:15:50 738

原创 B+树

B+树B+树B+Tree对比B-TreeB+树的特性如下:具体的索引实现B+树主要区别就是所有的节点值都在最后叶节点上用双向链表连接在了一起但是二叉树不能使用,因为比对次数太多,所以使用多叉树以减少比对次数B+Tree中的非叶子结点不存储数据,只存储键值非叶子节点可以看成索引部分,节点中仅含有其子树(根节点)中的最大(或最小)关键字B+Tree的叶子结点没有指针,所有键值都会出现在叶子结点上,且key存储的键值对应data数据的物理地址B+Tree的每个非叶子节点由n个键值key和n个指针po

2021-03-17 17:24:16 250

转载 数据库的索引方法和数据引擎

二万人次的v发图uuuuuuuuuuuuuuuuuuuuu

2021-03-17 15:22:19 191

原创 MySQL的基础操作指令

MySQL的基础操作指令MySQL的数据类型数值列类型字符串列类型char与varchar的区别大对象类型set和枚举删除操作drop修改基本表alter基本练习对表的基本操作 DML+DQLMySQL的数据类型数值列类型mysql提供了五种整型: tinyint、smallint、mediumint、int和bigint。int为integer的缩写。这些类型在可表示的取值范围上是不同的。整数列可定义为unsigned从而禁用负值;这使列的取值范围为0以上。各种类型的存储量需求也是不同的。取值范

2021-03-09 17:58:42 904 1

原创 java中的死锁问题

java中的死锁问题死锁问题特殊的概念死锁产生的原因死锁产生的必要条件如何避免死锁发现死锁死锁检测总结死锁问题所谓死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。特殊的概念饥饿指的线程无法访问到它需要的资源而不能继续执行时,引发饥饿最常见资源就是CPU时钟周期。在程序中使用的Thread.yield或者Thread.sleep(0)表明该程序试图克服优先级调整问题,让优先级更低的线程拥有被CPU调度的机会。Thread.sle

2021-03-05 19:46:39 100

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

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

2021-03-02 19:30:44 145

原创 java-Hashtable类

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

2021-02-26 20:37:14 194

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

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

2021-02-25 20:44:23 498

原创 java 集合中Set接口、数据结构

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

2021-02-24 21:42:33 271 1

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

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

2021-02-23 21:54:15 331 1

原创 java 数据结构、集合概述、集合框架中的接口

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

2021-02-22 20:58:35 78 1

原创 JAVA 线程安全

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

2021-02-21 23:19:30 109

原创 java-线程池、线程组、内存

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

2021-02-10 01:07:39 208 1

原创 java-多线程编程基础

多线程编程基础基础概念进程启动进程的方法启动进程方法1启动进程方法2进程的三大特征僵尸进程和孤儿进程并行与并发主线程进程和线程的关系线程和进程的区别多线程基于线程的多任务处理的优点基于多线程编程的缺点什么是线程什么是多线程线程的用处Java与多线程为什么使用线程线程的编程4种实现方法1、继承Thread2、实现Runnable接口3、使用Callable和Future接口创建线程4、使用线程池创建线程享元模式前几天将以前的内容回顾了一下,各位小伙伴学的时候也要一步一步夯实了再前进哦今天主要总结一下线程

2021-02-02 21:19:38 143

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

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

2021-01-26 21:08:32 169

原创 java-字节流/字符流

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

2021-01-25 22:09:21 92 1

原创 输入输出种的流模型、扩展类的功能、File类、文件过滤器FilenameFilter、Path和Paths以及Files、字节流

输入输出种的流模型、扩展类的功能、File类、文件过滤器FilenameFilter、Path和Paths以及Files、字节流输入输出应用编程输入输出种的流模型流概念流的分类扩展类的功能继承装饰模式在IO流定义中使用装饰模式File类常见的构造方法需要记忆的方法静态属性访问文件名的方法文件检测相关方法常见操作文件过滤器FilenameFilter语法糖Lambda表达式Path和Paths以及FilesPath相关方法Files工具方法字节流基本输入输出方法以下为今天的总结内容:输入输出种的流模型、扩展

2021-01-21 21:32:59 122

原创 异常的概念,分类,以及处理方法

今天总结了异常的概念,分类,以及处理方法,和一些代码展示。Java异常处理Java异常处理程序员真理:程序会出错意外产生和处理过程概述出错的处理方式异常异常用途异常的分类异常的捕获和处理Java异常处理try语句catch语句常见的3种输出异常的用法JDK1.7引入多异常捕获fnally语句特殊情况导致nally执行出现问题fnally块和returnfnally、nal和nalize的区别异常的捕获和处理最佳异常相关编程实践异常处理建议规则Java异常处理程序运行时发生的不被期望的事件,它阻止了程序

2021-01-20 22:25:23 2740

原创 java接口和内部类知识点总结

接口和内部类接口接口允许多重继承声明接口的语法接口中只能定义常量和抽象方法一个类实现接口的语法类实现接口接口中常量一个对象往往有多重身份接口的特殊特征接口的作用接口和抽象类的异同点如何使用接口内部类内部类的作用内部类相关的设计内部类分类非静态内部类静态内部类局部内部类匿名内部类匿名内部类的使用场景匿名内部类的使用限制内部类的使用场景和好处昨天总结到接口了,没总结完,今天从接口开始。再加个内部类接口接口允许多重继承一个类在继承另一个类的同时,还可以实现多个接口interface IA1{publi

2021-01-19 21:22:01 164

原创 抽象类,模版模式和接口

抽象类,模版模式和接口抽象类抽象类的特点抽象类不可以被实例化什么时候使用抽象类抽象类和普通类的区别抽象类的作用模板模式什么是模板模式何时使用优点缺点分析类和类之间的耦合问题接口什么是接口抽象类面向对象编程的核心是面向抽象编程,一般依赖抽象不依赖具体public class A{public void pp(Pig pig){}}//-------------public class A{//如果进行切换类型,则必须进行修改源代码public void pp(Animal animal){}

2021-01-18 21:30:47 244

原创 面向对象的多态性和方法的重写与重载

面向对象的多态性和方法的重写与重载基本数据类型的对象缓存字符串缓存池面向对象设计思想的要点多态性对象的多态性多态在代码中的体现类间多态和类内多态类间多态性类内多态性多态的优点方法的重写和重载方法的重写(覆盖)方法的重载今天学习的主要内容是面向对象的多态性和方法的重写与重载的写法,废话不多说,上干货,学习使我快乐!基本数据类型的对象缓存Integer num1 = 12;//自动装箱Integer num2 = 12;//块相等,<=127都是真System.out.println(num1

2021-01-15 21:50:31 366

原创 this和super关键字,final关键字,静态static关键字

this和super关键字,final关键字,静态static关键字this和super关键字关键字final修饰属性修饰局部变量修饰方法总结静态static关键字静态属性静态方法静态块非静态块总结this和super关键字,关键字final,静态static关键字相关总结及问题概述。this和super关键字this用于指代当前对象;super用于指代父类对象this()表示调用另外一个构造器,super()表示调用父类中的某个构造器,()中的参数决定调用的是哪个构造器public clas

2021-01-14 21:26:58 139

空空如也

空空如也

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

TA关注的人

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