- 博客(72)
- 收藏
- 关注
原创 算法|合并两个有序数组
力扣第88题:https://leetcode-cn.com/problems/merge-sorted-array/题目描述:给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你合并 nums2 到 nums1 中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应
2021-11-17 11:16:41
1035
原创 Spring常见问题整理(四)
文章目录参考视频链接:参考视频链接:https://www.bilibili.com/video/BV15Q4y1m78a?p=46
2021-11-16 23:48:41
378
原创 Spring常见问题整理(三)
文章目录参考视频链接:参考视频链接:https://www.bilibili.com/video/BV15Q4y1m78a?p=46
2021-11-16 21:52:23
274
原创 Spring常见问题整理(二)
文章目录Spring Beans什么是Spring beans配置Bean的几种方式Spring实例化bean方式的几种方式Spring框架中的单例bean是线程安全的吗释Spring框架中bean的生命周期Spring是如何解决Bean的循环依赖二级缓存能不能解决循环依赖?Spring有没有解决多例Bean的循环依赖?Spring有没有解决构造函数参数Bean的循环依赖?BeanFactory的作用Bean的创建顺序Spring其他Spring事件监听的核心机制Spring是如何整合MyBatis将Map
2021-11-16 21:17:55
337
原创 Spring常见问题整理(一)
文章目录一、谈谈对Spring的理解二、Spring的优缺点特点:缺点:三、Spring IOC什么是Spring IOC控制反转( IOC )的作用:四、依赖注入(DI)五、 IOC容器的加载过程参考视频链接:一、谈谈对Spring的理解Spring是一个生态,可以构建java应用所需的一切基础设施。通常Spring指的就是 Spring Framework 。 spring 是一个轻量级的开源容器框架,是为了解决企业级应用开发的业务逻辑层和其他各层对象和对象直接的耦合问题。二、Spring的优缺点
2021-11-16 20:53:26
903
原创 Mybatis相关整理(五)
文章目录一、动态SQL二、SQL注入三、sql预编译三、mybatis是如何防止SQL注入的一、动态SQL动态SQL就是根据查询条件动态完成SQL的拼接,使用动态SQL可简化代码的开发,减少开发者的工作量,程序可以自动根据业务参数来决定SQL的组成。if标签:if标签可以自动根据表达式的结果来决定是否将对应的语句添加到SQL中,如果条件不成立则不添加,如果条件成立则添加<resultMap id="memberMap" type="Member"> <id column
2021-11-16 00:29:39
526
原创 Mybatis相关整理(四)
文章目录一、映射文件二、管理映射三、如何防止SQL注入四、运行过程一、映射文件二、管理映射三、如何防止SQL注入四、运行过程
2021-11-15 23:59:59
419
原创 Mybatis相关整理(三)
文章目录一、MyBatis日志配置二、MyBatis缓存三、延迟加载四、Mybatis逆向工程一、MyBatis日志配置MyBatis做为一个封装好的ORM框架,其运行过程我们没办法跟踪,为了让开发者了解MyBatis执行流程及每个执行步骤所完成的工作,MyBatis框架本身支持log4j日志框架,对运行的过程进行跟踪记录。我们只需对MyBatis进行相关的日志配置,就可以看到MyBatis运行过程中的日志信息。添加日志框架依赖<!-- https://mvnrepository.com/
2021-11-15 21:48:38
1042
原创 MyBatis相关整理(二)
文章目录一、单元测试模块二、MyBatis主配置文件三、事务管理四、分页插件PageHelper一、单元测试模块添加单元测试依赖junitjunit4.12创建单元测试类:在被测试类名后alt+insert — 选择Test 或在类名后单击右键进行操作测试代码package com.qfedu.dao;import com.qfedu.pojo.Student;import org.apache.ibatis.io.Resources;import org.apache.ib
2021-11-15 21:24:06
404
原创 MyBatis相关整理(一)
一、MyBatis简介1.什么是框架框架,就是软件的半成品,完成了软件开发过程中的通用操作,程序员只需很少或者不用进行加工就能够实现特定的功能,从而简化开发人员在软件开发中的步骤,提高开发效率。2.常用框架MVC框架:简化了Servlet的开发步骤Struts、Struts2、SpringMVC持久层框架:完成数据库操作的框架apache DBUtils、Hibernate、Spring JPA、MyBatis、EJB3.0胶水框架:SpringSSM(Spring SpringMVC
2021-11-15 20:58:56
1010
原创 接口和抽象类
抽象类1.抽象类和抽象方法必须用abstract关键字修饰2.抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口3.抽象类不能实例化,按多态的方式,由具体的子类实例化。(不能实例化即 Animal a=new Animal 会报错,因为抽象类里没有具体方法的实现,调用它没有意义)4.抽象类的子类要么是抽象类,要么重写抽象类中的所有抽象方法抽象类的成员特点1.成员变量:既可以是变量,也可以是常量。abstract不能修饰成员变量2.构造方法:有,用于子类访问父类数据的初始化3.成员方
2021-11-14 14:19:43
239
原创 Python2和Python3中的编译码
写代码:代码文件存储在硬盘上,pycharm写代码默认是UTF-8形式运行代码:代码会从硬盘加载到内存,如果是Python2默认会以ASCII形式加载进内存(如果有编码声明,则按声明的编码方式加载进内存),如果是Python3会以Unicode形式加载进内存Python2因为Python2会转为ASCII码,所以写中文时要添加格式声明#coding:utf-8a = '你好'print (a)如果声明为GBK格式则会输出???,暂时无法识别为汉字#coding:gb2312a = '.
2021-11-14 12:15:04
646
原创 Zookeeper简述
Zookeeper 是一个分布式协调服务,可用于服务发现,分布式锁,分布式领导选举,配置管理等。Zookeeper 提供了一个类似于 Linux 文件系统的树形结构(可认为是轻量级的内存文件系统,但只适合存少量信息,完全不适合存储大量文件或者大文件),同时提供了对于每个节点的监控通知机制。Zookeeper 角色Zookeeper 集群是一个基于主从复制的高可用集群,每个服务器承担如下三种角色中的一种Leader一个 Zookeeper 集群同一时间只会有一个实际工作的 Leader,它会发起并维
2021-09-05 22:08:58
489
1
原创 日志类型汇总
Slf4jslf4j 的全称是 Simple Loging Facade For Java,即它仅仅是一个为 Java 程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如 JDBC 一样,只是一种规则而已。所以单独的 slf4j 是不能工作的,必须搭配其他具体的日志实现方案,比如 apache 的org.apache.log4j.Logger,jdk 自带的 java.util.logging.Logger 等Log4jLog4j 是 Apache 的一个开源项目,通过使用 Log4j,
2021-09-05 20:47:02
2751
原创 HTTP/HTTPS及CDN 原理
HTTP 是一个无状态的协议。无状态是指客户机(Web 浏览器)和服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后服务器返回响应(response),连接就被关闭了,在服务器端不保留连接的有关信息.HTTP 遵循请求(Request)/应答(Response)模型。客户机(浏览器)向服务器发送请求,服务器处理请求并返回适当的应答。所有 HTTP 连接都被构造成一套请求和应答。传输流程地址解析如用客户端浏览器请求这个页面:http://localhost.com:8080/
2021-09-05 17:34:37
1638
3
原创 Dubbo基础简述
什么是DubboDubbo是一款高性能、轻量级的开源 RPC 框架,提供服务自动注册、自动发现等高效服务治理方案, 可以和 Spring 框架无缝集为什么要用 Dubbo随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA),也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。就这样为分布式系统的服务治理框架就出现了,Dubbo 也就这样产生了。Dubbo
2021-09-05 17:05:24
117
原创 Tomcat部署方式|工作模式|请求过程
Tomcat的部署方式1)直接把Web项目放在webapps下,Tomcat会自动将其部署2)在server.xml文件上配置节点,设置相关的属性即可3)通过Catalina来进行配置:进入到conf\Catalina\localhost文件下,创建一个xml文件,该文件的 名字就是站点的名字。 编写XML的方式来进行设置。Tomcat工作模式Tomcat是一个JSP/Servlet容器,其作为Servlet容器,有三种工作模式:独立的Servlet容器、进程内的Servlet容器和进程外的Ser
2021-09-05 16:27:01
244
原创 计算机网络模型
七层网络模型物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由 1、0 转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的模数转换与数模转换)。这一层的数据叫做比特。数据链路层:主要将从物理层接收的数据进行 MAC 地址(网卡的地址)的封装与解封装。常把这一层的数据叫做帧。在这一层工作的设备是交换机,数据通过交换机来传输。网络层:主要将从下层接收到的数据进行 IP 地址(例 192.168.0.1)的封装与解
2021-09-01 15:56:42
288
原创 加密算法浅述
AES高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,具体的加密流程如下图:RSARSA 加密算法是一种典型的非对称加密算法,它基于大数的因式分解数学难题,它也是应用最广泛的非对称加密算法。非对称加密是通过两个密钥(公钥-私钥)来实现对数据的加密和解密的。公钥用于加密,私钥用于解密。CRC循环冗余校验(Cyclic Redundancy Check,
2021-09-01 15:22:07
264
原创 数据结构简述
栈(stack)栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶(top)。它是后进先出(LIFO)的。对栈的基本操作只有 push(进栈)和 pop(出栈)两种,前者相当于插入,后者相当于删除最后的元素。队列(queue)队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。链表(Link)链表是一种数
2021-09-01 15:09:12
298
原创 设计模式之单例模式
单例模式保证一个类只有一个实例,并且提供一个访问该全局访问点应用场景网站的计数器,一采用单例模式实现,否则难以同步。应用程序的日志应用,一般都是单例模式实现,只有一个实例去操作才好,否则内容不好追加显示。多线程的线程池的设计一般也是采用单例模式,因为线程池要方便对池中的线程进行控制Windows的(任务管理器)就是很典型的单例模式,不能同时打开两个windows的(回收站)也是典型的单例应用。在整个系统运行过程中,回收站只维护一个实例。优点在单例模式中,活动的单例只有一个实例,对单例
2021-08-31 21:12:40
149
原创 设计模式简介
设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。设计模式分类创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式设计
2021-08-31 16:26:09
221
原创 Tomcat缺省端口的查看及修改
找到Tomcat目录打开Tomcat目录下的conf文件夹进入conf文件夹里面找到server.xml文件打开server.xml文件在server.xml文件里面找到下列信息<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> 将port="8080"改成你想要的端口...
2021-08-31 11:42:07
247
原创 常用Git 操作
配置操作全局配置 git config --global user.name 'your name' git config --global user.email 'your Email'当前仓库配置 git config --local user.name 'your name' git config --local user.email 'your Email'查看 global 配置 git config --global --list查看当前仓库配置 gi
2021-08-31 11:23:33
169
原创 JAVA 集合
集合类存放于 Java.util 包中,主要有 3 种:set(集)、list(列表包含 Queue)和 map(映射)。Collection:Collection 是集合 List、Set、Queue 的最基本的接口。Iterator:迭代器,可以通过迭代器遍历集合中的数据Map:是映射表的基础接口ListJava 的 List 是非常常用的数据类型。List 是有序的Collection。Java List 一共三个实现类:分别是 ArrayList、Vector 和 LinkedList
2021-08-27 22:47:27
122
原创 JVM 类加载机制
JVM 类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。加载加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class 对 象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个 Class 文件获取,这里既可以从 ZIP 包中读取(比如从 jar 包和 war 包中读取),也可以在运行时计算生成(动态代理),也可以由其它文件生成(比如将 JSP 文件转换成对应的 Class 类)。验证这一阶段的主要目的
2021-08-27 21:37:18
171
原创 Java中的垃圾回收算法
思维导图确定垃圾的方法引用计数法在 Java 中,引用和对象是有关联的。如果要操作对象则必须用引用进行。因此,很显然一个简单的办法是通过引用计数来判断一个对象是否可以回收。简单说,即一个对象如果没有任何与之关联的引用,即他们的引用计数都不为 0,则说明对象不太可能再被用到,那么这个对象就是可回收对象。可达性分析为了解决引用计数法的循环引用问题,Java 使用了可达性分析的方法。通过一系列的“GC roots”对象作为起点搜索。如果在“GC roots”和一个对象之间没有可达路径,则称该对象是不
2021-08-27 21:10:57
272
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人