自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 sql查询语句大全-详细讲解(格式、示例)

sql查询语句大全,包含内容:范围查询、聚合查询、多表查询、子查询、聚合函数、其他常用函数 等

2023-07-28 16:45:11 13894

原创 Android事件分发机制【最新、最全、最易懂、由浅入深】

Android事件分发流程 = Activity -> ViewGroup -> View即:1个点击事件发生后,事件先传到Activity、再传到ViewGroup、最终再传到ViewActivity对点击事件的分发机制ViewGroup对点击事件的分发机制View对点击事件的分发机制Activity事件分发机制、ViewGroup事件分发机制、View事件分发机制当一个点击事件发生时,从Activity的事件分发开始(),流程总结如下:三者介绍。

2024-03-18 17:39:00 1197

原创 【安卓基础6】数据存储

一、共享参数SharedPreferences、共享参数的使用场景、特点、共享参数的用法、二、数据库SQLite、SQLite基本语法、数据库帮助器SQLiteOpenHelper、创建数据库帮助器类、使用数据库帮助器获取数据库实例、数据库版本管理、数据库管理器SQLiteDatabase、获取SQLiteDatabase实例、执行SQL语句、插入数据、查询数据、更新数据、删除数据、事务处理、关闭数据库连接、操作数据库方式-总结、三、存储卡的文件操作、外部存储控件、在存储卡上读写图片文件、四、应用组件App

2024-02-26 10:42:44 989

原创 【安卓基础5】中级控件

一、图形定制、图形Drawable、形状图形Shape、以下是一些关键属性、案例示范、九宫格图片(.9.png)、状态列表图形、状态类型的取值说明、案例示范、selector中嵌套Shape、二、选择按钮、复选框CheckBox、开关按钮Switch、单选按钮Radio Button、三、文本输入和监听、编辑框EditText、焦点变更监听器、文本变化监听器、四、对话框、提醒对话框AlertDialog、日期对话框DatePickerDiaglog、时间对话框TimePickerDialog

2024-02-22 16:30:25 1144

原创 【安卓基础4】Activity(二)

一、Activity四大启动模式、任务栈、默认启动模式 Standard、栈顶复用模式 SingleTop、栈内复用模式 SingleTask、单实例模式 SingleInstance、组合示例、启动模式的一般使用场景、启动模式设置方法、1.清单文件Manifest、2.动态设置、二、在活动之间传递消息、Intent、Intent是什么?、Intent的组成部分、显示Intent、隐式Intent、启动内部Activity、主要特征:、用法示例:、向下一个Activity传递数据、putExtra()传字符

2024-02-21 14:39:35 1188

原创 【安卓基础3】Activity(一)

一、Activity入门、Activity的创建、1.在layout目录下创建XML文件、2.创建与XML文件对应的Java代码、3.在AndroidManifest.xml中注册页面配置、Activity的跳转、Activity快捷创建、二、Activity的基本用法、在Activity中使用Toast、三、Activity的启动和结束、四、Activity的生命周期、分析Activity生命周期、将上文的细节提炼、状态之间的切换过程、Activity A 启动一个透明的 Activity B、异常情况下

2024-02-21 14:19:27 1309

原创 【安卓基础2】简单控件

Android基础学习,文本显示、视图基础、常用布局、按钮触控等

2024-02-20 16:45:44 1028

原创 【安卓基础1】初识Android

Android学习入门,创建HelloWorld程序,分析,详解项目目录资源,详解Gradle,日志等

2024-02-20 16:07:41 1205

原创 java 代理模式(静态代理、动态代理、JDK动态代理、CGLIB动态代理)详解

我们使用代理对象来代替对真实对象(real object)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。是:扩展目标对象的功能,比如说在目标对象的某个方法执行前后你可以增加一些自定义的操作。1.VPN:当我们访问国外网站的时候,往往需要VPN, 他可以帮助我们去访问一些国内不能访问的网站,也就是说他代理了这个访问过程,把结果返回给了我们。这就是代理模式。2.SpringAOP功能的实现代理模式有静态代理和动态代理两种实现方式。

2023-11-09 11:06:39 531

原创 常用设计模式-详解

开闭原则:对扩展开放,对修改关闭单一职责原则:一个类只负责一个功能领域中的相应职责里氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象依赖倒置原则:依赖于抽象,不能依赖于具体实现,接口隔离原则:类之间的依赖关系应该建立在最小的接口上合成/聚合 复用原则:尽量使用 合成/聚合,而不是通过 继承 达到复用的目的迪米特法则(最少知识原则):一个软件实体应当尽可能少的与其他实体发生相互作用。

