自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解析Java中的动态代理以及反射机制

工作原理Java反射机制允许程序在运行时检查或“自省”类的信息,并可以创建对象实例、调用方法、访问字段等操作。它主要通过java.lang.reflect包提供的API来实现。内部实现细节Class类:每个加载到JVM中的类都会有一个对应的Class对象。这个对象包含了该类的所有信息,如构造器、方法、字段等。Constructor类:表示类的构造函数,可以通过它创建类的新实例。Method类:表示类的方法,包括普通方法和静态方法。

2024-12-21 08:57:32 1119

原创 关于深拷贝的详解以及用法

上面提供的手动实现方法就是一个很好的例子,它通过 WeakMap 来追踪已复制的对象,从而有效地解决了循环引用的问题。对于复杂的对象结构或需要高效处理的情况,考虑使用成熟的第三方库可能是更好的选择,因为这些库往往已经优化了性能并解决了常见的边界情况。数据类型的支持:不同的深拷贝实现对不同类型的数据支持程度不同,比如函数、日期对象、正则表达式等,不恰当的处理可能会导致性能问题。循环引用支持:通过使用 WeakMap 或 Map 来追踪已复制的对象,可以有效地处理循环引用问题,避免无限递归。

2024-12-17 14:11:07 1027

原创 关于JavaScript基础解析

修改内容与样式:innerHTML, textContent, classList, style属性的应用,setAttribute(), removeAttribute()。LiveScript到JavaScript:1995年,Netscape的Brendan Eich在短短十天内开发了LiveScript,后来更名为JavaScript。优化渲染:通过批量更新DOM、避免不必要的样式计算等方式,减少重绘(repaint)和回流(reflow)操作的数量,提高页面加载速度和用户体验。

2024-12-12 21:36:50 1011

原创 向上向下转型的解析

首先,我们创建了Dog和Cat的具体实例,并将它们赋值给了Animal类型的引用变量,这演示了向上转型。接下来,我们进行了向下转型,以调用子类特有的方法bark和meow,并且在进行向下转型之前使用了instanceof检查,确保转型的安全性。避免过度使用:频繁的向下转型可能是设计不佳的表现,可能意味着代码缺乏足够的抽象层次或者违反了Liskov替换原则(即子类应当能够替换掉它们的父类而不影响程序的正确性)。如果子类重写了父类的方法,那么即使通过父类引用调用该方法,执行的仍然是子类版本的方法。

2024-12-09 23:35:04 1133

原创 关于Spring Native 的使用

使用 Maven 或 Gradle 插件(如 spring-boot-maven-plugin 或 spring-boot-gradle-plugin)提供的任务来构建原生镜像。如果你计划在容器化环境中部署,则可以使用 mvn spring-boot:build-image 来直接构建一个包含原生镜像的 Docker 镜像。集成测试:使用类似 Testcontainers 的工具来进行集成测试,确保应用程序在接近生产环境的情况下工作正常。这样可以确保所有必要的代码都被正确地包含在最终的原生镜像中。

2024-12-07 11:25:25 1284

原创 关于Try char 的使用

多个 catch 块应该按照从具体到一般的顺序排列,避免前面的 catch 捕捉了后面的异常类型。Java 中的 try-catch 结构是异常处理的核心,它允许开发者以一种结构化的方式处理程序中可能发生的错误。包装异常:当在一个方法中捕获一个异常并希望将其转换为另一种类型的异常时,可以使用构造函数中的第一个参数来“包装”原始异常,这样不会丢失原始异常的信息。Java 7引入了多重捕获功能,允许单个 catch 块处理多种类型的异常,通过使用竖线 (|) 分隔不同的异常类型。至少要记录日志,以便日后调试。

2024-12-06 16:47:35 652

原创 论面向对象的特征

