自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《第一行代码》读书笔记(3)—Activity

Android四大组件——Activity……

2022-08-15 16:36:47 872

原创 《第一行代码》读书笔记(2)—日志工具Log

Android日志工具Log……

2022-08-12 16:29:48 808

原创 《第一行代码》读书笔记(1)—系统架构

Android系统架构……

2022-08-12 14:24:31 1352

原创 SpringBoot——搭建项目

目录一、搭建 SpringBoot 项目第一种方式:官网创建第二种方式:IDEA创建第三种方式:普通 Maven 项目创建二、基于 SpringBoot 项目的 Web 开发说明嵌入式的 Web 服务器默认的 Web 资源文件夹默认的自动扫描默认的配置文件默认的应用上下文路径启动类验证 Web 静态资源常用配置说明一、搭建 SpringBoot 项目第一种方式:官网创建访问 https://start.spring.io/ 创建,如下图所示:点击 GENERATE 生成并下载项目压缩包。下载完成

2022-03-26 16:22:35 1934

原创 Spring——Bean 的生命周期

目录一、Bean 的生命周期二、代码演示三、主要步骤简述一、Bean 的生命周期  对于普通的 Java 对象,new 的时候会去创建对象,而当它没有任何引用的时候则被垃圾回收机制回收。相较于前者,由Spring IoC 容器托管的对象,它们的生命周期完全由容器控制。Spring 中每个 Bean 的生命周期如下:对于 ApplicationContext 容器,当容器启动结束后,实例化所有的 Bean。设置对象属性,即依赖注入,动态将依赖关系注入到对象中。紧接着,Spring 会检测该对象

2022-03-21 17:56:42 11594 1

原创 Spring——Bean 的作用域

目录一、Bean的作用域singletonprototyperequestsessionapplicationwebsocket二、prototype的使用示例一、Bean的作用域Spring 容器在初始化一个 Bean 的实例时,同时会指定该实例的作用域。Spring有6个作用域,最后四种是基于Spring WebMVC生效:singleton官方说明:(Default) Scopes a single bean definition to a single object instance

2022-03-17 23:12:54 1272

原创 Spring——执行流程

目录一、开发步骤准备 Maven 项目及环境准备启动入口类准备 Spring 配置文件二、Spring容器执行流程注册 Bean方式一:类注解方式二:@Bean方式三:@Configuration扩展补充:FactoryBean接口依赖注入第一种方式:属性注入第二种方式:构造方法注入自动注入方法参数注入指定的Bean:@Qualifier一、开发步骤准备 Maven 项目及环境  创建一个Maven项目,名称为 spring-study(自己随便起) ,以下是项目的 maven 配置文件 pom.x

2022-03-08 21:00:48 2897 1

原创 Spring——IoC和DI

目录一、初识Spring为什么要使用Spring什么是SpringSpring框架的核心由哪些模块组成二、Core Container(核心容器)IoC(控制反转)什么是 IoCIoC 的作用IoC 的优点IoC 的缺点DI(依赖注入)什么是DI依赖注入的基本原则依赖注入的优势不同类型的依赖注入实现方式构造器依赖注入和 Setter方法注入的区别顶级接口BeanFactory 和 ApplicationContext 的区别BeanFactory和ApplicationContext的关系详解Applica

2022-03-02 22:25:03 3670

原创 Mac OS下Charles抓包小程序的保姆级操作过程

目录前言工具准备Charles安装及配置开始抓包总结前言对于压力测试工作而言,小程序接口测试工作和其他接口测试工作相似,都需要为测试工作的开展去准备相应接口的信息,其中包含请求接口,入参及请求头信息。本文将演示如何使用Charles工具进行小程序抓包,为后续使用Jmeter工具进行接口压测以及使用Grafana工具可视化接口压测结果做准备。工具准备Charles工具、PC端微信(支持打开微信小程序)Charles安装及配置1、Charles工具安装说明参考(Mac环境);https://ww

2021-09-02 16:57:13 12023

原创 容灾自动化测试工具优化(自动生成yaml容灾用例)

目录一、工具背景二、设计思路三、代码实现执行文件依赖文件依赖文件夹四、使用方法安装使用五、注意事项1. podname-processname.txt 格式2. 注意执行顺序一、工具背景背景:容灾自动化测试工具开箱即用能力优化;需求:自动生成容灾测试用例;实现目标:在k8s的集群模式下,通过自定义的配置文件信息(核心业务pod名称)获取所有要搜索的业务pod、业务节点、管理节点、业务进程。获取到业务pod、业务节点、管理节点、业务进程的配置数据。根据容灾工具配置的18种容灾测试模型自动生成

