- 博客(48)
- 收藏
- 关注
原创 Java进阶---JVM
JVM是执行Java程序的核心,主要承担字节码翻译、内存管理等功能。它由类加载系统、运行时数据区、执行引擎、本地方法接口和垃圾回收系统组成。运行时数据区包括程序计数器、虚拟机栈、本地方法栈、堆和方法区,其中堆是垃圾回收的重点区域。垃圾回收采用可达性分析算法识别无用对象,并通过标记-复制、标记-清除、标记-压缩等算法清理内存。JDK提供了多种垃圾回收器,如CMS采用并发标记清除机制,减少程序停顿时间。JVM通过双亲委派机制保障类加载安全,同时支持方法区、堆等区域的动态内存管理,确保Java程序高效稳定运行
2025-06-01 13:46:22
782
原创 Java常见问题(二)
throw:用于在代码中显式抛出一个异常。throws:用于方法签名中,声明该方法可能抛出的异常类型。12. Java中的 interface 和 abstract class 有什么区别?在Java中,interface和都是用于实现抽象和多态的重要机制,但它们在设计和使用上有显著的区别。volatile关键字主要用于确保变量的可见性和防止指令重排序,适用于状态标志和双重检查锁定等场景,但不适用于需要原子性操作的场合。14. Java中的 synchronized 关键字有什么作用?
2025-02-20 20:33:53
1033
原创 Java常见问题(一)
final:用于定义不可变的变量、方法或类。finally:用于确保某些代码无论是否发生异常都会执行。finalize:用于对象销毁前的清理操作,但不推荐使用。2. Java中的== 和equals() 方法有什么区别?==:比较值(基本类型)或内存地址(引用类型)。equals():比较对象的内容(需重写equals()方法)。在大多数情况下,引用类型的比较应该使用equals(),而不是==。3.Java中的String为什么是不可变的?在 Java 中,String。
2025-02-20 19:22:48
707
原创 Mybatis的学习
MyBatis 是一个流行的 Java 持久层框架,它简化了数据库操作,通过将 Java 对象与 SQL 语句进行映射,使得开发者可以更方便地操作关系型数据库,同时避免了传统 JDBC 代码的复杂性。
2025-02-17 19:57:41
389
原创 学习Java的基础知识
变量是存储数据的容器,数据类型定义了变量可以存储的数据的种类和范围。Java 中的数据类型分为基本数据类型和引用数据类型。变量的作用域决定了变量在程序中的可见性。数据类型之间可以相互转换,但需要注意精度丢失的问题。条件控制结构:用于根据条件执行不同的代码块(如ifswitch循环控制结构:用于重复执行某段代码(如forwhiledo-while跳转控制结构:用于改变程序的正常执行流程(如breakcontinuereturn嵌套控制结构:可以在一个控制结构中嵌套另一个控制结构。类。
2025-02-17 13:26:54
1017
原创 飞机降落问题
int T;// 到达时间int D;// 剩余油料可以盘旋的时间int L;// 降落所需时间this.T = T;this.D = D;this.L = L;// 所有飞机都已安排i++) {if (!used[i]) {// 最早开始降落时间// 最晚开始降落时间// 当前飞机的降落开始时间// 检查是否可以在允许的时间范围内降落// 标记为已使用// 递归检查剩余飞机// 回溯// 没有找到合适的顺序// 测试数据组数// 飞机数量i < N;
2025-02-16 19:47:51
874
原创 JavaEE-前端与后台的搭建
在使用 IntelliJ IDEA 连接数据库时,可以按照以下步骤操作:### 1. 打开数据库工具窗口- 在 IntelliJ IDEA 中,点击右侧的 `Database` 工具窗口,或通过 `View -> Tool Windows -> Database` 打开。### 2. 添加数据源- 在 `Database` 工具窗口中,点击 `+` 按钮,选择 `Data Source`,然后选择你要连接的数据库类型(如 MySQL、PostgreSQL、Oracle 等)。
2025-02-11 20:39:30
1227
原创 JavaEE架构
VM架构通常指的是虚拟机(Virtual Machine)的架构。虚拟机是一种软件实现的计算机系统,它模拟了物理计算机的功能,允许在单一物理硬件上运行多个操作系统实例。虚拟机架构主要包括以下几个关键组件:1. 虚拟机监控器(Hypervisor):- 类型1 Hypervisor:直接运行在物理硬件上,也称为裸机Hypervisor。例如,VMware ESXi、Microsoft Hyper-V、Xen。
2025-02-10 20:56:38
1404
原创 node安装,npm安装,vue-cli安装以及element-ui配置项目
它使用,基于,提供模块化开发和丰富的,极大地加速了开发效率。1Node.js的核心特性包括事件驱动和非阻塞I/O模型,这使得它在处理大量并发连接时表现出色。尽管它是单线程的,但通过事件循环和异步操作,Node.js能够有效地处理并发任务。此外,Node.js的和使其能够实现轻量级和高并发处理能力,革新了后端开发。2Node.js的安装和使用也非常简便。用户可以从官方网站下载并安装适用于操作系统的版本,通过简单的命令即可创建一个简单的服务器。这些特性使得Node.js成为现代。
2024-12-20 19:25:47
967
原创 数据库 一
数据库(DataBase,DB)是一个长期存储在计算系统中有组织的、有共享的、统一管理的数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统。MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
2024-10-12 19:57:09
863
原创 Java---异常及处理
super(msg);super(msg);throw new MyException01("自定义异常继承Exception");throw new MyException02("自定义异常继承RuntimeException");test02();
2024-09-28 14:23:46
321
原创 并发编程---线程与进程
进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。进程是可与其他程序并发执行的程序,在一个数据集合上的运行过程。它是系统进行资源分配和调度的一个独立单位。大家打开windows的任务管理器就可以看到,系统运行的进程。1.1线程是程序执行的**最小单位\,而进程是操作系统分配资源的最小单位;1.2一个进程由一个或多个线程组成,线程是一个进程中代码的**不同执行路线\;1.3。
2024-09-27 20:44:06
694
原创 网络编程.
七层模型,也称为OSI(Open System Interconnection)参考模型,是国际标准化组织(ISO)制定 的一个用于计算机或通讯系统间互联的标准体系。它是一个七层的、抽象的模型体,不仅包括一系列抽 象的术语或概念,也包括具体的协议。定义设备标准,如*网线*的接口类型、*管线*的接口类型、*各种传输介质*的传输速率等。物理层的作用是尽可能地屏蔽掉底层的差异,透明的传输bit(比特)。
2024-09-18 15:26:26
822
1
原创 Java---面向对象
/当前对象的属性brand,值为传入的变量brand的值。(两只耳朵,一只尾巴,四条腿,一张嘴,毛发)----特征。2.属性、特征、域(field)、xxx变量。狗 ---> Dog ---> 抽象的。起身--》开门--》大量的逻辑判断。(陪伴(动作,行为))----职责。3.以冰箱(Fridge)为例。this ----- 当前对象。通过setXXX(参数)存储。通过getXXX()取出数据。Object-->东西(1.名字(Fridge)类 -----> 对象。3.方法、函数、动作。
2024-08-24 14:00:01
444
原创 Java---方法Method
封装代码,结构性比较好-----可复用(reusable)Java的官方名称---method (坊间:函数)f(x) = x + 1;函数---function。动作:完成某些功能-----单一。*void:不需要出口。2.method改变。
2024-08-20 12:41:08
217
原创 Java---继承与Object
Java语言的继承:单继承公司和员工,学校和学生学生和人对象被JVM回收的一定会自动调用。~当对象已满规则:当对象没有任何引用何其关联a = null;对象的一个唯一值,用来快速定位内存地址。
2024-05-26 10:04:21
1618
原创 Java---面向对象编程的三大特征
设计一个动物类(Animal),有一个move(),再写三种动物,Bird,Snake,Fish。private < 默认(不写):本包 < protected(继承) < public。1.父类引用指向子类对象 Animal a = new Dog();~ 类,不能不被实例化 AbstractA a = new 子类();在一个类中,方法名称完全一样,参数的类型或者个数不一样。实际上没有多大作用,被子类的方法重写。protected --继承(包)java的继承---》单继承,
2024-05-19 09:02:08
400
原创 Java---static以及访问控制符
/引用类型初始值null。static变成公共空间,有类产生的对象共享数据。符号常量,变量+final----》不可变的量。this.name:当前对象的name属性。对final修饰的变量使用大XXX_YYY。(3)输入一个浮点数--->double。类似于C语言const。出现早(进内存时)---只出现一次。(2)输入一个数字--->int。常量的缺点,不能表示具体的意思。this:当前对象的引用。基本类型---》包装类型。包装类型---》基本类型。引用永久绑定当前对象。对象版的八个数据类型。
2024-05-12 09:20:00
275
原创 Java---构造器
在一个类中方法名称完全相同,参数的个数或者类型不同,方法重载。有很多用户,每个用户有用户名、密码,现金,存储这些用户。构造器[默认,有参数(如果参数不超过5个,全参数)]八个基本数据类型意外-----null。...不定参数,编译器解析数组 a[]配合引用,没有和任何对象关联(绑定)系统刚开始启动时,输入用户的信息。【需求】计算机,能够进行加法计算。注册用户---》注册用户能够登录。编译器自动生成:你没有创建过。User[] =//对象数组。绑定对象变量(类似于指针)如何存储多个用户的信息。
2024-05-01 09:43:33
171
原创 Java---调试,数学运算和循环
continue跳过当前这个值。·return存储值,将方法返回。另:random(0~1)如何跟踪代码是否出现问题。·{ }---作用域。·break跳出当前循环。com.公司名.项目名。
2024-03-31 17:03:15
380
原创 Java---算法
String name = JOptionPane.showInputDialog(null, "请输入您的姓名");JOptionPane.showMessageDialog(null, "您的姓名"+ name);&&左边不成立,结果false。能被4整除,不能被100整除。核心:降级为两个数已排好序。结果:true/false。注意:判断奇偶数,判断偶数。判断一个字是否是数字。||只要左边成立即可。如果true进入分支。
2024-03-27 19:09:17
330
原创 栈区与堆区
不同类型的指针变量决定了对指针解引用时访问几个字节。&a,取到a变量在内存中分配空间的起始地址。float和int型在内存中存储的方式。1.内存有两个区分为栈区和堆区。
2024-03-24 10:15:54
141
原创 Java---数据类型与运算符
变量的本质是地址,人类使用简易的标记:英文字母,拼音等命名。计算机最小类型:0.1---比特 位。·'a'+'b'--->拼接。中文:19968 ~ 40869。7.浮点型-双精度double。6.浮点型-单精度float。解决开发过程中,文件名重名。每8个0.1---字节。8.boolean布尔型。命名规则:大-->小。变量命名:见名知意,类型的本质是空间大小。
2024-03-17 15:59:21
412
1
原创 动态内存分配
与malloc函数的区别只在于calloc会返回地址之前把申请空间的每个字节初始化为0。函数的功能是为num个大小为size的元素开辟空间,并且把空间的每个字节初始化为0。但对于空间的需求,有的时候,需要的空间大小是在程序运行时才能知道。2>数组在声明时,必须指定数组的长度,它所需要的内存在编译时分配。这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。(malloc和free都声明在stdlib.h的头文件中)使用malloc分配空间是在堆中分配空间。1>空间开辟大小是固定的。
2024-03-17 14:46:49
351
原创 表达式求值
这意味着short int与int的长度相等的可能。C的整型算术运算总是至少以缺省整型类型的精度来进行的。为了获得这个精度,表达式中的字符和short操作数在使用之前被转换为普通整型,这种转换称为。如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数转换为另一个操作数的类型,否则 操作就无法进行。如果某个操作数的类型在上面这个列表中排名较低,那么首先要转换为另外一个操作数的类型后执行运算。两个相邻的操作符哪个先执行,取决于他们的优先级。如果两者的优先级相同,取决于他们的结合性。
2024-01-26 09:39:29
330
原创 操作符()
逗号表达式,从左向右依次执行,整个表达式的结果是最 后一个表达式的结果。负整数的原码、反码和补码:原码与反码(符号位不变,其他位取反),反码与补码(在反码的基础上+1)。对于/操作符,如果两个操作数都为整数,执行整数除法。赋值操作符可以连续使用,但不建议连续使用,这样代码的可读性比较差。这些关系运算符比较简单,但一定要注意相等的写法,不要写成=。, =, ==(等于),!%操作符的两个操作数必须为整数,返回值为整数之后的余数。:对于移位运算符,不要移动负数位,这个是标准未定义的。
2024-01-25 16:59:34
1540
原创 数组(二维数组)
当给定的数组已经按正序排好序,使用冒泡排序算法仍然会进行多次比较操作, 因此性能差。以从小到大排序为例,第一轮比较后,所有数中最大的那个数就会浮到最右边;第二轮比较后,所有数中第二大的那个数就会浮到倒数第二个位置......就这样一轮一轮地比较,最后实现从小到大排序。<2>&数组名,取出的是数组的地址。冒泡排序的原理是:从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。1.很多时候,我们在写代码时,会将数组作为参数进行传递,比如:实现一个冒泡排序函数对一个整型数组进行排序。
2024-01-23 14:36:46
328
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人