自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 编译器生成的合成访问方法(Synthetic Accessor Method)

当内部类需要访问外部类的私有成员时,Java编译器会自动生成一种特殊的包级私有辅助方法,称为合成访问方法(Synthetic Accessor Method)。这是Java语言实现嵌套类访问权限的关键机制。

2025-08-17 20:59:29 846

原创 ArrayList源码分析

ArrayList是Java集合框架中实现List接口的动态数组,位于java.util包中,继承AbstractList并实现泛型数据结构。底层基于Object数组实现,支持自动扩容,默认初始容量为10,允许存储null值和重复元素。与Vector类似但非线程安全,提供add、get、remove等核心方法,多数操作的时间复杂度为O(1)或分摊固定时间。

2025-08-17 20:14:25 829

原创 第07章 单行函数

函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率,又提高了可维护性。在 SQL 中我们也可以使用函数对检索出来的数据进行函数操作。使用这些函数,可以极大地提高用户对数据库的管理效率。从函数定义的角度出发,我们可以将函数分成内置函数和自定义函数。在 SQL 语言中,同样也包括了内置函数和自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编写的,本章及下一章讲解的是 SQL 的内置函数。

2025-08-15 18:04:20 541

原创 第06章 多表查询

多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠“部门编号”进行关联。

2025-08-12 17:09:20 26

原创 第05章 排序与分页

背景1:查询返回的记录太多了,查看起来很不方便,怎么样能够实现分页查询呢?背景2:表里有 4 条数据,我们只想要显示第 2、3 条数据怎么办呢?

2025-08-09 20:01:15 41

原创 第04章 运算符

算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加(+)、减(-)、乘(*)、除(/)和取模(%)运算。

2025-08-09 17:40:22 23

原创 第03章 基本的SELECT语句

使用通配符虽然可以节省输入查询语句的时间,但是获取不需要的列数据通常会降低查询和所使用的应用程序的效率。MySQL中的SQL语句是不区分大小写的,因此SELECT和select的作用是相同的,但是,许多开发人员习惯将关键字大写、数据列和表名小写,读者也应该养成一个良好的编程习惯,这样写出来的代码更容易阅读和维护。SQL 中的 SELECT 语法的确提供了这个功能,一般来说我们只从一个表中查询数据,通常不需要增加一个固定的常数列,但如果我们想整合不同的数据源,用常数列作为这个表的标记,就需要查询常数。

2025-08-07 18:48:43 20

原创 MySQL常见问题

1: 通过任务管理器或者服务管理,关掉mysqld(服务进程)2: 通过命令行+特殊参数开启mysqld mysqld – defaults-file=“D:\ProgramFiles\mysql\MySQLServer5.7Data\my.ini” --skip-grant-tables3: 此时,mysqld服务进程已经打开。并且不需要权限检查4: mysql -uroot 无密码登陆服务器。另启动一个客户端进行5: 修改权限表6: 通过任务管理器,关掉mysqld服务进程。

2025-07-14 10:28:05 92

原创 第02章 MySQL环境搭建

在卸载之前,先停止MySQL8.0的服务。按键盘上的“Ctrl + Alt + Delete”组合键,打开“任务管理器”对话框,可以在“服务”列表找到“MySQL8.0”的服务,如果现在“正在运行”状态,可以右键单击服务,选择“停止”选项停止MySQL8.0的服务,如图所示。

2025-07-07 12:46:46 1048

原创 第01章 数据库概述

MySQL的历史就是整个互联网的发展史。互联网业务从社交领域、电商领域到金融领域的发展,推动着应用对数据库的需求提升,对传统的数据库服务能力提出了挑战。高并发、高性能、高可用、轻资源、易维护、易扩展的需求,促进了MySQL的长足发展。非关系型数据库,可看成传统关系型数据库的功能的解析,阉割版本,基于键值对存储数据,不需要经过SQL层性能非常高。同时,通过减少不常用的功能,进一步提高性能。目前基本上大部分主流的非关系型数据库都是免费的。

