- 博客(75)
- 收藏
- 关注
原创 Bean的作用域和生命周期
Bean作用域定义: 指的是 Bean 在 Spring 整个框架中的某种行为模式, 例如单例模式, 就表示 Bean 在整个 Spring 中只有一份.在Spring 官方文档中介绍了 Spring 支持的六个作用域Scopesingletonprototyperequestsessionwebsocket在普通的Spring 项目中只有前两种, 后面的4个是在 Spring MVC 中的状态Bean 的生命周期流程如图:Bean 的生命周期 看起来繁琐, 实际上可以和现实生活中的买房子作类比。
2022-11-19 22:02:33 545 1
原创 更简单的读取和存储对象
在上一篇文章中我们已经介绍在XML文件注册Bean的具体步骤,这一篇文章将会介绍使用更加简洁的方式(使用注解)来存储和读取Bean.这也是最常用的方法.
2022-11-19 21:59:20 456
原创 Spring的创建和使用
不需要使用任何模板, 点击下一步.注:所有的名称都不能包含中文.Maven仓库中的结构:在Spring 的 配置文件 中添加依赖记得点击Maven的刷新按钮(Reload)可以在外部依赖库中查看是否下载成功:在Java代码根目录下创建一个启动类用于启动Spring.创建一个普通类用于存储到Spring中(同样的在Java目录下创建)按照下面的层次创建并不是真正的存储, 而是通过某种方式告诉 Spring 这个对象交给你了. Spring的默认配置文件内容如下:把刚才创建的Bean 对象注册到 S
2022-11-19 21:53:14 518
原创 认识Spring
下面利用两种不同的方式构建Car对象来认识其区别.假如你现在收到一个项目: 客户需要定制化的选择的新车的组件及其配件. 那么对于一个Car对象是由许多组件构成, 这些组件又由更多小组件组成,所以下面的就简化的提供一个依赖关系.传统开发采当需要下层对象时在当前类中 引入该对象 即可, 这样就会衍生出许多问题,先上代码} /*** 汽⻋对象// 依赖⻋身 framework . init();} } /*** ⻋身类// 依赖底盘 bottom . init();} } /**
2022-11-19 21:45:30 422
原创 初识JVM
JVM 是的简称,意为 Java虚拟机。虚拟机是指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统常见的虚拟机:JVM、VMwave、Virtual Box注: JVM 是一台被定制过的现实当中不存在的计算机目前Java官方默认使用的JVM是HotSpot, oracle官方文档一个对象的一生:我是一个普通的 Java 对象,我出生在 Eden 区,在 Eden 区我还看到和我长的很像的小兄弟,我们在 Eden 区中玩了挺长时间。
2022-11-02 16:38:02 327
原创 Linux的基本使用
前面已经把博客前后端分离了,但是使用的IP地址是本地端口,无法在其他主机上访问,要想实现每个主机都能访问,就需要外网IP,这时候就可以使用购买服务器获取外网IP,但是服务器中的操作系统通常都是Linux,所以下面主要介绍如何在Linux上部署项目,首先先了解Linux的基本使用.
2022-11-02 16:36:47 833
原创 博客系统(前后端分离)
前面已经学习如何使用Servlet实现前后端交互,现在就可以使用Servlet把之前的博客系统修改为动态页面1)创建项目2)创建目录3)引入依赖pom.xmlweb.xml2. 数据库设计在创建数据库时要明确要建立几个表,表中有哪些属性.完成这些操作就必须要知道我们操作的实体是什么? 对于博客系统就是博客和用户,对应着blog表和user表1)在数据库中创建对应库和表信息2)把sql代码写入db.sql文件中3. 封装数据库操作在web开发中典型的代码结构:MVC对应的数据库操作就需要创建mode
2022-10-24 15:15:09 1780 3
原创 Servlet的基本用法和示例
.而Servlet就是由Java提供的一组API,它是运行在web服务器如Tomcat,可以响应http协议的请求,通过用户自己的实现逻辑,完成不同的响应,然后把结果返回给客户端(浏览器)总而言之,Servlet把Socket,http协议,多线程并发等技术封装好了,我们不必关心这些,从而降低web app的开发门槛,从而提高开发效率下面就开始创建第一个Servlet项目啦打开idea创建一个Maven项目,和创建Jav
2022-10-24 15:11:37 3377
原创 Tomcat
下载解压后的目录结构下载好的Tomcat是运行在JVM上的,所以使用前要配置好环境变量左下方搜索’查看高级系统设置’,配置好环境变量即可bin目录存放用于启动和暂停Tomcat的脚本.bat是给Windows使用的, .sh是给Linux使用的conf目录存放Tomcat的配置文件面试题: Tomcat的缺省端口是多少,怎么修改?默认8080改端口号方式找到Tomcat目录下的conf文件夹进入conf文件夹里面找到server.xml文件打开server.xml文件。
2022-10-10 16:03:10 400
原创 网络原理之HTTP
HTTP的请求/响应都是由首行+header+空行+body组成.思考问题:为什么以空行作为header的结束标志http在传输层依赖的是TCP协议,而TCP协议是面向字节流的,所以要明确包与包之间的界限,否则会出现"粘包"问题HTTPS工作中涉及到的密钥有三组利用非对称加密检查证书是否被篡改服务器持有私钥:在证书注册时获得私钥客户端持有公钥: 由操作系统提供可信任的CA认证机构,特殊持有其对应的私钥。
2022-10-10 16:01:24 991
原创 网络原理之TCPIP_2
(2)如果在主机A的ARP缓存表中没有成功匹配,那么主机A会把包含主机B的IP地址的ARP请求(包含主机A的IP地址和mac地址)广播到局域网上所有的主机,并接受返回信息,这些接受到广播的主机检查当前IP地址是否和自己的匹配,如果不匹配,则会丢弃ARP请求,如果匹配,则主机B会把主机A的IP地址和mac地址保存到本地ARP缓存表中.8位生存时间(Time To Live,TTL): 数据报到达目的地的最大报文跳数.一般是64。每次经过一个路由,TTL -= 1,一直减到0还没到达,那么就丢弃了。
2022-08-24 20:27:16 1041
原创 网络原理之TCP_IP_1
本文主要讲述传输层的两大重要传输层协议TCP和UDP从图中可以看出UDP由首部字段和数据字段构成,数据字段是需要传输的数据.首部字段由源端口号,目的端口,UDP长度,检验和组成,每个字段的大小为2字节.伪首部作用:伪首部不是真正的首部,只是在计算校验和时在UDP前面添加12字节的字段,是一个临时数据,所以它既不向上传输,也不向下传输.UDP的校验方法:在网络质量情况不好的情况下,UDP协议数据包丢失会比较严重,应该避免使用.然而由于UDP的特性:它不属于连接线协议,因此具有资源消耗小,处理速度快的优点,所以
2022-08-21 02:15:00 187
原创 多线程(进阶) - 2.5w字总结
CAS: 全称为Compare and swap, 即比较并交换,它是由CPU提供的一个特殊指令(原子的)一个完整的CAS操作为:假设内存中的原数据为V,旧数据为A,新数据为B比较- 比较V和A是否相等(检查是否在此之前有没有被其他线程修改过)交换- 如果相等,则把B写入V返回操作是否成功下面的代码并不是原子的,而是方便大家理解CAS的运行流程/*** address 内存地址* expectValue 存放在寄存器A中的比较值A* swapValue 存放在寄存器B中用于交换的值B。......
2022-08-04 20:38:51 1209
原创 多线程(基础) - 4万字总结
线程(Thread),概念什么是线程线程的作用进程和线程的区别和联系 创建线程 创建线程多线程的优势Thread 类介绍构造方法常见属性启动线程中断线程等待线程常见静态方法 获取当前线程引用休眠当前线程 线程的状态线程的六种状态线程状态的转移多线程带来的风险 - 线程安全为什么要有内存模型 观察线程不安全 synchronized 关键字volatile 关键字7. wait 和 notify 多线程案例...
2022-07-31 17:26:00 529
原创 【数据结构】链表必刷题 (2)
文章目录链表中环的入口结点链表中环的入口结点OJ链接给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。
2022-05-06 23:08:33 208
原创 【数据结构】链表必刷题(1)
文章目录反转链表移除链表元素链表的中间节点链表的倒数第k个节点删除链表的倒数第N个节点合并两个有序链表回文链表反转链表题目链接 OJ链接题目描述:给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。数据范围: 0 ≤ n ≤ 1000要求:空间复杂度 O(1) ,时间复杂度 O(n) 。思路1:用一个数组存储结点数据,然后遍历数组,创建一个头节点,用尾插的思路连接成表,但是这种方法的空间复杂度为O(N)
2022-05-03 15:06:32 966 2
原创 【数据结构】LinkedList和链表
文章目录链表链表概念链表结构链表的模拟实现LinkedList结构使用遍历ArrayList与LinkedList的区别链表在上一篇文章我们已经熟悉ArrayList,它的底层是一个顺序表,是一个连续的空间,所以在头插,删除,插入元素时,会出现把一部分元素整体移动的情况,因为时间复杂度O(N),所以效率比较低,因此ArrayList不适合任意位置插入和删除元素操作频繁的场景。因此,Java集合引用了LinkedList。链表概念链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺
2022-05-01 15:43:23 309
原创 【数据结构】时间复杂度和空间复杂度
文章目录算法效率时间复杂度概念大O的渐进表示法常见时间复杂度计算举例空间复杂度算法效率算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称作空间复杂度。 时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间, 在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。时间复杂度概念时
2022-04-22 20:04:26 331
原创 【JavaSE】异常
文章目录异常的概念异常的体系结构异常的分类异常处理防御式编程异常的抛出异常的捕获throwstry-catch捕获并处理finally异常的处理流程自定义异常类异常的概念在Java中,把程序程序执行过程中发生的不正常行为称为异常;下面列举了几个常见异常:算术异常 System.out.println(10 / 0);//执行结果Exception in thread "main" java.lang.ArithmeticException: / by zero数组越界异常
2022-04-16 18:20:04 465
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人