性能瓶颈:数据密集型计算中,算法的效率和数据处理的速度至关重要,面向对象编程中的抽象层次可能会引入额外的开销,成为性能瓶颈。开发效率:面向过程的编程方式通常更加直观和简洁,适合快速开发和测试,对于简单的任务,使用面向过程的方式可以更快地完成开发。开发效率:面向过程的编程方式通常更加直观和简洁,适合快速开发和测试,对于简单的任务,使用面向过程的方式可以更快地完成开发。代码重用:虽然面向对象编程强调代码的重用,但在某些需要高度定制化和灵活性的应用中,固定的类层次结构可能会限制代码的重用性。

2024-12-01 17:52:57 877

原创 解析Spring:架构与组件

DispatcherServlet 是 Spring MVC 的前端控制器,它负责接收所有的 HTTP 请求,并将请求分发到相应的处理器。它是整个 Spring MVC 框架的核心组件。初始化:DispatcherServlet 在启动时会初始化一系列的组件,如 HandlerMapping、HandlerAdapter、ViewResolver 等。

2024-11-28 17:00:00 1140

原创 关于Spring基础了解

Spring框架是一个开源的Java应用框架,旨在简化企业级应用程序的开发。它提供了一系列强大的工具和服务,帮助开发者构建高质量的Java应用程序。Spring框架的核心理念是使开发过程更加模块化、可测试和可维护。主要特性依赖注入(Dependency Injection, DI) 定义:DI是一种设计模式,用于实现控制反转(Inversion of Control, IoC)。通过DI,对象的依赖关系由外部容器管理,而不是由对象自己创建。

2024-11-28 10:05:12 1420

原创 关于Java字符串:提高代码效率

返回从指定开始索引到结束索引(不包括)的子字符串。: 检查字符串是否包含指定的子字符串。: 返回子字符串最后一次出现的索引。: 返回从指定索引开始的子字符串。: 检查字符串是否以指定前缀开头。: 检查字符串是否以指定后缀结尾。: 返回子字符串首次出现的索引。: 替换字符串中的指定子字符串。: 去除字符串两端的空白字符。: 比较两个字符串的字典顺序。: 替换字符串中的指定字符。: 比较两个字符串是否相等。: 返回指定索引处的字符。

2024-11-25 10:54:39 772

原创 进阶API:让潜力迸发

RESTful API 是一种遵循 REST 架构风格的 API 设计方法。REST(Representational State Transfer)是一种设计风格,强调使用标准的 HTTP 方法和资源标识符(URI)来操作资源。SOAP(Simple Object Access Protocol)是一种基于 XML 的协议,用于在网络上交换结构化信息。SOAP 消息通常通过 HTTP 进行传输,但也可以使用其他传输协议(如 SMTP)。

2024-11-25 10:45:52 833

原创 Java集合框架解析

Collections.synchronizedList(List list):返回一个线程安全的列表。Arrays.binarySearch(T[] a, T key):在已排序的数组中查找指定元素。Map.of(K k1, V v1, K k2, V v2, ...):创建一个不可变映射。> list):反转列表中的元素。Collections.sort(List list):对列表进行排序。List.of(E... elements):创建一个不可变列表。

2024-11-20 16:17:16 1216

原创 关于SQL的增删改查

默认值约束可以在插入记录时如果没有指定某些字段的值时,默认使用设定的值,从而简化数据输入过程。主键约束确保了表中的每一条记录都是唯一的,这有助于后续的操作,例如查询、更新或删除单条记录。select * from stu where name='张三' 0r name='李四'select 性别,sum(),count() from stu group by 性别。检查约束确保了年龄字段的值在合理的范围内,这样可以避免无效的数据插入。做值的约束比如: 性别限制(男,女)年龄限制(18~100)

2024-11-19 22:34:45 1033

原创 浅谈各大语言的优劣

编译后确定了什么信息,之后不再改变运行时可以改变、添加什么运行时是否保存着类型信息程序中的信息分为几类?语言举例汇编语言汇编语言没有动态性吗?没有。首先,寄存器、数据段、堆栈、代码段完全由程序员控制。完完全全是写死了的。然后,根据[冯诺伊曼机]的规则;取指令,执行,取指令,执行……既然都有数据段了,还要堆栈段来做什么?这不是多余?一开始本没有堆栈,直到60年代出现了module模块化,才有了堆栈。汇编中的模块叫子程序,不过仍旧靠程序员全权控制。堆栈和模块化的优点有?