2023-11-07 11:22:55 285

原创 软件测试学习(五)

●没有足够的时间。在任何一个项目中,通常是软件功能太多,而代码编写人员和软件测试人员太少,而且进度中没有留出足够的空间来完成项目。假如你正在制作税务处理程序,4月15日 (赶在应付税务检查之前,译者注)是不可更改的交付期限必须按时完成软件。●不算真正的软件缺陷。也许有人会说:“ 这不算软件缺陷,而是一项功能。”很多情况下,理解错误、测试错误或者说明书变更会把可能的软件缺陷当做功能来对待。●修复的风险太大。遗憾的是,这些情形很常见。

2023-10-13 19:06:35 1030 2

原创 软件测试学习(四)自动测试和测试工具、缺陷轰炸、外包测试、计划测试工作、编写和跟踪测试用例

让项目小组中的全部成员在高级质量和可靠性目标上达成一致是一件困难的事情。不幸的是,这只是软件项目中需要定义的用词和术语的开始。回顾第1章“软件测试的背景”中关于软件缺陷的定义:1)软件未实现产品说明书要求的功能。2)软件出现了产品说明书指明不应该出现的错误。3)软件实现了产品说明书未提到的功能。4)软件未实现产品说明书虽未明确提及但应该实现的目标。能确认小组全部成员知道、理解一更重要的是 : 同意该定义吗?项目经理知道软件测试员的目标吗?如果不是这样,测试计划的过程就是保证他们要理解和同意。

2023-10-13 10:10:50 1035

原创 软件测试学习(三)易用性测试、测试文档、软件安全性测试、网站测试

易用性(Usability)是交互的适应性、功能性和有效性的集中体现。用户界面测试用于与软件程序交互的方式称为用户界面或UI。所有软件都有某种UI,纯粹主义者可能会说这不对,像汽车中控制发动机空燃比的软件就没有用户界面。事实上,它只是没有传统的UI,但是施加力量、拉动风门并从排气管听到劈啪的响声就是真正的用户界面。

2023-10-12 19:41:37 611

原创 软件测试学习(二)静态白盒测试、动态白盒测试、配置测试、兼容性测试、外国语言测试

静态是指不启动,白盒是指看内部代码。静态白盒测试是在不执行软件的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程,有时称为结构化分析。进行静态白盒测试的首要原因是尽早发现软件缺陷,以找出动态黑盒测试难以发现或隔离的软件缺陷。在开发过程初期让测试小组集中精力进行软件设计的审查非常有价值。进行静态白盒测试的另外一个好处是,为黑盒测试员在接受软件进行测试时设计和应用测试用例提供思路。他们可能不必了解代码的细节,但是通过听审查评论,可以确定有问题或者容易产生软件缺陷的特性范围。

2023-10-12 11:18:47 793

原创 软件测试学习(一)基础概念、实质、说明书测试、分类、动态黑盒测试

软件无处不在。然而,软件是人写的一所以不完美。世界上有完美的软件吗?NO世界上没有完美的软件。所有软件都可能存在缺陷、错误或漏洞,无论是操作系统、应用程序、游戏还是其他类型的软件。这些问题可能会导致功能问题、性能下降、安全漏洞或崩溃。软件通常是由人类编写的,而人类是不完美的,因此软件也会反映出这种不完美性。即使经过严格的测试和质量控制,软件也可能在某些情况下出现问题。因此,软件的开发者通常会持续改进和更新软件,以修复问题、增加新功能和提高性能。

2023-10-11 19:51:12 523 1

原创 JVM面试题-类加载顺序、双亲委派、类初始化顺序(详解)

因加载某个类时,优先使用父类加载器加载需要使用的类。如果我们自定义了java.lang.String这个类, 加载该自定义的String类,该自定义String类使用的加载器是AppClassLoader,根据优先使用父类加载器原理,一直往上走,最后在启动类加载器中加载了String类。所以,用户自定义的java.lang.String不被加载,也就是不会被使用。

2023-09-19 23:47:40 156

原创 JVM面试题-JVM对象的创建过程、内存分配、内存布局、访问定位等问题详解

如果没有,那必须先执行相应的类加载过程。内存分配完成后,虚拟机需要将分配到的内存空间都初始化为零值(不包括对象头),这一步操作保证了对象的实例字段在 Java 代码中可以不赋初始值就直接使用,程序能访问到这些字段的数据类型所对应的零值。而 Java 堆内存是否规整,取决于 GC 收集器的算法是"标记-清除",还是"标记-整理"(也称作"标记-压缩"),值得注意的是,复制算法内存也是规整的。在上面工作都完成之后,从虚拟机的视角来看,一个新的对象已经产生了,但从 Java 程序的视角来看,对象创建才刚开始,

