自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 约束+数据库技术+事务

在SQL(Structured Query Language,结构化查询语言)中,多表查询可以通过多种方式实现,包括JOIN(连接)、UNION(合并结果集)、子查询等。如果两个表中的行在指定的连接键上有相同的值,这些行就会被组合在一起返回。隐式外连接虽然在某些情况下仍然可以使用,但它们的使用应该尽量避免,特别是在复杂的查询中。子查询也可以是相关子查询(correlated subquery),即子查询中的条件依赖于外部查询的行。:左连接,返回左表(表A)的所有行,即使在右表(表B)中没有匹配的行。

2024-03-08 19:33:26 1467

原创 设计模式&动态代理

一个问题通常有n种解法,其中肯定有一种解法是最优的,这个最优的解法被人总结出来了,称之为。

2024-04-30 07:57:40 839

原创 12 Junit单元测试、反射、注解

Junit单元测试是做什么的?就是针对最小的功能单元(方法),编写测试代码对其进行正确性测试。Junit单元测试框架可以用来对方法进行测试,它是由Junit公司开源出来的Junit单元测试的优点是什么?可以灵活的编写测试代码,可以针对某个方法执行测试,也支持一键完成对全部方法的自动化测试,且各自独立。不需要程序员去分析测试的结果,会自动生成测试报告出来。JUnit可以选择执行哪些测试方法,可以一键执行全部测试方法的测试。JUnit可以生测试报告,如果测试良好则是绿色;如果测试失败,则是红色。

2024-04-29 18:24:11 1237

原创 11 网络编程(通信)

什么是网络通信?可以让设备中的程序与网络上其他设备中的程序进行数据交互(实现网络通信的)比如:微信聊天、LOL游戏、京东、淘宝网站的访问基本的通信架构基本的通信架构有2种形式:CS架构( Client客户端/Server服务端 ) 、 BS架构(Browser浏览器/Server服务端)无论是CS架构,还是BS架构的软件都必须依赖网络通信!1、IP地址是做什么的,具体有几种定位网络上的设备的,有IPv4 , IPv62、公网ip和内网ip的区别是什么?

2024-04-27 08:00:00 700

原创 10 多线程(安全 同步 线程池)

同步代码块同步方法lock语法synchronized 方法(){ }加锁方式自动加锁、释放锁自动加锁、释放锁手动加锁、释放锁锁粒度代码行方法代码行Executors工具类底层是基于什么方式实现的线程池对象?线程池ExecutorService的实现类:ThreadPoolExecutorExecutors是否适合做大型互联网场景的线程池方案?不合适。建议使用ThreadPoolExecutor来指定线程池参数,这样可以明确线程池的运行规则,规避资源耗尽的风险。

2024-04-26 09:01:41 920 1

原创 09 配置文件&日志&多线程

