自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程池的相关参数

我们用银行排队的列子来做参考,当我们前来银行办理业务时,来了第一个和第二个人,银行会开启核心线程数为他们办理业务,如果再有人前来,来了第三个,第四个、第五个,我们都会先让他们等待,即是将他们放在阻塞队列里面,如果这个时候阻塞队列满了,还有人前来办理业务,银行就会开启新的窗口(即是最大线程数的其他窗口3个窗口)。阻塞队列自带阻塞和唤醒的功能,不需要额外处理,无任务执行时,线程池利用阻塞队列的take方法挂起,从而维持核心线程的存活,不至于一直占用CPU资源。如果允许任务丢弃,这是最好的一种策略。

2024-03-01 15:27:38 909

原创 线程池的介绍

线程池是一种利用池化技术思想来实现的线程管理技术,主要是为了复用线程、便利地管理线程和任务、并将线程的创建和任务的执行解耦开来。,当我们创建现场过多时,也会对性能造成影响,所以我们就可以提前创建好一些线程,存储起来,使用的时候就可以直接拿出来使用,可以避免频繁的创建和销毁线程。从上图中也可以看出,Executors的创建线程池的方法,创建出来的线程池都实现了ExecutorService接口。其实,在上面的报错信息中,我们是可以看出蛛丝马迹的,在以上的代码中其实已经说了,真正的导致OOM的其实是。

2024-02-27 17:41:14 909

原创 Spring注解开发源码解析

1:默认情况下,加在容器中的组件,在容器启动时就会调用无参构造函数来创建对象,然后初始化,把@Autowired标注在方法上,该方法如果有参数(组件),会使用autowired的方式(byType)在容器中查找是否有该组件。2:标注在带参构造函数上,如果组件只有一个有参构造器,这个有参构造器的@Autowired可以省略,参数位置的组件可以自动从容器中获取。原因:@Configuration这个注解的作用就是为MainConfig类加上Cglib动态代理,保证容器中的对象都是单例的。

2024-01-30 16:56:47 1210

原创 Spring:JDBCTemplate 的源码分析

考虑到存在事务的情况,如果当前线程存在事务,那么说明在当前线程中存在共用数据库连接(存在事务则说明不止一个sql 语句被执行,则会共用同一个数据库连接, 所以如果当前Sql执行完毕,不能立即关闭数据库连接,而是将引用次数减一),这种情况下直接使用 ConnectionHolder 中的released 方法进行连接数减一,而不是真正的释放连接。将大多数数据库操作对相同的统一封装,而将个性化的操作使用 StatementCallback 进行回调,并进行数据库资源释放的一些收尾操作。下面我们简单看一看。

2024-01-29 14:50:09 1115

原创 Spring相关重点API

一:ApplicationContext的继承体系。

2024-01-04 11:06:42 511 1

原创 Spring配置文件