2023-09-19 09:05:52 303

原创 JVM面试题-JVM内存结构解析(图文详解)

线程共享区域:方法区、堆、直接内存线程隔离区域:虚拟机栈、本地方法栈、程序计数器线程共享:定义一个变量或者一个方法,多线程都可以同时访问、修改这个方法或者变量线程隔离:就是数据不能被多个线程同时访问,某些数据只属于一个线程。

2023-09-19 08:43:08 83

原创 登录认证方式汇总,例如ThreadLocal+拦截器+Redis、JWT

1.创建拦截器类创建一个DemoInterceptor类实现HandlerInterceptor接口。重写preHandle(),postHandle(),afterCompletion() 三个方法,如下代码,我们就创建了一个Spring的拦截器。

2023-09-13 14:54:28 694

原创 SpringBoot整合Redis 并 展示使用方法

在SpringBoot的yaml配置文件中引入,如果你用的是properties格式,那么去转换一下就行了,把yaml转换成properties。这里用的是junit测试,是常用的测试工具,没有导入的小伙伴导入一下,网上搜一下很简单。上面的配置类中就构造好了。不写版本号,也是可以的。

2023-09-10 15:44:51 179 2

原创 Redis数据库安装、使用、数据类型、常用命令(详解)

Redis:是用C语言开发的Key-Value类型的NoSQL数据库,整个数据库加载在内存当中操作,定期通过异步操作把数据库中的数据flush到硬盘.上进行保存。NoSQL数据库:就是除去Mysql这种关系型数据库之外的数据库的通常。redis存的全是字符串在Redis中,数据存储的时候是以字符串形式存储的,而不会区分数据是数字还是字符串。Redis是一个无模式数据库,它将所有数据都视为二进制字符串。这意味着 Redis 存储的任何内容都是字符串,而 Redis 本身不会对数据类型进行检查。

2023-09-10 15:35:46 119

原创 【Spring面试】Spring事务(图文详解)

一个事务包含两个及两个以上的步骤Spring是没法提供事务的,Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。真正的数据库层的事务提交和回滚是通过binlog或者redo log实现的。

2023-09-09 11:09:37 295 1

原创 【Spring面试题】AOP相关面试题:概念?使用场景?如何使用?核心?

AOP是面向切面,面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。对多个对象封装成一个模块叫,然后某个方法为。通俗的讲:就是在一些代码中做重复操作的时候,我们为了实现代码的复用性,统一去处理这些工作,让后让我们得操作自然的嵌入(用自定义注解)到指定方法的指定位置。利用AOP可以对业务逻辑 的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高 了开发的效率。

2023-09-06 15:22:28 351

原创 集成图片验证码Kaptcha-完成登录验证功能

展示的是用SpringBoot集成Kaptcha,当然用其他框架也是一样的。并且实现集成到登录功能中去,图片验证码的样式可以根据配置表去修改

2023-09-05 10:16:43 98

原创 会话管理:Cookie和Session

HTTP是一种无状态协议,每次客户端访问web页面时,客户端打开一个单独的浏览器窗口连接到web服务器,由于服务器不会自动保存之前客户端请求的相关信息,所有无法识别一个HTTP请求是否为第一次访问。这就引进了web客户端和服务器端之间的会话,这就是会话管理。Cookie是HTTP协议里面的,Session是JavaEE的标准。

2023-09-04 17:47:01 70

原创 SpringBoot实现发送邮件功能

SpringBoot发送邮件在项目中经常会被用到,比如邮件发送通知,比如通过邮件注册,认证,找回密码,系统报警通知,报表信息等。提供发送文本邮件、HTML邮件的方法。

2023-09-04 09:37:24 648 2

原创 【Spring面试题】IOC控制反转和DI依赖注入(详解)

婚介管理了很多男男女女的资料,我可以向婚介提出一个列表,告诉它我想找个什么样的女朋友,比如长得像李嘉欣,身材像林熙雷,唱歌像周杰伦,速度像卡洛斯,技术像齐达内之类的,然后婚介就会按照我们的要求,提供一个mm,我们只需要去和她谈恋爱、结婚就行了。Spring所倡导的开发方式就是如此,所有的类都会在spring容器中登记,告诉spring你是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。,想办法认识她们,投其所好送其所要,然后嘿嘿。

