自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 【从零学Spring入门到高级】Chapter8~9——Bean的生命周期、循环依赖问题

Spring其实就是一个管理Bean对象的工厂。它负责对象的创建,对象的销毁等。所谓的生命周期就是:对象从创建开始到最终销毁的整个过程。什么时候创建Bean对象?创建Bean对象的前后会调用什么方法?Bean对象什么时候销毁?Bean对象的销毁前后调用什么方法?set单例模式下:set多例:报错:创建中异常注意:当两个bean 的scope都足prototype的时候,才会出现异常。如果其中任意一个是singleton的,就不会出现异常。构造方式。

2023-01-13 22:50:23 145 1

原创 【从零学Spring入门到高级】Chapter6~7——GoF之工厂模式、Bean的获取方式

缺点:假设现在需要扩展一个新的产品,工厂类的代码是需要修改的,显然违背了OCP原则;工厂类的责任比较重大,不能出现任何问题,因为这个工厂类负责所有产品的生产,称为全能类,或者有人把它叫做上帝类,这个工厂类一旦出问题,整个系统必然全部瘫痪。缺点:每次增加一个产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增加了系统的复杂度,同时也增加了系统具体类的依赖。优点:当你扩展一个产品的时候,符合OCP原则,因为只需要添加两个类,一个类是具体产品类,一个类是具体工厂类。

2023-01-12 16:07:57 135

原创 【从零学Spring入门到高级】Chapter4~5——Spring对IoC的实现、Bean的作用域

虽然这个也是一个Map集合,但是利ap 的注入方式有点像,但是不同。简单类型解析,下图为Spring源码(第一个是八种基本以及包装类,第六个Temporal是Java8提供的时问和时区类,倒数第二个Locale是语言类)spring上下文初始化的时候,并不会初始化这些prototype 的bean。set主入,基于set方法实现的,底层会通过反射机制调用属性对应的set方法然后给属性赋值。bean标签嵌套内部,较少用,内部bean只能用于给属性赋值,不能在外部通过IOC容器获取,因此可以省略id属性。

2023-01-11 15:58:58 121

原创 【从零学Spring入门到高级】day2-Spring入门程序

开始写spring程序

2023-01-06 14:19:49 84

原创 【从零学Spring入门到高级】day1

Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。节Spring最初的出现是为了解决EJB腕肿的设计,以及难以测试等问题。Spring为简化开发而生,让程序员只需关注核心业务的实现,尽可能的不再关注非业务逻辑代码(事务控制,安全日志等)。

2023-01-03 23:15:43 74

原创 C++速通笔记 二 (进阶)

注意:没有返回值不写void 函数名和类名相同在名称前加~ 析构函数不可以有参数的,不可以发生重载 对象在销毁前会自动调用析构函数,而且只会调用一次。在类的非静态成员函数中返回对象本身,可使用return *this,此时函数是引用的方式。因此可以将虚函数改为纯虚函数,当类中有了纯虚函数,这个类也成为抽象类。3.如果函数声明有默认参数,函数实现就不能有默认参数,反之,亦然。先构造父类,再构造子类,析构顺序与构造的顺序相反。

2022-09-14 20:40:47 429

原创 【C++速通笔记】一(基础阶段)

4.字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元。1.#define宏常量: #define 常量名 常星值。2.const修饰的变量:const 数据类型 常量名 = 常量值。通常在变星定义前加关键字const,修饰该变量为常量,不可修改。1.在显示字符型变量时,用单引号将字符括起来,不要用双引号。通常在文件上方定义,表示一个常量。注意格式,么有等号。2.单引号内只能有一个字符,不可以是字符串。3.C和C++中字符型变量只占用1个字节。

2022-09-12 14:21:56 391

原创 AJAX快速入门 |||| JSON在Java中的应用

全称:AJAX(Asynchronous JavaScript And XML):异步的JavaScript和XML。

2022-09-11 15:58:34 198