2021-08-24 10:14:58 791

原创 Mac下Jmeter的入门级操作

目录1. 前言2. Jmeter的下载3. Jmeter的运行4. 一个简单的请求测试4.1 创建线程组4.2 构造HTTP请求4.3 添加HTTP头信息管理4.4 添加断言4.5 添加查看结果树4.6 运行1. 前言压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测试是一个非常重要的步骤,下面带大家来使用一款压力测试工具Jmeter。2. Jmeter的下载

2021-06-17 10:30:57 3275 2

原创 HotSpot虚拟机对象探秘

目录1、对象的创建主要流程2、为对象分配内存3、处理并发安全问题4、对象的访问定位句柄访问直接指针1、对象的创建说到对象的创建,首先来看看 Java 中提供的几种对象创建方式:Header解释使用new关键字调用了构造函数使用Class的newInstance方法调用了构造函数使用Constructor类的newInstance方法调用了构造函数使用clone方法没有调用构造函数使用反序列化没有调用构造函数主要流程①先检查常量池是否已经

2021-04-14 19:18:24 304

原创 聊聊JVM内存模型还是很有必要的!

目录一、Java内存区域JVM 的主要组成部分二、JVM内存模型1、程序计数器为什么执行的是native方法时,为undefinednative方法的多线程是如何实现的2、虚拟机栈垃圾回收是否涉及栈内存?栈内存分配越大越好吗?栈内存溢出(StackOverflowError)3、本地方法栈4、堆堆内存溢出(OOM)堆内存诊断5、方法区运行时常量池一、Java内存区域JVM 的主要组成部分JVM包含两个子系统和两个组件,两个子系统为Class loader(类装载)、Execution engine(

2021-04-06 22:35:10 345 1

原创 父类和子类中各种方法的执行顺序

在草稿箱发现了这篇尘封已久文章,突然就想发了,好兄弟们一定要看到最后嗷…父类public class Fu { static { System.out.println("父类的静态代码块"); } { System.out.println("父类的构造代码块"); } public Fu() { System.out.println("父类的构造方法"); } public static voi

2021-04-05 17:25:59 698 2

原创 必知必会的HTTP协议

2021-03-27 20:37:39 1373 1

原创 函数式接口看完就懂了

目录一、函数式接口概念@FunctionalInterface注解自定义函数式接口二、函数式编程Lambda的延迟执行性能浪费的日志案例Lambda优化日志案例使用Lambda作为参数和返回值三、四大函数式接口Supplier接口一、函数式接口概念函数式接口在Java中是指:有且仅有一个抽象方法的接口。函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是 Lambda,所以函数式接口就是可以适用于Lambda使用的接口。public interface MyFunction

2021-03-23 22:15:03 6264 1

原创 输入一个URL后的历程

当人们从浏览器输入了一个 URL 后,浏览器从浏览器缓存,系统缓存,路由缓存查找缓存记录,查到了直接使用 URL 对应的 IP 地址;如果没有,客户端从 URL 中解析出服务端的主机号;DNS 将主机号转化为 IP 地址,客户端再从 URL 中获取端口号;得到目的主机的 IP 地址和端口号后,调用系统库函数 Socket。请求一个 TCP 流的套接字,客户端向服务端发送 HTTP 请求;应用层:客户端发送 HTTP 请求报文;传输层:加入源端口和目的端口,建立连接。在此之前,客户端和服务端(

2021-03-17 11:00:00 319 4

原创 堆(Heap) 浅析

目录一、概念二、重要操作:向下调整一、概念堆逻辑上是一棵完全二叉树堆物理上是保存在数组中满足任意结点的值都大于其子树中结点的值,叫做大堆,或者大根堆,或者最大堆满足任意结点的值都小于其子树中结点的值,则是小堆,或者小根堆,或者最小堆堆的基本作用是,快速找集合中的最值二、重要操作:向下调整前提:只有需要调整的位置不清楚,但其他位置已经满足堆的性质了。array 代表存储堆的数组size 代表数组中被视为堆数据的个数index 代表要调整位置的下标left 代表 index

2021-02-05 22:18:13 1762 1

原创 二叉树浅析

目录一、什么是二叉树二叉树的所有形态二、满二叉树三、完全二叉树四、二叉树的遍历4.1 树的创建4.2 深度优先搜索算法DFS前 / 中 / 后序遍历(递归实现)前 / 中 / 后序遍历(非递归实现)4.3 广度优先搜索算法BFS层序遍历一、什么是二叉树二叉树是一种特殊的树,那么特殊之处在哪呢:每个结点最多只能有两个子结点(后文中我用孩子来代替子结点)二叉树是有序树(孩子的前后关系才是我们需要注意的)这里我们要知道左图中:B是A的左孩子;右图中:C是A的左孩子。二叉树的所有形态

2021-01-16 21:52:26 341

原创 线程的浅析

目录一、线程1.1 什么是线程1.2 线程的创建继承 Thread 类实现 Runnable 接口实现 Callable 接口使用 Executors 工具类创建线程池1.3 Thread 的常见构造方法1.4 Thread 的几个常见属性1.5 线程的生命周期及状态转换1.6 守护线程和用户线程1.7 线程死锁什么是线程死锁形成死锁的四个必要条件如何避免线程死锁一、线程1.1 什么是线程每个运行的程序都是一个进程,在一个进程中还可以有多个执行单元同时运行。这些执行单元可以看作程序执行的一条条线索

2021-01-05 20:02:59 936

原创 进程的浅析

目录一、进程1.1 程序和进程1.2 特征1.2 时间片1.3 并发与并行1.4 内核态与用户态1.5 三种基本状态1.5 进程中的上下文上下文切换二、进程控制三、进程同步四、进程通信一、进程1.1 程序和进程程序:在硬盘上静态的可执行文件。(可执行的程序代码)进程:一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的xx.exe就是一个进程。进程是系统分配资源(CPU、内存等)的最小单位。1.2 特征动态性进程

2020-12-30 15:04:28 658

原创 MySQL JDBC编程

目录一、JDBC1.1 什么是 JDBC1.2 使用 JDBC 的好处1.3 使用 JDBC 开发使用到的包1.4 JDBC 的核心 API1.5 导入驱动 Jar 包1.6 加载和注册驱动1.7 JDBC操作步骤1.8 JDBC设计上的调用顺序二、DriverManager类2.1 DriverManager 作用2.2 类中的方法2.3 使用 JDBC 连接数据库的四个参数:2.4 连接数据库的 URL 地址格式2.5 案例:得到 MySQL 的数据库连接对象三、Conection接口3.1 Conne

2020-12-26 15:56:36 575

原创 MySQL事务

目录一、事务1.1 概念1.2 使用1.3 面试题什么是数据库事务?事务的四大特性(ACID)什么是脏读?幻读?不可重复读?什么是事务的隔离级别?MySQL的默认隔离级别是什么?一、事务1.1 概念事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败。在不同的环境中,都可以有事务。对应在数据库中,就是数据库事务。1.2 使用开启事务:start transaction;执行多条SQL语句回滚或提交:rollback/commit;说明: rollback即是全

2020-12-23 10:26:19 88

原创 MySQL索引

目录一、索引1.1 索引概述什么是索引?索引有哪些优缺点?索引使用场景索引有哪几种类型?索引的数据结构(b树,Hash)索引设计的原则索引的基本原理索引算法有哪些?1.2 索引使用创建索引的原则创建索引的三种方式创建索引注意事项删除索引1.3 联合索引1.4 聚簇索引1.5 前缀索引最左前缀原则最左匹配原则二、B树/B+树B树的基本概念及性质B+树的基本概念及性质B树和B+树的区别使用B树的好处使用B+树的好处一、索引1.1 索引概述什么是索引?索引是一种特殊的文件(InnoDB数据表上的索引是表

2020-12-22 22:01:07 247

原创 MySQL基本操作(二)

目录1. 数据库约束条件1.1 约束类型1.2 null约束1.3 unique:唯一约束1.4 default:默认值约束1.5 primary key:主键约束1.6 foreign key:外键约束1.7 CHECK约束1.7 三大范式2. 查询2.1 聚合函数分组操作2.2 内连接书写规则1书写规则22.3 外连接书写规则2.4 内连接,外连接区别2.5 自连接书写规则子查询合并查询1. 数据库约束条件1.1 约束类型not null指示某列不能存储null值。unique保证某列的

2020-12-05 15:40:17 214

原创 MySQL基本操作(一)

目录一、数据库操作显示创建使用删除二、数据类型数值类型日期类型字符串类型三、表的操作查看表结构(desc)创建(create)删除(drop/delete)新增(insert)查询(select)排序(order by)修改(update)一、数据库操作显示show databases;创建当创建数据库没有指定字符集和校验规则时,系统使用默认utf8,校验规则时:utf8_general_cicreate database 数据库名;创建一个使用utf8mb4字符集的数据库creat

2020-12-02 21:22:51 316

原创 Maven很有用的哦

目录1、jar 包1.1、概念1.2、使用jar包的优点1.3、直接通过 jar 包使用别人完成类库的缺点2、Maven2.1、maven 是什么2.2、标准Maven项目结构2.3、Maven的常用配置2.4、Maven的作用2.5、Maven项目的标准编译路径2.5、Maven加载依赖包的顺序2.6、配置pom.xml2.7、 maven 的作用1、jar 包1.1、概念jar是 Java ARchive 的缩写,是一种基本 zip 格式的文件格式。目标是将 java 生成的类文件、资源文件、管

2020-11-28 20:47:41 108

原创 队列的浅析

目录一、Queue1、什么是队列(Queue)2、方法3、代码实现4、运行结果二、Deque1、什么是双端队列(Deque)2、方法3、代码实现4、运行结果一、Queue1、什么是队列(Queue)队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。2、方法offer,add 区别:一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就

2020-11-19 17:43:41 286

原创 栈的浅析

目录1、什么是栈2、顺序存储栈的基本操作以及算法实现3、链式存储栈的基本操作以及算法实现4、代码实现5、运行结果1、什么是栈栈(Stack) 实现了一个先进后出 的数据结构。是线性表的一种,限制仅在线性表的一端进行插入和删除操作。允许插入和删除的一端称为栈顶(top),不允许插入和删除的一端称为栈底(bottom)。你可以把栈理解为对象的垂直分布的栈,当你添加一个新元素时,就将新元素放在其他元素的顶部。当你从栈中取元素的时候,就从栈顶取一个元素。换句话说,最后进栈的元素最先被取出。  入

2020-11-19 15:29:08 241

原创 引用和对象

开头也不长篇大论了,说到引用我们先来一个代码分析尝试理解。class Node { int val; Node next;}Node p = new Node();Node q = new Node();在你阅读之际,思考怎么用文字表述下列代码:(1)p = q;不难理解,就是让 p 这个引用指向 q 这个引用目前指向的对象。(2)p.next = q;p 这个引用指向的对象中有一个 next 引用,让 next 引用指向 q 这个引用目前指向的对象。(3)p = q.nex

2020-11-03 19:39:54 348

原创 简易斗地主综合案例

目录1. 思路2. 代码实现1. 思路1> 准备牌:54张牌,存储到一个集合中。 1.特殊牌:大王、小王。 2.其他52张牌:  定义一个数组/集合,存储四种花色:♠、♥ 、♣、♦;  定义一个数组/集合,存储13个序号:2、A、K、Q、J、10、9、8、7、6、5、4、3;  循环嵌套遍历整个数组/集合,组装52张牌(花色+序号)。2> 洗牌 使用集合工具类Collections的方法 作用:会随机打乱集合中元素的顺序。3> 发牌 要求:每人17张牌,剩余3

2020-10-16 00:10:59 313

原创 Java异常,细节就在这里!

目录一、异常的背景初识异常防御式编程二、异常的基本用法捕获异常基本语法代码示例1——不处理异常代码示例2——使用 try catch 后的程序执行过程关于异常的处理方式关于 "调用栈"代码示例3——catch 只能处理对应种类的异常代码示例4—— catch 可以有多个代码示例5——也可以用一个 catch 捕获所有异常(不推荐)代码示例6——finally 表示最后的善后工作代码示例7——使用 try 负责回收资源代码示例8——如果本方法中没有合适的处理异常的方式, 就会沿着调用栈向上传递代码示例9——向

2020-08-07 16:39:11 202

原创 程序员都知道的 String 类,你知道多少?

目录一、String类概述二、String类特点三、String有哪些特性四、使用步骤五、常用方法判断功能的方法获取功能的方法转换功能的方法分割功能的方法六、StringBuffer 和 StringBuilder七、String为什么是不可变的String不可变但不代表引用不可以变通过反射是可以修改所谓的“不可变”对象八、面试问题请解释String、StringBuffer、StringBuilder的区别== 和 equals 的区别是什么?什么是字符串常量池?是否可以继承 String 类?Strin

2020-08-06 18:37:14 911

原创 是时候展现真正的继承、组合、多态、抽象类、接口…了

目录一、 继承1.1 概述继承的定义继承的意义1.2 语法规则1.3 super 和 thissuper 和 this 的含义super 和 this 的用法1.4 重写(Override)概念应用1.5 继承的特点1.6 访问修饰符 public,private,protected以及不写(默认)时1.7 面试问题子类继承了父类的什么?this与super的区别?final 有什么用?重载(Overload)和重写(Override)的区别。二、组合三、多态3.1 概述多态的定义多态的前提3.2 多态的格

2020-08-03 19:49:51 885

原创 类和对象你了解多少?

目录一、面向对象思想1.1 概述1.2 举例1.3 面向对象设计二、类和对象2.1 类的定义2.2 对象的使用三、类的成员3.1 字段/属性/成员变量3.1.1 成员变量的默认值3.1.2 认识 null3.1.3 字段就地初始化3.2 method方法3.3 static 关键字四、封装4.1 概述4.2 封装的步骤4.3 private实现封装4.4 this关键字4.4.1 含义4.4.2 使用格式注意事项4.5 构造方法4.5.1 构造方法的定义格式4.6 JavaBean五、代码块5.1 什么是

2020-07-26 15:33:17 304

原创 逻辑控制其实并不难,只要你认真看完…

目录一、流程控制1.1 概述1.2 顺序结构二、判断语句2.1 if 语句2.2 if 语句和三元运算符的互换三、选择语句3.1 switch 语句3.2 case的穿透性四、循环语句4.1 概述4.2 for循环4.3 while循环4.4 do while循环4.5 循环语句的区别4.6 跳出语句4.6.1 break4.6.2 continue五、扩展知识点5.1 死循环5.2 嵌套循环一、流程控制1.1 概述在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说,程序的

2020-07-25 16:12:59 318

原创 常量、变量、运算符??这分分钟就能理解!

Java中的常量常量就是在程序中固定不变的值,是不能改变的数据。例如数字1、字符’a’、浮点数3.2等。在Java中,常量包括整形常量、浮点数常量、布尔常量、字符常量等。1、整型常量整型常量是整数类型的数据,有二进制、八进制、十进制和十六进制4种表示形式,具体表示形式如下。二进制:由数字0和1组成的数字序列。在JDK7.0种允许使用字面值来表示二进制数,前面要以0b或0B,目的是为了和十进制进行区分。八进制:以0开头并且其后由0~7范围内(包括0和7)的整数组成的数字序列。十进制:由数字0~9

2020-07-18 16:29:34 1101 1

原创 (C代码)简易版扫雷小游戏

目录声明设计思路源代码总结声明本次扫雷小游戏用多文件来编写。首先,要自定义的一个头文件 mine.h,里面有扫雷程序里面所需要的头文件、常量和所有函数的声明。其次,创建主函数 test.c,用自己喜欢的方式构建一个游戏的框架,最后,创建自定义函数 mine.c,编写各项功能。设计思路1、先写主函数,理清整个游戏流程。int main(){ int quit = 0; do{ int select = 0; Menu(); scanf("%d", &select); s

2020-07-15 20:28:25 1023 1

原创 (C代码)简易版三子棋游戏

游戏介绍三子棋是很简单的双人游戏,双方在3X3的棋盘上轮流落子,当一条直线上出现三颗连续且相同的棋子时即获胜。代码实现 chess.h #ifndef _CHESS_H_#define _CHESS_H_#include<stdio.h>#include <stdlib.h>#include <string.h>#include ...

2020-04-21 18:29:50 550

原创 设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类、长方形类、正方形类来继承图形类,并实现上述两个方法。并创建实例验证。

设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类、长方形类、正方形类来继承图形类,并实现上述两个方法。并创建实例验证。Shape类abstract class Shape { public abstract double shapeC(); //周长 public abstract double shapeS(); //面积}Cir...

2020-04-07 18:59:10 5976

空空如也

空空如也

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

TA关注的人

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