就是限制XML文件只能按照某种格式进行书写。约束文档分为: DTD Schema文档什么是日志?用来记录程序运行过程中的信息,并可以进行永久存储。输出语句的弊端日志会展示在控制台不能更方便的将日志记录到其他的位置(文件,数据库)想取消日志,需要修改源代码才可以完成日志级别指的是日志信息的类型,日志都会分级别,常见的日志级别如下(优先级依次升高日志级别说明trace追踪,指明程序运行轨迹debug调试,实际应用中一般将其作为最低级别,而 trace 则很少使用info。

2024-04-25 09:40:15 654

原创 网络编程三要素

IP地址和端口号共同确定了网络通信的目的地,即数据应该发送到哪个设备上的哪个服务。协议则规定了数据的传输方式,确保数据能够正确、高效地在网络中流动。在Java网络编程中,这些要素通常通过套接字(Socket)来实现。套接字是网络通信的端点,它将IP地址和端口号结合起来,并根据所使用的协议(TCP或UDP)提供不同的编程接口。通过套接字,Java程序可以与网络中的其他程序进行通信,实现数据的发送和接收。

2024-04-25 09:36:02 923

原创 08 IO-字符流&其它流

字节缓冲流有几种?字节缓冲输入流:BufferedInputStream字节缓冲输出流:BufferedOutputStream字节缓冲流为什么提高了字节流读写数据的性能?字节缓冲流自带8KB缓冲区可以提高原始字节流、字符流读写数据的性能功能上并无很大变化,性能提升了。字符缓冲流有几种,好处是什么?字符缓冲流自带8K缓冲区,可以提高原始字符流读写数据的性能两种字符缓冲流新增了哪些方法?BufferedReader,多了readLine()按照行读取的功能。

2024-04-23 09:23:29 941

原创 ConcurrentHashMap

是 Java 中的一个线程安全的哈希表,它允许多个线程同时读写而不需要额外的同步开销。它通过使用分段锁(segment locks)来实现对哈希表的并发访问,从而提高了并发性能。

2024-04-22 17:51:19 366

原创 认识线程池

在Java中,线程池是一种执行器(Executor),用于在一个后台线程中执行任务。线程池的主要目的是减少在创建和销毁线程时所产生的性能开销。通过重用已经创建的线程来执行新的任务,线程池提高了程序的响应速度,并且提供了更好的系统资源管理。

2024-04-22 11:19:31 406

原创 07 文件-IO流&字节流

美国信息交换标准代码,包括了英文、符号等。标准ASCII使用1个字节存储一个字符,首尾是0,总共可表示128个字符,对美国佬来说完全够用。常见字符集有哪些?各自存储数据的特点是什么?ASCII字符集:只有英文、数字、符号等,占1个字节。GBK字符集:汉字占2个字节,英文、数字占1个字节。UTF-8字符集:汉字占3个字节,英文、数字占1个字节。字节输入流以内存为基准,来自磁盘文件/网络中的数据以字节的形式读入到内存中去的流字节输出流。

2024-04-22 10:22:32 741

原创 synchronized和lock的区别

和Lock都可以用于线程同步,但它们在用法和功能上有所不同。是一种内置锁,使用简单,但功能有限。Lock是一个显示锁,提供了更多的控制和灵活性,适用于需要高级同步功能的场景。在实际编程中,根据具体需求选择合适的同步机制是非常重要的。

2024-04-21 11:26:59 636 2

原创 06 Map&Stream&递归

Map集合称为双列集合,一次需要存一对数据做为一个元素, 格式:{key1=value1 , key2=value2 , key3=value3 , …}Map集合的每个元素分为两部分:key和value,key称为键,value称为值,整体叫键值对,因此Map也叫“键值对集合”Map集合的所有键是不允许重复的,但值可以重复,键和值是一一对应的,每一个键只能找到自己对应的值Map集合是什么, 使用场景?Map集合是键值对集合Map集合非常适合做类购物车这样的业务场景。特点。

2024-04-21 09:13:34 905

原创 final finally finalize的区别

在 Java 中,finalfinally和finalize这三个关键字虽然名称相似,但它们的作用和用途是完全不同的。

2024-04-18 16:17:49 162

原创 05集合-Collection&List&Set

如果希望元素可以重复,又有索引,索引查询要快?用ArrayList集合, 基于数组的。(用的最多)如果希望元素可以重复,又有索引,增删首尾操作快?用LinkedList集合, 基于链表的。如果希望增删改查都快,但是元素不重复、无序、无索引。用HashSet集合,于哈希表的。如果希望增删改查都快,但是元素不重复、有序、无索引。用LinkedHashSet集合, 于哈希表和双链表。如果要对对象进行排序。用TreeSet集合, 基于红黑树。后续也可以用List集合实现排序。数组的特点。

2024-04-18 15:19:39 975

原创 04异常&Lambda&算法&正则

运行时异常自定义异常定义一个异常类继承RuntimeException定义一个异常类继承Exception重写构造器重写构造器通过throw new 异常类(xxx)来创建异常对象并抛出通过throw new 异常类(xxx)来创建异常对象并抛出编译阶段不报错,提醒不强烈,运行时才可能出现!!编译阶段就报错,提醒更加强烈!!运行时异常的特点编译时异常的特点运行时异常:继承自RuntimeException的异常或者其子类编译时异常:继承自Exception的异常或者其子类。

2024-04-13 22:39:33 1272

原创 03 常用API&时间&Arrays

设置Comparator接口对应的比较器对象,来定制比较规则左边对象大于右边对象,返回正整数;左边对象小于右边对象,返回负整数;两边对象相等,返回0 这样就可以得到升序。

2024-04-12 08:05:17 869

原创 02 内部类、泛型、常用API

匿名内部类的作用?方便创建子类对象,最终目的为了简化代码编写。匿名内部类的格式?a. run();匿名内部类的特点?匿名内部类是一个没有名字的内部类,同时也代表一个对象。匿名内部类的对象类型,相当于是当前new的那个类型的子类类型。StringBuilder是一个可变的字符串的操作类,我们可以把它看成是一个对象容器。使用StringBuilder的核心作用:操作字符串的性能比String要更高(如拼接、修改等)。

2024-04-10 20:50:51 1102

原创 01 static 代码块 继承 权限修饰符 多态 抽象类 接口 枚举

static修饰变量修饰方法修饰代码块隶属类(静态变量)类(静态方法)类(静态代码块)推荐访问方式类名.变量名类名点.方法名()类加载时自动执行经典使用场景多对象共享变量工具类方法为类变量初始化赋值什么是继承?继承的好处是啥?继承就是java允许我们用extends关键字,让一个类和另一个类建立起一种父子关系。提高代码复用性,减少代码冗余,增强类的功能扩展性。继承的格式子类 extends 父类继承后子类的特点?

2024-04-09 12:27:45 1044

原创 文件模版规约

代码模版示例(符合阿里巴巴公约)

2024-04-07 10:38:33 314

原创 两数之和与回文数

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。但是,数组中同一个元素在答案里不能重复出现。

2024-03-24 17:22:53 260

原创 java入门基础掌握知识

基础知识,需要掌握

2024-03-22 16:06:44 1031

原创 Collection集合体系

Java集合框架通过提供一套统一的接口和实现类,使得开发者能够轻松地实现和操作集合对象。这些接口和类的设计遵循了面向对象的原则,使得集合操作更加灵活和高效。无论是简单的数据存储还是复杂的数据处理任务,Java集合框架都能提供合适的工具来完成任务。此外,这个框架的设计还考虑了线程安全和性能,使得集合对象可以在多线程环境中安全地使用,并且具有高效的性能表现。

2024-03-16 21:02:25 526

原创 软件测试的全面指南:概念、目的、类型、方法、工具及应用(附上基础智能小代码)

软件测试是软件开发生命周期中不可或缺的一部分,它确保软件产品能够按照预期工作,满足用户的需求和期望。本文将为您提供软件测试的全面指南,包括测试的概念、目的、类型、方法、工具,以及如何有效地使用它们。

2024-03-15 21:52:38 1278

原创 PS IDEA VSCode MySQL Linux快捷键 整理

以下是一些常见的Linux虚拟机管理命令,但请注意,这些命令可能因虚拟化软件和Linux发行版的不同而有所差异。这些快捷键覆盖了VSCode中的许多基本和高级功能,掌握它们可以帮助你更快地完成复杂的编码任务。这些快捷键是 IntelliJ IDEA 中最常用的一部分,通过熟练使用它们,可以显著提高开发效率。这些命令提供了虚拟机管理的基本操作,但每个虚拟化平台都有更丰富的功能和选项。除了虚拟化软件特有的命令外,还有一些通用的Linux命令可以用于管理虚拟机,如使用。,可以查看、搜索和修改所有可用的快捷键。

2024-03-14 22:03:01 1158

原创 堆内存详述

字符串常量池是一个特殊的内存区域,用于存储程序中的字符串字面量。节省内存:通过存储字符串常量,可以避免重复创建相同的字符串对象,从而减少内存的使用。提高性能:访问常量池中的字符串比在堆上创建新的字符串对象更快速,因为常量池通常位于栈内存中,访问速度较快。保证唯一性:在某些语言中,字符串常量被视为不可变的,这意味着一旦创建,它们的值就不能改变。常量池确保了字符串值的唯一性。

2024-03-13 14:31:04 508

原创 理解记忆相关

基础类知识理解记忆,后面会加, 如果有不对的地方和大家有什么计算机类的看法知识的话,可以私信我,我可以添加到文章里,后续我们一起进步,请大家多多指教!!!

2024-03-11 11:26:17 427

原创 斐波那契算法

为了实现这个功能,网站决定使用斐波那契数列来决定推荐商品的顺序,即推荐商品的顺序基于斐波那契数列的索引。例如,如果用户正在查看索引为5的商品(从0开始计数),那么推荐系统会推荐索引为3(F(3)=2)、2(F(2)=1)、1(F(1)=1)的商品。请注意,这个例子是一个简化的版本,实际应用中可能需要考虑商品数据库的查询逻辑、用户偏好、商品的相似度等因素。F(0) = 0, F(1) = 1, F(n) = F(n-1) + F(n-2) 对于 n > 1 的所有自然数 n。类来处理更大的斐波那契数。

2024-03-10 11:42:24 739

原创 编程训练基础代码六

10、现有一个整数数组,数组中的每个元素都是[0-9]之间的数字,从数组的最大索引位置开始到最小索引位置,依次表示整数的个位、十位、百位。2、定义一个方法,接收一个数组,然后将数组中的最大值与第一个元素交换,最小值与最后一个元素交换,然后将数组返回。4、定义一个方法,接收一个整数数组,请判断数组中是否存在连续三个元素都是奇数的情况:如果存在,请返回。4、定义一个方法,接收一个整型数组,判定数组中的元素是否是升序排列,并将结果返回。8、定义一个方法,接收一个小数数组(小数点后只有1位),然后找出数组中。

2024-03-09 12:04:55 799

原创 Java方法基础代码五

1、聊聊你对方法的理解, 以及方法可以为代码带来怎样的好处

2024-03-09 09:06:12 264

原创 程序员如何选择职业赛道?

总结来说,前端、后端和数据科学各自代表了程序员职业赛道中不同的方向。每个领域都有其独特的魅力和挑战,程序员可以根据自己的兴趣、技能和职业目标来选择最适合自己的赛道。前端开发,这个被称为“美丽花园”的领域,是用户与数字世界互动的第一道窗口。在程序员的职业赛道中,前端、后端和数据科学各自代表着不同的领域,每个领域都有其独特的魅力和挑战。数据科学,这个被称为“神秘密室”的领域,是现代决策的基石。数据科学家利用统计学、数据分析和机器学习等技术,从海量数据中提取有价值的信息,为业务决策提供支持。

2024-03-08 19:59:09 1036

原创 Void和有返回值类型的使用情况说明文档

在 Java 中,方法的返回类型定义了方法执行后返回的数据类型。`void` 表示方法不返回任何值,通常用于执行操作而不产生结果的方法。其他返回值类型可以是基本数据类型或对象类型,用于表示方法执行后返回的具体数据。选择返回值类型时,应考虑方法的目的:- 如果方法执行操作但不返回结果,使用 `void`。- 如果方法需要返回计算或获取的值,选择相应的数据类型。在类中,保持相似操作的方法返回值类型的一致性有助于代码的可读性和维护性。同时,应在文档或注释中明确说明方法的返回值类型和可能的返回值,以便其

2024-03-07 11:10:54 423

原创 精通Java内存管理:提升应用性能的秘诀

Java内存模型(Java Memory Model, JMM)定义了Java程序中各种变量(线程共享变量)的访问规则,以及在并发环境下如何保证内存的可见性、原子性和有序性。Java内存模型主要涉及以下几个部分:堆(Heap)堆是Java虚拟机(JVM)中最大的一块内存区域,用于存储对象实例和数组。堆内存是所有线程共享的,因此它是线程不安全的。为了安全地访问堆内存中的对象,需要使用同步机制,如关键字或volatile关键字。

2024-03-07 08:34:43 820

原创 Windows虚拟机的安装

云计算是一种通过互联网提供共享计算资源(如服务器、存储、数据库、网络、软件、分析等)的技术。它允许用户按需访问这些资源,而无需直接管理物理硬件。云计算的核心优势在于其灵活性、可扩展性、成本效益和易于管理。

2024-03-06 20:41:49 1016

原创 java基础语法之方法四

public static void 方法名 ( ) {// 方法体;// 方法体;方法名();method();注意:​ 方法必须先定义,后调用,否则程序将报错定义格式:参数:由数据类型和变量名组成 - 数据类型 变量名参数范例:int apublic static void 方法名 (参数1) {方法体;public static void 方法名 (参数1, 参数2, 参数3...) {方法体;......

2024-03-06 19:56:13 591

原创 数组与Debug三

​ 数据类型[] 数组名int[] arr;char[] arr;​ 在创建数组时,直接将元素确定​ 数组动态初始化就是只给定数组的长度,由系统给出默认初始化值。​ 每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。​ 这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。​ 内存是计算机中的重要原件,临时存储区域,作用是运行程序。​ 我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的。​ 必须放进内存中才能运行,运行完毕后会清空内存。

2024-03-06 19:54:58 789

原创 流程控制语句二

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形 成死循环。顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。解释: 10代表的是一个范围,如果括号写10,产生的随机数就是0-9,括号写20,参数的随机数则是0-19。②执行条件判断语句,看其结果是true还是false。

2024-03-06 19:54:07 594

原创 数组基础代码四

1、聊聊你对数组的理解, 以及什么时候该使用数组?2、聊聊数组的两种初始化分别是什么?格式如何编写?3、请回答数组元素访问是什么意思 , 以及访问格式是什么?4、请回答数组两种初始化有什么区别?两种初始化各自适用于什么样的场景?5、数组动态初始化中, 不同类型数组, 默认初始化值都不一样, 分别是什么?6、聊聊你对数组遍历的理解, 什么时候需要对数组做遍历, 以及如何书写遍历代码?7、Java 中的内存分配常用的主要分为3块, 分别是哪些?这些内存维护了什么样的数据?

2024-03-06 12:57:03 378

原创 DDL、DML 和 DQL区分

重要基础原理知识

2024-03-05 14:21:54 303

原创 Java基础流程控制习题练习示例含代码

5、【三元运算符】李雷想买一个价值7988元的新手机,她的旧手机在二手市场能卖1500元,而手机专卖店推出以旧换新的优惠,把她的旧手机交给店家,新手机就能够打8折优惠。20、【while】小芳的妈妈每天给她2.5元钱,她都会存起来,但是,每当这一天是存钱的第5天或者5的倍数的话, 她都会花去6元钱,请问,经过多少天, 小芳才可以存到100元钱。9、【switch】模拟计算器功能,对键盘录入的两个int类型的数据进行加、减、乘、除的运算,并打印运算结果。如6的因数为1、2、3、6,则因数个数为4。

2024-03-04 20:14:16 670

C语言第14讲一维数组举例及字符数组.ppt

适用于C语言的学习

2023-02-24

空空如也

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

TA关注的人

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