2024-11-19 09:50:35 1181

原创 关于Java中算法的基础运用与讲解

采用分治策略,选择一个基准元素,将数组分成两部分,左边的元素都小于基准,右边的元素都大于基准,然后递归地对这两部分进行排序。内层循环:将当前元素与已排序部分的元素从后向前比较,如果已排序部分的元素大于当前元素,则将已排序部分的元素向后移动一位。内层循环:从位置 0 到 n-1-i,比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们。采用分治策略,将数组分成两半,递归地对这两半进行排序,然后合并这两个有序数组以形成最终的排序数组。System.out.println("冒泡排序后的数组:");

2024-11-18 11:52:22 753 1

原创 关于数据库:从基础到入门小技巧

Oracle介绍说,Oracle llg有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月。2007年7月12日,甲骨文公司在美国纽约宣布推出数据库Oracle llg,这是Oracle数据库的最新版本。如果左表中没有匹配,则使用NULL填充左表中的列。版本升级:Oracle8i,Oracle9i,Oracle10g,Oracle11g,Oracle12c。字段别名是通过 AS 关键字或者直接跟在列名后使用,可以给查询结果中的列名赋予新的名称,方便展示或者处理。

2024-11-18 11:47:53 599

原创 数据库美化

示例:SELECT u.id, u.username, o.order_id FROM users u JOIN orders o ON u.id = o.user_id;增加query_cache_size:虽然MySQL 8.0已经移除了查询缓存功能,但在早期版本中,合理配置查询缓存可以提高查询性能。开启慢查询日志:在MySQL配置文件中设置slow_query_log=1和long_query_time=2。增加key_buffer_size:这是MyISAM存储引擎的主要缓存,根据实际情况调整。

2024-11-17 19:03:50 596

原创 Java API笔记

Object类是所有其他类的直接或间接父类。在Java中,任何类如果没有显式地继承其他类,那么它将默认继 承Object类。toString():返回该对象的字符串表示形式,常用于调试和日志记录。equals(Object obj):判断两个对象是否相等,默认情况下比较的是对象的引用(即是否是同一个对 象)。在Java中,基本数据类型(如 int, char, boolean 等)不是对象,而是一些简单的数据值。为了能够将这些基本类型作为对象来操作,Java提供了对应的包装类。对应包装类。

2024-11-12 11:55:12 910

原创 My SQL笔记

3. 唯一性约束:唯一索引可以确保索引列中的所有值都是唯一的。增加 insert insert into 表名(列1,列2,...) values(值1,值2,...) (主键如果是自增的,可以忽略)insert into stu(name,age,sex) values('jack',19,'男')insert into stu(name,sex,age) values('jack','男',19)也可简化为LIMIT(范围),(范围) 逗号之前的值对应的是OFFSET,逗号之后的值对应LIMIT。

2024-11-10 11:30:00 2086 1

原创 Java OOP笔记

快捷键 ALT+SHIFT+S(快速搭建将私有化设置以及获得的方法 也即是set,get)private 私有的 设置之后不提供方法是无法修改数据的 确保数据的准确性和安全性。类概念较为模糊(大体) 而对象是十分具体的 对象包括对象的属性和方法(行为)replace ("省","大省")注:将省替换为大省。属性:对象具备的基本特征(如:狗的名字 年龄 颜色)方法:对象能具备的操作(如:狗能够跑 叫 吃喝)成员变量:放置在方法外的定义值(可公用数值)局部变量:只作用于方法内的(不可公用)

2024-11-07 11:30:00 458

原创 Java base笔记

proiect 项目 create 创建 src 代码存放源文件new 新建 package 包(分类存放)命名:com.公司.用途 class 类(写代码)Test 测试System.out.println 系统.输出.打印 (Syso再用alt+回车键)

2024-11-04 11:43:31 366

空空如也

空空如也

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

TA关注的人

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