2025-07-07 10:48:10 570

原创 初学者注意事项

Linux 是严格区分大小写的,这一点和 Windows 不一样,所以操作时要注意区分大小写的不同,包括文件名和目录名、命令、命令选项、配置文件设置选项等。

2025-06-08 19:31:35 693

原创 DAY14 Lambda表达式、Stream流

面向对象思想:​ 做一件事情,找一个能够解决这个事情的对象,调用对象的方法来完成这件事情函数式编程思想:​ 重视的是结果,怎么做事情,不重视完成的过程,找谁来做/*函数式接口:接口中有且仅有一个抽象方法的接口注意:1.接口中没有抽象方法不行2.接口中除了唯一的抽象方法,还可以包含其他的方法(默认,静态,私有)注解:@FunctionalInterface:检测接口是否为一个函数式接口*///定义抽象方法System.out.println("静态方法");

2025-03-22 15:21:39 768

原创 DAY13 线程池、死锁、线程状态、计时器

*java.util.concurrent.Executors:是一个创建线程池的工具类,专门用来生产线程池,里边的方法都是静态的静态方法:创建一个可重用固定线程数的线程池,以共享的无界队列方式来运行这些线程。参数:int nThreads:创建的线程池,包含的线程数量 100 包含100个线程 1000包含1000个线程返回值:ExecutorService:就是一个线程池,ExecutorService是一个接口,返回的是ExecutorService接口的实现类对象。

2025-03-21 19:35:40 319

原创 DAY12 原子性、线程安全、并发包

概述:java从JDK1.5开始提供了java.util.concurrent.atomic包(简称Atomic包),这个包中的原子操作类提供了一种用法简单,性能高效,线程安全地更新一个变量的方式。1). java.util.concurrent.atomic.AtomicInteger:对int变量进行原子操作的类。2). java.util.concurrent.atomic.AtomicLong:对long变量进行原子操作的类。

2025-03-19 01:08:34 357

原创 DAY11 多线程、高并发及线程安全、volatile关键字

每一个线程还存在自己的工作内存,线程的工作内存,保留了被线程使用的变量的工作副本。线程对变量的所有的操作(读,取)都必须在工作内存中完成,而不能直接读写主内存中的变量,不同线程之间也不能直接访问。Java内存模型(Java Memory Model)描述了Java程序中各种变量(线程共享变量)的访问规则,以及在JVM中将变量存储到内存和从内存中读取变量这样的底层细节。这三步就不具有“原子性”——执行某一步时,很可能会被暂停,执行另外一个线程,就会导致变量的最终结果错误!产生的原因:定义一个变量。

2025-03-18 17:50:54 612

原创 背诵--2