一: Bean标签基本配置一: Bean标签基本配置1:用途用于配置对象交由Spring来创建,默认情况下它调用的是类中的无参构造函数,如果没有无参构造函数则不能创建成功。2:基本属性(idBean实例在Spring容器中的唯一标识3:Bean标签范围配置(scope。

2024-01-04 10:10:30 873

原创 Spring简介

Spring的源代码设计精妙,结构清晰,匠心独用,处处体现着大师对Java设计模式灵活运用以及对Java技术的高深造诣。它的源代码无疑是java技术的最佳实践的范例。等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE企业应用开源框架。通过Spring提供的IOC容器,可以将对象间的依赖关系交由Spring进行控制,避免硬编码所造成的过度耦合。可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可做的事情。

2023-12-22 16:18:19 446

原创 spring boot的自动装配原理

spring boot自动装配原理及源代码分析

2023-11-24 15:12:15 1358 1

原创 IDEA中常用快捷键

IDEA常用快捷键

2023-11-24 14:34:03 1453

原创 JavaWeb:JavaScript框架JQuery

JQuery 基础一:概念1:一个JavaScript框架。简化JS开发2:JQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨 是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优 化HTML文档操作、事件处理、动画设计和Ajax交互。...

2022-06-01 16:16:29 366 1

原创 JavaWeb:三大组件servlet & Filter & Listener

当当当当~~~~欢迎大家阅读,今天我们学习JavaWeb三大组件:程序(Servlet)、过滤器(Filter)和监听器(Listener)Filter:过滤器一:概念生活中的过滤器:净水器,空气净化器,土匪web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。二:过滤器的作用一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤等...三:快速入门(一):步骤1. 定义一个类,实现接口Filter2. 复写方法

2022-05-27 16:39:14 503

原创 JavaWeb:用户信息管理系统总结

当当当当~~~~欢迎大家阅读,今天我们总结用户信息管理系统的流程该系统主要分为两部分,一部分是简单功能(增删改查)的基础实现;一部分是复杂功能删除选中,分页查询,复杂条件查询的实现;简单功能一:登录(一):登录界面(1):html登录界面(2):html代码 <body> <div class="container" style="width: 400px;"> <h3 style="text-align: cent...

2022-05-27 09:01:20 3593 2

原创 JavaWeb:JSP的简化(EL)及标签(JSTL)

JSP:入门学习一:概念Java Server Pages: java服务器端页面可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码用于简化书写!!!二:原理JSP本质上就是一个Servlet三:JSP的脚本:JSP定义Java代码的方式1. <% 代码 %>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。2. <%! 代码 %>:定义的java代码,在jsp转换.

2022-05-19 17:29:47 319

原创 JavaWeb:Cookie与Session的区别

当当当当~~~~欢迎大家阅读,今天我们学习Cookie和Session会话技术一:概念会话:一次会话中包含多次请求和响应。一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止二:功能在一次会话的范围内的多次请求间,共享数据三:方式1. 客户端会话技术:Cookie2. 服务器端会话技术:SessionCookie一:概念客户端会话技术,将数据保存到客户端二:快速入门使用步骤:1. 创建Cookie对象,绑定数据new C...

2022-05-19 10:52:38 194

原创 JavaWeb:Response对象

当当当当~~~~欢迎大家阅读,今天我们学习Response对象一:功能:设置响应消息(一):设置响应行1. 格式:HTTP/1.1 200 ok2. 设置状态码:setStatus(int sc) //1.设置状态码为302 response.setStatus(302);(二):设置响应头setHeader(String name, String value)//2.设置响应头location response.setHeader(...

2022-05-13 09:05:54 300

原创 JavaWeb: Request对象

一:request对象和response对象的原理1. request和response对象是由服务器创建的。我们来使用它们2. request对象是来获取请求消息,response对象是来设置响应消息二:request对象继承体系结构 ServletRequest -- 接口 | 继承HttpServletRequest -- 接口 | 实现org.apache.catalina.connector.Req...

2022-05-12 20:26:45 311

原创 JavaWeb:HTTP超文本传输协议

当当当当~~~~欢迎大家阅读,今天我们学习HTTP超文本传输协议一:HTTP介绍(一):概念Hyper Text Transfer Protocol 超文本传输协议传输协议:定义了,客户端和服务器端通信时,发送数据的格式(二):特点1. 基于TCP/IP的高级协议2. 默认端口号:803. 基于请求/响应模型的:一次请求对应一次响应4. 无状态的:每次请求之间相互独立,不能交互数据(三):历史版本1.0:每一次请求响应都会建立新的连接1.1:复用连接...

2022-05-12 19:28:53 212

原创 JavaWeb:如何在IDEA中配置Tomcat

当当当当~~~~欢迎大家阅读,今天我们学习Servlet阶段如何在IDEA中配置tomcat

2022-05-12 16:31:56 1784

原创 org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: 启动Tomcat时的报错

[2022-05-12 12:09:24,584] Artifact Day09_response:war exploded: Artifact is being deployed, please wait...12-May-2022 12:09:24.769 严重 [RMI TCP Connection(5)-127.0.0.1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:.

2022-05-12 14:44:39 8594 2

原创 JavaWeb案例:抽奖小游戏

当当当当~~~~快来一起学习吧,今天我们一起做一个抽奖小游戏一:示例图二:示例代码<!DOCTYPE html><html lang="ch"><head> <meta charset="UTF-8"> <title>抽奖</title> <style> #screen{ display: inline-block; ..

2022-05-05 20:38:59 4393

原创 JavaWeb案例:旅游网站

当当当当~~~~欢迎大家阅读,通过这段时间对JavaWeb的学习,今天我们来做一个旅游网页一:思路:首先我们把网页分为三个版块:页眉,主体和页脚其次再对将这三个大的版块划分成多个小版块二:页眉以上就是页眉部分的展示图啦~~~~接下来我们编辑具体代码<!--首先使用BootStrap框架-> <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! --> <title>Bootstrap 1...

2022-05-05 11:26:47 3153 2

原创 JavaWeb:事件

一:事件简单学习(一)概念某些组件被执行了某些操作后,触发某些代码的执行(二)功能造句:xxx被xxx,我就xxx我方水晶被摧毁后,我就责备队友敌方水晶被摧毁后,我就夸奖自己(三)如何绑定事件直接在html标签上,指定事件的属性(操作),属性值就是js代码通过js获取元素对象,指定事件属性,设置一个函数二:事件监听机制(一)概念某些组件被执行了某些操作后,触发某些代码的执行事件:某些操作。如: 单击,双击,键盘按下了,鼠标移动了事件源:组件。如

2022-05-05 10:27:23 560

原创 JavaWeb:BootStrap

当当当当~~~~欢迎大家阅读,今天我们学习前端框架BootStrap一:概念一个前端开发的框架,Bootstrap,来自 Twitter,是目前很受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript 的,它简洁灵活,使得 Web 开发更加快捷二:框架一个半成品软件,开发人员可以在框架基础上,在进行开发,简化编码三:好处(一):定义了很多的css样式和js插件我们开发人员直接可以使用这些样式和插件得到丰富的页面效果(二): 响应式布局...

2022-05-05 10:20:28 319

原创 JavaWeb :JavaScript高级

当当当当~~~~欢迎大家阅读,今天我们学习高级JavaScriptBOM一:概念Browser Object Model 浏览器对象模型将浏览器的各个组成部分封装成对象二:组成Window:窗口对象Navigator:浏览器对象Screen:显示器屏幕对象History:历史记录对象Location:地址栏对象三:Window窗口对象(一)方法1:与弹出框有关的方法 alert() 显示带有一段消息和一个确认按钮的警告框 c...

2022-05-05 10:10:24 186

原创 JavaWeb:JavaScript基础

一:概念一门客户端脚本语言运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎脚本语言:不需要编译,直接就可以被浏览器解析执行了二:功能可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。三:javascript发展史1. 1992年,Nombase公司,开发出第一门客户端脚本语言,专门用于表单的校验。命名为 : C-- ,后来更名为:ScriptEase2. 1995年,Netscape(网景)公司...

2022-05-05 09:49:08 208

原创 JavaWeb: HTML和CSS的结合

当当当当~~~~欢迎大家阅读,今天我们学习 HTML和CSS的结合HTML一:表单标签1、概念用于采集用户输入的数据,用于和服务器进行交互2、类型from概念:用于定义表单的,可以定义一个范围,范围代表采集用户数据的范围属性:action:指定提交数据的URLmethod:指定提交方式 分类:一共7种,2种比较常用 get:请求参数会在地址栏中显示,会封装到请求行中(HTTP协议后讲解)...

2022-04-20 23:12:37 426

原创 JavaWeb :HTML快速入门

当当当当~~~~欢迎大家阅读,今天我们学习JavaWeb中的HTML基础知识一:概念HTML:全称Hyper Text Markup Language 超文本标记语言,是最基础的网页开发语言超文本:超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本标记语言:由标签构成的语言,标记语言不是编程语言编辑标签需要注意以下几点哦~~~~二:注意事项1:html文档后缀名 .html 或者 .htm2:标签分类围堵标签:有开始标签和结束标签.如&lt...

2022-04-19 20:02:12 190

原创 Java项目:图书管理系统思路分享(重构版Mysql)

当当当当~~~~欢迎大家阅读,今天总结项目三图书管理系统重构版项目功能流程结构图:项目处理流程:操作员:文档设计:数据库设计:实体类:接口:连接层:逻辑层:实现层:...

2022-04-12 11:25:26 2217

原创 Git工具

当当当当~~~~欢迎大家阅读,今天我们学习Git工具一:介绍Git 工具是什么Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。它与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。二:Git 与 SVN 区别1、SVN(Apache Subversion),是一个开放源代码的版本控制系统,采用...

2022-03-28 22:05:48 7502 1

原创 六种常用软件设计模式—责任链模式

当当当当~~~~欢迎大家阅读,今天我们学习六种常用软件设计模式中的责任链模式一:责任链模式的介绍在现实生活中,一个事件需要经过多个对象处理是很常见的场景。例如,采购审批流程、请假流程等。在计算机软硬件中也有相关例子,如总线网中数据报传送,每台计算机根据目标地址是否同自己的地址相同来决定是否接收;还有异常处理中,处理程序根据异常的类型决定自己是否处理该异常等;都可以考虑使用责任链模式来实现。二:责任链设计模式的定义为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过..

2022-03-28 20:53:31 494

原创 六种常用软件设计模式—观察者模式

当当当当~~~~欢迎大家阅读,今天我们学习六种常用软件设计模式中的观察者模式一:观察者模式的介绍在现实世界中,许多对象并不是独立存在的,其中一个对象的行为发生改变可能会导致一个或者多个其他对象的行为也发生改变。例如,某种商品的物价上涨时会导致部分商家高兴,而消费者伤心;在软件世界也是这样,例如,Excel 中的数据与折线图、饼状图、柱状图之间的关系;MVC 模式中的模型与视图的关系;事件模型中的事件源与事件处理者。所有这些,如果用观察者模式来实现就非常方便。二:观察者模式的定义指多个..

2022-03-28 20:31:20 859

原创 六大常用软件设计模式—装饰器模式

当当当当~~~~欢迎大家阅读,今天我们学习六大常用软件设计模式中的装饰器模式一:装饰器模式介绍在现实生活中,常常需要对现有产品增加新的功能或美化其外观,如房子装修、相片加相框等,都是装饰器模式。在软件开发过程中,有时想用一些现存的组件。这些组件可能只是完成了一些核心功能。但在不改变其结构的情况下,可以动态地扩展其功能。所有这些都可以釆用装饰器模式来实现。二:装饰器模式定义指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。三:...

2022-03-28 20:11:25 269

原创 六大常用软件设计模式—代理模式

一:代理模式的介绍在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象二:代理模式的定义由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。三:代理模式的缺点和解决方式1、优点(1)可以是真实角色的操作更加纯粹!不用去关注一些公共业务(2)公共业务就交给代理角色!实现了业务的分工(3)公共业务发生扩展时,方便集中管理2

2022-03-28 19:49:48 1171

原创 六大常用软件设计模式—工厂模式

当当当当~~~~欢迎大家阅读,今天我们学习六大常用软件设计模式中的工厂模式工厂方法模式中只考虑生产同等级的产品,本节主要介绍抽象工厂模式,考虑多等级产品的生产工厂模式 (Factory Pattern)一:工厂模式的定义就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。二:工厂模式的实现方式1、 抽象产品类(也可以是接口)2、多个具体的产品类3、..

2022-03-28 17:51:05 2090

原创 六大常用软件设计模式—单例模式

当当当当~~~~欢迎大家阅读,今天我们学习六大常用软件设计模式中的单例模式在有些系统中,为了节省内存资源、保证数据内容的一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式。一:单例模式的定义定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。例如:Windows 中只能打开一个任务管理器,这样可以避免因打开多个任务管理器窗口而造成内存资源的浪费,或出现各个窗口显示内容的不一致等错误。二:单例模式的三个特点1、单例类只有一个实例对象;2、该单例对象必...

2022-03-28 15:44:03 578

原创 三层架构知识点

当当当当~~~~欢迎大家阅读,今天我们学习三层架构一、什么是三层架构1、三层架构的含义三层架构就是为了符合“高内聚,低耦合”思想,把各个功能模块划分为UI(表现层)、BLL:(业务逻辑层)、DAL:(数据访问层)三层架构。额外的还有一层实体类(Model),作为数据传递的载体,在各层之间传递数据。2、高内聚:内聚:就是一个模块内各个元素彼此结合的紧密程度。高内聚:就是一个模块内各个元素彼此结合的紧密程度高。(但各个层只负责单一功能)。3、低耦合:耦合:一个完整的系统,模...

2022-03-25 22:02:52 1203

原创 JDBC编写步骤总结

当当当当~~~~欢迎大家阅读,今天我们来总结JDBC的内容@Testpublic void testUpdateWithTx() { Connection conn = null; try { 1.获取连接的操作( ① 手写的连接:JDBCUtils.getConnection(); ② 使用数据库连接池:C3P0;DBCP;Druid :source1.getConnection(); 2.对数据表进行一系列CRUD操作 ...

2022-03-25 19:10:24 180

原创 JDBC之通过DBUtils提供的jar包实现CRUD操作

当当当当~~~~欢迎大家阅读,今天我们学习通过DBUtils提供的jar包实现CRUD操作步骤一:导入jar包步骤二:测试使用现成的jar中的QueryRunner测试增、删、改的操作//测试插入 @Test public void testInsert() { Connection conn = null; try { QueryRunner runner = new QueryRunner(); conn = JDBCUtils.getConnecti...

2022-03-25 17:53:17 627

原创 JDBC之数据库连接池

当当当当~~~~欢迎大家阅读,上一篇博客学习了传统的数据库连接,今天我们学习数据库连接池一:传统的数据库连接模式1、在主程序中建立数据库连接2、进行sql操作3、断开数据库连接二:传统连接存在的问题1、数据库的连接资源没有的到很好的重复利用2、对于每一次数据库连接,使用完都得断开3、不能控制被创建的连接对象数三:如何解决传统开发中的数据库连接问题使用数据库连接池四:使用数据库连接池的好处1、提高程序的响应速度(减少了创建连接相应的时间)2、降低资源的消..

2022-03-25 17:22:58 488

原创 JDBC之程序编写步骤

当当当当~~~~欢迎大家阅读,今天我们学习JDBC程序编写步骤以上是JDBC程序编写步骤的流程图步骤一:导入java.sql包步骤二:加载并注册驱动程序java.sql.Driver 接口:是所有 JDBC 驱动程序需要实现的接口,这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现,例如:mySql的驱动: com.mysql.jdbc.DriverOracle的驱动:oracle.jdbc.driver.OracleDriver接下来我们将以M...

2022-03-25 15:49:38 2982

空空如也

空空如也

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

TA关注的人

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