原创 web服务器的搭建【CentOS7】

要求完成的任务:(1)Web服务器软件的安装(2)虚拟目录配置(3)虚拟主机配置(基于域名的虚拟主机配置、基于IP的虚拟主机配置、基于端口的虚拟主机配置)(4)用户个人站点配置(5)基于主机的授权、基于用户的认证(1)web服务器的安装与测试查看是否安装httpd软件包,若没有安装,则安装2.将httpd服务设为开始自启动,并启动该服务3.查看httpd服务是否启动4.在防火墙开放80端口并查看防火墙80端口是否开放[root@pc1桌面]#fire..

2022-05-23 10:06:15 9107 4

原创 JDBC及API详解、Druid连接池

JDBC概念JDBC就是使用Java语言操作关系型数据库的一套API·全称: Java DataBase ConnectivityJDBC本质官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口 各个数据库厂商去实现这套接口,提供数据库驱动jar包 我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类JDBC好处各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发 可随时替换底层数据库,访问数据库的Java代码基本不变...

2022-05-10 17:34:15 684

原创 实验4:Linux下C语言编程

1.实验目的掌握LinuxC语言开发工具的安装。 掌握VI编辑器的使用 掌握Linux下C语言的编译方法 了解Linux下C语言程序的调试方法2.实验环境(1)一台已经安装好的Window系统的计算机。(2)安装好的CentOS虚拟机。3.实验内容Linux C语言程序的编写、编译与调试4.实验步骤安装Linux下C语言开发工具(yum -y groupinstall “Development tools”)安装vi编辑器的增强版编辑器vim(yum -..

2022-05-08 12:16:17 4412 1

原创 实验6:shell编程

实验目的(1)掌握shell编程的变量、程序控制结构、条件测试等语法。(2)了解shell 脚本的运行方式(3)理解shell脚本中的函数(4)掌握简单shell脚本编写方法实验环境(1)一台已经安装好的Window系统的计算机。(2)安装好的CentOS虚拟机。实验内容编写简单shell脚本实验步骤(1) 认识shell脚本语言业界所说的 shell 通常都是指 shell 脚本,但要知道,shell和shell script 是两个不同的概念。Shell 是一个用 C 语言编写.

2022-05-07 21:20:11 1677

原创 JSP、EL表达式、JSTL标签、MVC模式、三层架构

jsp概念Java Server Pages,Java服务端页面;一种动态的网页技术,其中既可以定义HTML、JS、CSS等静态内容,还可以定义Java代码的动态内容。JSP = HTML + Javajsp原理jsp本质上就是一个servletJSP在被访问时,由JSP容器(Tomcat)将其转换为Java文件(Servlet),在由JSP容器(Tomcat)将其编译,最终对外提供服务的其实就是这个字节码文件jsp脚本<%..%>:内容会直接放到_jspService(

2022-04-22 14:07:15 403

原创 Response设置响应数据、javaweb路径问题

设置响应数据void setStatus(int sc)//设置响应状态码 void setHeader(String name,String value)//设置响应头键值对resp.setContentType("text/html;charset=utf-8"");这个更常用PrinterWriter getWriter()//获取字符输出流//防止乱码response.setContentType("text/html; charset=utf-8");PrintWri..

2022-04-18 20:32:24 331

原创 实验5:进程管理【nyist】

1.实验目的(1)理解进程与程序的区别。(2)了解fork( )系统调用的返回值,掌握调用fork( )创建进程的方法。(3)掌握进程并发执行的原理,理解进程并发执行的特点,区分进程并发执行与串行执行。 (4)能够熟练使用进程管理命令对进程进行管理2.实验环境(1)一台已经安装好的Window系统的计算机。(2)安装好的CentOS虚拟机。3.实验内容(1)使用vi编辑器编写C语言程序,调用fork函数创建进程。编写一段程序,利用系统调用fork( )创建两个进程。当..

2022-04-16 16:46:49 1277

原创 实验3:用户与组管理【nyist】

1.实验目的(1)掌握Linux用户管理的命令。(2)了解磁盘配额的概念(3)掌握磁盘配额的配置方法2.实验环境(1)一台已经安装好的Window系统的计算机。(2)安装好的CentOS虚拟机。3.实验内容用户管理命令和磁盘配额:添加两个用户user1,user2,user3,并为他们设置密码。 添加一个群组,组名为student,并为组设置密码。 将user1,user2,user3用户添加到student组,并指定user1为组管理员。 为虚拟机添加一块SCSI

2022-04-16 00:42:30 2216

原创 Request获取请求参数【get/post通用】、乱码处理、请求转发

Map<String,String[ ]> getParameterMap():获取所有参数Map集合//遍历Map<String, String[]> map = req.getParameterMap(); for (String key : map.keySet()) { System.out.print(key + ":"); // 获取值 String[] values = m..

2022-04-16 00:19:40 4269 1

原创 idea多模块javaweb项目——探索记录

首先建立一个空项目 然后新建模块3.选择Java模块,下一步4.修改模块名称,完成5.可以看到没有这个模块还没有web的相关功能6.右键这个模块,添加框架支持7.勾选这个,确定8. 可以看到有了web的相关文件夹9.src用来写源代码,自己手动创建classes和lib目录,,右键web-inf建好就是这样9.打开项目结构切换到这个页面,修改如图,目录就是刚刚创建的classes目录,点击下边的应用...

2022-03-31 09:36:45 708 1

原创 node.js学习记录——npm下包慢、

从npm官网下载速度会很慢,可以从taobao的镜像服务器来下,该指令修改了npm下载包的默认地址,改成了taobao的镜像服务器。npm config set registry=https://registry.npm.taobao.org/查看是否修改成功更方便的方法//通过npm包管理器,将nrm安装为全局可用的工具npm i nrm -g//查看所有可用的镜像源nrm ls/将下包的镜像源切换为taobao镜像nrm use taobao...

2022-02-27 01:05:48 157

原创 node.js学习——包管理配置文件>dependencies节点,devDependeccies节点

dependencies节点,devDependeccies节点

2022-02-24 13:30:07 624

原创 nodejs学习记录——npm

Node.js 中的第三方模块又叫做包。非常丰富的包共享平台npm,可以从这个里搜索所需要的包 https://www.npmjs.com/在终端通过npm管理工具安装所需要的包

2022-02-22 16:10:24 253

原创 node.js学习记录——模块系统

一个 Node.js 文件就是一个模块。Node.js 中根据模块来源的不同,将模块分为了3大类,分别是:内置模块(内置模块是由Node.js 官方提供的,例如fs、path、http等) 自定义模块(用户创建的每个.js 文件,都是自定义模块) 第三方模块(由第三方开发出来的模块,并非官方提供的内置模块,也不是用户创建的自定义模块,使用前需要先下载)这三种模块都是通过调用require方法加载,加载载模块就会执行里边的代码。require方法返回的是module.exports所指向的对象。

2022-02-22 00:42:53 324 1

原创 node.js学习记录——简单的web服务器

//导入http模块const http = require('http');///导入path模块const path = require('path');//导入fs模块const fs = require('fs');//创建服务器实例const server = http.createServer();//绑定request事件,监听请求server.on('request', function (request, response) { //url从第一个/开始后边的内.

2022-02-19 15:20:27 342

原创 学习笔记之node.js——fs模块、path模块

//导入const fs = require('fs');//读取文件// 路径 解码方式 回调函数||读取错误时||读取正确时fs.readFile('./01.demo.txt', 'utf-8', function (err, dataStr) { //通过判断err是否为null,说明是否读取成功,null转Boolean类型是false if (err) { console.log("读取文件失败:" + err.

2022-02-16 23:10:07 241

原创 学习笔记之JS——split()、replace()、join()

最近用到了split()这个函数,突然感觉很方便string.split(separator,limit)参数1:可选。字符串或正则表达式,从该参数指定的地方分割 string Object。参数2:可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。返回一个字符串数组。举个栗子:把这句英语分解为一个一个的单词,var str="How are you doing today?"

2022-02-16 12:06:27 197

原创 【清理C盘之非常之剪映】

最近觉得C盘内存越来越少,我实在忍不了一项一项看,最后属实是我看不懂但我大受震撼不说了,上图不知道这个json文件有着什么样的作用,但是他真的好大。

2022-02-13 22:41:47 1419

转载 闭包的理解

侵删.「每日一题」JS 中的闭包是什么? - 知乎大名鼎鼎的闭包!这一题终于来了,面试必问。 请用自己的话简述 什么是「闭包」。「闭包」的作用是什么。由于评论里不停有人给出错误的答案,这里先声明: 如果你对闭包的理解里有 return 这个词,那么你的理解就…https://zhuanlan.zhihu.com/p/22486908...

2022-02-12 15:02:00 37

原创 今日学习打卡——jQuery

与$冲突引入其他库与$符号冲突时,可替换为jquery,或自己定义,var xxx = $.noConflict();懒加载技术图片即时加载,不看不加载 ;此时的js引入文件和js调用必须写到DOM元素(图片)最后面EasyLazyload.js 超好用js图片延迟加载超简单图片延迟加载js插件https://www.jq22.com/jquery-info11629全屏插件jQuery全屏滚动插件fullPage.js演示_dowebokhttps://www.dowebok.co

2022-02-10 19:28:20 268

原创 今日学习打卡——jQuery之自动触发事件、事件对象、拷贝对象

自动触发事件三种方式1.$(selector).click()2.$(selector).trigger("click")3.$(selector).triggerHandler(event,param1,param2,...),此种方式不会执行元素的默认行为,比如,focus事件会出现光标,通过这种方式不会出现光标。事件对象1.阻止默认行为:event.preventDefault()或者return false2.阻止冒泡: event.stopPropagation()拷贝

2022-02-08 22:27:21 388

原创 今日学习打卡——jQuery之事件委托的疑惑

今天写案例时,对动态生成的li绑定事件用到了事件委托,但是发现自己对事件委托理解的不是很到位,js代码如下$("ul").on("click", "a", function () { $(this).parent().remove();})这个案例中,li是动态生成的,li里边有一个a标签,通过点击a中的删除,就可以把他的父元素li删掉,我还在纠结怎么找到对应的li,因为我以为$(this)指向的是ul,但是如js代码所示,$(this)指向的是当前的a,然后直接删除他的父元素就行了

2022-02-08 16:37:45 412

原创 今日学习打卡——jQuery之on()的优势

对于单个元素注册事件分开写比较麻烦$("p").click(function(){ $(this).hide();});$("p").mouseenter(function(){ $(this).css("background","blue");});所以可以通过on来一次性注册多个事件$("p").on({ click:function(){ $(this).hide(); }, mouseenter:function(){ $(this).css.

2022-02-06 23:14:25 450

原创 今日学习打卡——jQuery位置

jQuery获取/设置元素位置

2022-02-05 13:56:40 184

原创 今日学习打卡——jQuery之尺寸

日常学习打卡

2022-01-28 20:18:03 73

原创 今日学习打卡

日常学习笔记

2022-01-27 20:46:38 60

原创 C++实现通讯录管理系统

C++实现通讯录管理系统#include<iostream>#include<string>using namespace std;#define MAX 1000//设计联系人结构体struct Contacts { string name; int Sex; int Age; string Phone; string Address;};//设计通讯录结构体struct Addressbook { Contacts personarray[MAX];

2021-03-26 21:36:13 214 1

【crystaldiskmark】安装包最新版本(8.0.4)

非常专业的硬盘测速工具,测试结果一目了然

2022-02-16

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

TA关注的人

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