如果运算中,数据的范围超过了long类型后,可以使用BigInteger类实现,该类的计算整数是不限制长度的。4.数组即可以存储基本数据类型的数据,又可以存储引用数据类型的数据 int[] double[] String[] Student[]注意:局部内部类生产的class含有$(1,2,3指的是外部类中第1个,第2个…调用的是其他语言编写的代码或者操作系统底层的代码,看不到具体的方法。native修饰的方法:说明这个方法不是java语言编写的。3.集合的长度是可以变化的(添加元素,删除集合中的元素)

2025-03-15 21:46:55 693

原创 背诵--1

"abc" 等效于 char[] data={ 'a' , 'b' , 'c' }jdk8及以前: String内部使用的就是字符数组jdk9及以后: String内部使用的就是字节数组例如:相当于:// String底层是靠字符数组实现的。字符串缓冲区可以支持可变的字符串 java . lang . StringBuilder 类:就是一个字符串缓冲区,内部的字符串内容是可以改变的特点:内部字符串内容可以改变。

2025-03-15 21:46:08 209

原创 DAY10 选择排序、二分(折半)查找、异常

*Throwable类中定义的异常处理逻辑(了解)仅供参考,我们可以使用处理异常的方式,也可以自己定义异常的处理方式Throwable类中定义的方法:String getMessage() 返回此 throwable 的简短描述。String toString() 返回此 throwable 的详细消息字符串。重写Object类的toStirng方法void printStackTrace() JVM把异常信息打印在控制台,默认调用就是此方法。

2025-03-01 15:56:02 355

原创 DAY09 Map接口、斗地主案例(有序版本)、冒泡排序

java . util . Map < k , v > : 接口 key : 键 value : 值特点 : 1. Map集合是一个双列集合 , 每个元素包含两个值 , 一个key一个value 2. Map集合中的key是不允许重复的 , value可以重复 3. Map集合中一个key只能对应一个value 4. Map集合中key和value数据类型可以是相同的 , 也可以是不同java . util . Map < k , v > : 接口 key : 键 value : 值。

2025-03-01 14:58:04 382

原创 DAY08 List接口、比较器、可变参数、Set接口

*java.uil.List<E>接口 extends Collection<E>接口List接口的特点:1.是一个有序的集合:存储元素和取出元素的顺序是一致的 存储:123 取出:1232.允许存储重复的元素 add(10) add(10)3.包含一些带索引的特有方法List接口特有的带索引的方法:void add(int index, E element) 在指定索引处,添加一个新的元素E get(int index) 获取指定索引处的元素。

2025-02-22 20:23:28 401

原创 DAY07 Collection、Iterator、泛型、数据结构

*迭代器:是一种通用取出集合中元素的方式迭代器的由来:集合有很多种,每种集合的数据结构不同(数组,链表,哈希表...),集合取出元素的方式也不同我们不可能为每种集合都定义一种取出元素的方式,浪费所以我们可以使用迭代器,是集合通用的取出元素的方式迭代器的原理:判断集合中还有没有元素,有就取出来;再判断集合中还有没有元素,有再取出来;一直判断到集合中没有元素为止,这种取出元素的方式叫迭代java.util.Iterator<E>接口:对 collection 进行迭代的迭代器。

2025-02-18 15:35:46 518

原创 DAY06 综合案例

【代码】DAY06 综合案例。

2025-02-17 16:48:26 774

原创 DAY05 BigInteger类、BigDecimal类、Arrays类、包装类、String类、引用类型

java.math.BigInteger 类,不可变的任意精度的整数。如果运算中,数据的范围超过了long类型后,可以使用BigInteger类实现,该类的计算整数是不限制长度的。

2025-02-17 12:28:39 980

原创 DAY04 Object、Date类、DateFormat类、Calendar类、Math类、System类

java.lang.Object 注意:lang包中的类无需导包可以直接使用类Object是类层次结构的根类(最顶层的类 祖宗类)。每个类都使用Object作为超类。任何一个类都直接或者间接的继承了Object类所有对象(包括数组)都实现这个Object类的方法。任何一个类都可以使用Object类中的方法。

2025-02-16 18:17:12 459

原创 DAY03 多态、内部类、权限修饰符、代码块

定义父类System.out.println("Fu类的show方法!");定义子类System.out.println("Zi类重写Fu类的show方法!");定义抽象父类//抽象方法定义子类@OverrideSystem.out.println("猫吃鱼!");@OverrideSystem.out.println("狗吃肉!");定义接口//抽象方法定义接口的实现类@OverrideSystem.out.println("吸烟有害健康!");定义测试类/*

2025-02-16 12:25:16 430

原创 DAY02 final关键字、static关键字、接口

*定义每个学生特有的属性(非静态):姓名,年龄定义每个学生共享的属性(静态):国家*/int age;static String country = "中国";//创建Student对象,给对象的属性赋值s1.name = "张三";s2.name = "李四";//改变country的值s2.country = "中华人民共和国";接口:是引用数据类型的一种,是功能的集合(接口中定义的都是方法)接口中不能定义变量,可以定义常量(很少使用)

2025-01-27 01:44:20 325

原创 DAY01 面向对象回顾、继承、抽象类

*定义父类员工类属性:姓名,年龄方法:工作*///属性:姓名,年龄int age;//方法:工作System.out.println(name+"在呕心沥血的工作!");/*定义讲师类:讲师是公司员工的一种,所以可以继承员工类什么时候使用继承:我是你的一种的使用(is...a)继承的格式:public class 子类 extends 父类{ }子类:Teacher父类:Employee继承的特点:子类继承父类,子类就会自动拥有父类非私有的成员变量和成员方法。

2025-01-26 22:46:31 416

原创 15天基础内容总复习

*变量中,只能存储一个数据,新的数据进来,老的数据将被替换,如果要存储多个数据,需要使用容器容器概念容器:是将多个数据存储到一起,每个数据称为该容器的元素。生活中的容器:水杯,衣柜,教室数组1.概念: java中的数组就是一个容器,可以存储多个数据,但是多个数据的类型必须保持一致2.特点:(1)可以存储多个数据(2)多个数据的类型必须保持一致(3)数组的长度(数组中可以存储元素的数量)一旦确定,就不可以发生改变3.数组是一个引用类型,数组容器变量的定义格式: 记住。

2025-01-26 14:23:19 626

原创 15天基础内容-5

第一章String类1.1 String类的判断方法1.2 String类的其它方法1.3 String类的练习——用户登陆案例1.5 String类的练习——统计字符次数1.7 String类的练习——字符串反转2.3 StringBuilder类的成员方法2.4 StringBuilder和String的相互转换2.5 StringBuilder练习——字符串反转2.6 StringBuilder练习——字符串拼接day14 【ArrayList

2025-01-26 14:15:47 324

原创 15天基础内容-4

面向对象思想总结:1.面向过程:当要实现一个功能时,需要亲力亲为,处理每个细节2.面向对象:当要实现一个功能时,不关心具体的实现步骤,只关心结果,找一个具有该功能的类,帮我们做事3.面向对象的思想(1)面向对象是基于面向过程的编程思想.(2)面向过程:强调的是每一个功能的步骤(3)面向对象:强调的是对象,然后由对象去调用功能4.特点(1)是一种更符合我们思考习惯的思想(2)可以将复杂的事情简单化(3)角色发生了转换,将我们从执行者变成了指挥者/*按照指定格式打印int数组。

2025-01-26 00:28:53 429

原创 15天基础内容-3

第一章 数组定义和访问【理解】1.1 容器的概念1.2 数组变量的定义1.4 数组的第二种初始化方式1.5 数组的第三种初始化方式1.6 简化格式初始化数组的使用1.7 动态初始化数组的使用第二章 数组原理内存图【理解】2.1 java中的内存分配图解: 省略,就是把一个数组的内存图,再复制一份4.2 求三个int数字的最大值代码执行流程图解:day08 【方法】主要内容第一章 方法入门【理解】1.1 方法引入1.3 无返回值无参数方法

2025-01-25 12:51:21 481

原创 15天基础内容-2

JavaSE

2025-01-24 10:30:03 388

原创 15天基础内容-1

Java是一种高级编程语言,而且是面向对象的编程语言。Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级的编程语言。(2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官网即可:https://www.oracle.com Java语言共同创始人之一:詹姆斯·高斯林 (James Gosling),被称为“Java之父”。Java语言共同创始人之一:詹姆斯·高斯林 (James Gosling),被称为“Java之父”

2025-01-22 16:15:23 647

原创 CSS2笔记

一、CSS基础1.CSS简介2.CSS的编写位置2.1行内样式2.2内部样式2.3外部样式3.样式表的优先级4.CSS语法规范5.CSS代码风格二、CSS选择器1.CSS基本选择器通配选择器元素选择器类选择器id选择器1.1通配选择器1.2元素选择器1.3类选择器

2024-12-31 17:02:10 479

原创 HTML4笔记

图片的格式非常多,上面这些,只是一些常见的、我们前端人员经常接触到的。

2024-12-25 18:42:27 331

原创 第7章 输入/输出系统

I/O接口中的数据线传送的是读/写数据、状态信息、控制信息和中断类型号。地址线传送的是要访问I/O接口中的寄存器的地址。控制线传送的是读/写控制信号,以确认是读寄存器还是写寄存器,此外控制线还会传送中断请求和响应信号、仲裁信号和握手信号。I/O接口中的I/O控制逻辑还要能对控制寄存器中的命令进行译码,并将译码得到的控制信号通过外设界面控制逻辑送到外设,同时将数据缓冲寄存器的数据发送到外设或从外设接收数据到数据缓冲寄存器。另外,它还要具有收集外设状态到状态寄存器的功能。

2024-12-17 15:29:26 399

原创 第2章 数据的表示和运算

乘/除运算:乘/除运算的基本原理;乘法电路和除法电路的基本结构。浮点数的表示:IEEE 745标准;无符号整数的表示和运算;有符号整数的表示和运算。基本运算部件:加法器;算术逻辑单元(ALU)加/减运算:补码加/减运算器;进位计数制及其相互转换;(二)运算方法和运算电路。(四)浮点数的表示和运算。(三)整数的表示和运算。

2024-11-11 17:26:21 254

原创 第5章 输入/输出(I/O)管理

本章内容较为分散,重点掌握I/O接口、I/O软件、三种I/O控制方式、高速缓存与缓冲区、SPOOLing技术,磁盘特性和调度算法。本章内容在历年统考真题中所占的比重不大,若统考中出现本章的题目,则基本上可以断定一定较为简单,看过相关内容的读者就一定会做,而未看过的读者基本上只能靠“蒙”。输入/输出应用程序接口:字符设备解耦,块设备接口,网络设备接口,阻塞/非阻塞I/O。I/O软件层次结构:中断处理程序,驱动程序,设备独立性软件,用户层I/O软件。设备:设备的基本概念,设备的分类,I/O接口。

2024-11-01 17:38:16 490

原创 第4章 文件管理

当用户将文件用于程序的输入、输出时,还希望可以访问、修改和保存文件等,实现对文件的维护管理,这就需要系统提供一个文件管理系统,操作系统中的文件系统(File System)就是用于实现用户的这些管理要求的。注意与文件的逻辑结构区分,从历年的经验来看,这是很多读者容易搞混的地方(读者复习完数据结构后,可以类比线性表、顺序表和链表之间的关系)。树形目录结构能便于实现文件分类,但不便于实现文件共享,为此在树形目录结构的基础上增加一些指向同一节点的有向变,使整个目录成为一个有向无环图,如图4.15所示。

2024-10-24 14:35:10 961

原创 第3章 内存管理

固定分区会产生内部碎片,动态分区会产生外部碎片,这两种技术对内存的利用率都比较低。我们希望内存的使用能尽量避免碎片的产生,这就引入了分页的思想:将内存空间分为若干固定大小(如4KB)的分区,称为页框、页帧或物理块。进程的逻辑地址空间也分为与块大小相等的若干区域,称为页或页面。操作系统以叶框为单位为各个进程分配内存空间。从形式上看,分页的方法像是分区相等的固定分区技术,分页管理不产生外部。但它又有本质的不同点:块的大小相对分区要小很多,而且进程也按照块进程划分,进程运行时按块申请主存可用空间并执行。

2024-08-07 15:38:05 1084 1

01-首次驱动项目和模块的创建.docx文件

01-首次驱动项目和模块的创建.docx文件

2025-01-22

空空如也

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

TA关注的人

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