2023-09-02 23:21:00 221

原创 【java基础面试题】jdk、jre、jvm区别

​ JDK(Java Development Kit),它是功能齐全的 Java SDK,是提供给开发者使用的,能够创建和编译 Java 程序。他包含了 JRE,同时还包含了编译 java 源码的编译器 javac 以及一些其他工具比如 javadoc(文档注释工具)、jdb(调试器)、jconsole(基于 JMX 的可视化监控⼯具)、javap(反编译工具)等等。JVM是JAVA虚拟机,是JRE的一部分,对于JAVA类的操作基本上都是在JVM上完成的。【java基础面试题】jdk、jre、jvm区别。

2023-08-30 16:51:48 438 1

原创 一文看懂java集合(图文详细)

一、Collection 接口的接口 对象的集合(单列集合)List 接口:元素按进入先后有序保存,有序,可重复LinkedList 接口实现类, 链表, 插入删除, 没有同步, 线程不安全ArrayList 接口实现类, 数组, 随机访问, 没有同步, 线程不安全Vector 接口实现类 数组, 同步,线程安全Set 接口: 仅接收一次,无序,不可重复,并做内部排序HashSet 使用hash表(数组)存储元素LinkedHashSet 链表维护元素的插入次序。

2023-08-29 15:12:50 1057 1

原创 数据库优化:读写分离,并在SpringBoot项目中代码实现

数据库优化,读写分离,MySQL支持的两主架构通常指的是主从复制(Master-Slave Replication)和主主复制(Master-Master Replication),它们都是用来实现数据库的数据备份、负载均衡和高可用性的方案。

2023-08-25 17:00:40 163 1

原创 Git提交项目到码云或者GitHub(小白也能看懂,图文详解)

先注册一个gitee账号先在本地随便一个地方执行:(前提是你安装好了git)配置全局用户名和邮箱例如我的就是生成sshkey在本地仓库中 git bash Here执行完毕上面命令之后,一路按回车,如果你是第二次,会问你是否覆盖,输入y回车即可查看公钥的内容,复制下来,保存好从ssh-rsa 开始复制到结尾,这个就是你的公钥。也可以去下面路径找:c盘》用户》康有为》.ssh,有公钥和私钥,复制公钥。

2023-08-25 16:29:18 114

原创 纯手写Tomcat,看不懂你来揍我【附源码、图文详解】

纯手写Tomcat,实现了基本功能。图文详细讲解,源码在文章末尾。

2023-08-23 11:44:05 147 1

原创 剑指 Offer 从上到下打印二叉树 ⅠⅡⅢ 详细讲解

java代码,详细讲解关于层序遍历的三道题

2023-08-16 10:33:02 53

原创 【LeetCode-中等】剑指 Offer 31. 栈的压入、弹出序列(详解)

【LeetCode-中等】剑指 Offer 31. 栈的压入、弹出序列(详解)java版

2023-08-12 16:24:13 346

原创 【LeetCode-简单】剑指 Offer 29. 顺时针打印矩阵(详解)

剑指 Offer 29. 顺时针打印矩阵 java版,与54. 螺旋矩阵 相同

2023-08-11 10:10:52 794

原创 【剑指offer】栈与队列4题 全刷(详解)

剑指 Offer 09. 用两个栈实现队列、剑指 Offer 30. 包含min函数的栈、剑指 Offer 59 - I. 滑动窗口的最大值、剑指 Offer 59 - II. 队列的最大值

2023-08-10 12:10:56 91

原创 【剑指offer】双指针7题 全刷(详解)

18. 删除链表的节点、22. 链表中倒数第k个节点、25合并两个排序的链表、52两个链表的第一个公共节点、21调整数组顺序使奇数位于偶数前面、57和为s的两个数字、58翻转单词顺序

2023-08-05 11:57:02 137

原创 【LeetCode-中等】剑指 Offer 35. 复杂链表的复制(详解)

剑指 Offer 35. 复杂链表的复制(详解、同题:138. 复制带随机指针的链表。)三种思路解题

2023-08-03 16:12:18 248

原创 java线程中的常见方法(详解)

java多线程与高并发(三):java线程中的常见方法

2023-07-27 17:12:19 349

原创 【LeetCode-简单】剑指 Offer 24. 反转链表(详解)

【LeetCode-简单】剑指 Offer 24. 反转链表(详解)

2023-07-27 11:07:27 156

空空如也

空空如也

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

TA关注的人

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