自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式祛魅之【观察者模式】——你不知道的 Java(9)

想象一下你关注了某个技术大佬的公众号(比如我这个,咳咳…)。大佬(,被观察者/主题)一发布新文章,微信(平台机制)就会自动通知所有关注了他的粉丝(Observer,观察者)。你作为粉丝,只需要做一件事:关注(等文章来了,你就收到通知,然后去阅读(Update如果哪天你不想关注了,取关()就行。定义对象间的一种一对多的依赖关系,当一个对象(Subject)的状态发生改变时,所有依赖于它的对象(Observers)都将得到自动通知并更新。

2025-04-07 22:29:53 487

原创 设计模式祛魅之【模板方法模式】——你不知道的 Java(8)

模板方法模式,这位看似简单的老大哥,其实蕴含着深刻的面向对象设计思想。它通过定义一套标准流程,并将变化点延迟到子类实现,完美地体现了代码复用和开闭原则。它的核心价值在于封装不变,分离可变:将稳定的算法结构封装在父类,易变的部分交给子类,职责清晰。代码复用:公共的步骤和逻辑在抽象父类中实现一次即可,避免了在各个子类中复制代码。扩展性好:增加新的算法变种,只需要添加新的子类,符合开闭原则。规范流程:强制子类遵循预定义的算法流程,保证了核心逻辑的统一性。

2025-04-06 21:33:31 785

原创 深入解析 Java 克隆机制:原理、实现与最佳实践——你不知道的 Java(7)

在 Java 开发中,我们经常需要创建对象的副本。有时是为了保护原始对象不被修改,有时是为了在多线程环境中安全地传递数据,或者仅仅是需要一个具有相同状态的新起点。Java 提供了 `clone()` 方法来实现这一目的,但它的机制和使用方式却有不少“坑”和需要注意的细节。本文将带你深入理解浅克隆、深克隆,并探讨各种场景下的最佳实践。

2025-04-05 18:34:00 472

原创 一文理清类、接口、抽象类之间的继承、实现关系——你不知道的 Java(6)

在面向对象编程(OOP)中,类(Class)、抽象类(Abstract Class)和接口(Interface)是构建软件系统的基石。它们之间的继承(Inheritance)和实现(Implementation)关系构成了OOP中代码复用、抽象和多态的核心机制。然而,这些关系有时会让人混淆。本文旨在彻底厘清这三者之间所有有效的继承和实现关系,并辅以简要图示和代码示例。

2025-04-03 00:26:58 926

原创 HashSet 底层原理和最佳实践——你不知道的 Java(5)

HashSet用起来简单方便,但想用好、避免踩坑,就得明白它的“后台老板”是HashMap,以及它是如何依赖hashCode()和equals()这俩“左膀右臂”来工作的。所以,下次再遇到HashSet我的hashCode()和equals()方法,写对了吗?我动了不该动的对象属性吗?HashSet:你以为它只是个简单的“去重工具”?不,它其实是个对hashCode和equals很讲原则的“细节控”!希望这篇文章对你有帮助!

2025-04-02 01:40:12 813

原创 HashMap vs. Hashtable: 别再踩这个坑!——你不知道的 Java(4)

在 Java 开发中,Map 接口的实现类 HashMap 和 Hashtable 是我们存储键值对数据的常用工具。它们都提供了快速的查找、插入和删除操作。然而,它们之间存在一些关键差异,如果不了解这些差异,很容易在不经意间踩到“坑”。今天,我们就从一个非常容易遇到的坑开始,逐步深入探讨 HashMap 和 Hashtable 的区别及其底层实现。

2025-04-01 01:19:20 693

原创 Java 中的 == 与 equals():不要再掉进“字符串相等”的陷阱!——你不知道的 Java(3)

好了,让我们来总结一下==和equals()==运算符:比较值是否相等。比较两个引用变量是否指向堆内存中的同一个对象实例(比较内存地址)。equals()源自Object类,默认实现是==。设计意图是比较两个对象在逻辑上是否相等(比较内容/状态)。核心类库(如StringIntegerDate等)已经重写了equals()以实现内容比较。自定义类如果需要比较内容,必须重写equals(),并严格遵守其约定。hashCode()与equals()紧密相关。重写equals()时,必须同时重写。

2025-03-31 11:22:30 923

原创 揭秘 Java 包装类缓存机制——你不知道的 Java(2)

在 Java 编程中,包装类(如 Integer、Long、Character 等)是不可或缺的一部分,它们为基本数据类型提供了对象化的支持。然而,频繁创建和销毁包装类对象可能会带来性能开销和内存浪费。为了解决这一问题,**Java 引入了包装类缓存机制,通过缓存常用范围内的对象,显著提升了程序性能并减少了内存占用**。本文将深入探讨 Java 包装类缓存机制的原理、实现方式以及在实际开发中的应用,以避免在工作中犯低级错误。

2025-03-29 16:36:12 790

原创 为什么 Java 不推荐使用 Stack——你不知道的 Java(1)

Java 不推荐使用Stack的主要原因是它的设计存在缺陷,包括继承Vector带来的问题、性能开销以及不符合现代编程实践。取而代之的是,推荐使用Deque接口的实现类(如ArrayDeque)来实现栈的功能,这种方式更灵活、更高效,也更符合现代编程的最佳实践。

2025-03-25 22:22:26 269

原创 JS 数组方法 splice 完全解读

(一)splice方法splice 方法用于数组或伪数组,根据参数个数和形式的不同,可以在数组中删除指定元素或者插入元素、替换元素。1. 参数个数为 1 的情况1.1 语法arr.splice(i)当 splice 方法的参数只有 1 个的时候(i),表示删除数组中索引为 i 及 i 之后的所有元素。返回删除的元素,数组原地修改。其中,参数 i 是整数。对于 i 分情况:i 为非负整数:删除数组中索引为 i 及 i 之后位置上所有的元素i 为负整数:索引从后往前计算,最后一位索引是 -1

2022-03-21 22:06:11 40305 3

原创 sql server <DROP TABLE 模式名 CASCADE> 显示 “关键字 ‘CASCADE‘ 附近有语法错误”的原因及解决办法

在使用 DROP TABLE <模式名> CASCADE 语句删除模式的时候,报错:DROP SCHEMA TEST CASCADE;Msg 156, Level 15, State 1, Server LENOVO, Procedure , Line 0关键字 ‘CASCADE’ 附近有语法错误。后来通过查询资料,发现原来是 SQL Server 不支持 CASCADE 和 RESTRICT 了。要正确删除模式,先删除模式下的表和视图等数据对象,然后再删除模式。示例:DROP

2021-04-11 11:07:49 4173 1

原创 sql server在指定模式下创建表

在 sql server 下创建表的时候哦,每次都是默认创建在 dbo 模式下,使用以下代码可将表创建在指定模式下。1.  创建模式-- 用户名要提前创建好并赋予相应权限,否则会报错CREATE SCHEMA <模式名> AUTHORIZATION <用户名>;2.  在该模式下创建表CREATE TABLE <模式名>.<表名>( <列名> <数据类型> [列级完整约束性条件],

2021-04-11 10:55:30 3701

原创 sql server 中三种数据库文件的含义和作用

在微软的SQL Server 2000 数据库有三种类型的文件:.mdf,.ndf,.ldf主要数据文件扩展名:.mdf,是 primary data file 的缩写主要数据文件包含数据库的启动信息,并指向数据库中的其他文件。用户数据和对象可存储在此文件中,也可以存储在次要数据文件中。每个数据库有一个主要数据文件。主要数据文件的建议文件扩展名是 .mdf。  SQL Server的每个数据库是以两个文件存放的,一个后缀名为mdf,是数据文件,另一个后缀名为ldf,为日志文件。因此只要定期复制这两

2021-04-09 09:11:54 7477 1

原创 前端学习笔记(五)CSS选择器与文本属性

这是我学习B站pink老师的前端教程时自己手打的笔记,对你有用,点赞收藏关注三连走起!1. CSS 简介1.1 HTML 的局限性HTML 是网友的骨架,只关注内容的语义。例如<h1>表示大标题,<p>表示段落。早期的时候,HTML 只能做一些简单的样式,网页非常丑,而且使 HTML 代码臃肿。1.2 CSS-网页的美容师CSS 是 层叠样式表(Cascading Style Sheets)的简称。CSS 也是一种标记语言。CSS 主要用于设置 HTML 页面中的.

2021-03-17 08:58:16 204

原创 前端学习笔记(四)网站SEO优化之TDK三大标签

这是我学习B站pink老师的前端教程时自己手打的笔记,对你有用,点赞收藏关注三连走起!1. TDK 标签 SEO 优化SEO(Search Engine Optimization),即搜索引擎优化,是一种利用搜索引擎的规则提高网站在有关搜索引擎内自然排名的方式。SEO 的目的是对网站进行深度优化,从而帮助网站获得免费流量,进而在搜索引擎上提升网站排名,提高网站知名度。页面必须有三个标签用来进行 SEO 优化。titledescriptionkeyword<!-- 网站标题 --.

2021-03-17 08:56:07 626

原创 前端学习笔记(三)HTML 标签(下)

这是我学习B站pink老师的前端教程时自己手打的笔记,对你有用,点赞收藏关注三连走起!1. 表格标签1.1 表格的主要作用表格主要用于显示、展示数据,因为可以让数据显示非常规整,可读性好。表格不是来布局的,而是来展示数据的。1.2 表格基本语法<table></table> 用于定义表格的标签。<tr></tr> 标签用于定义表格中的行,必须嵌套在 <table></table>中。<td></t.

2021-03-17 08:53:54 130

原创 前端学习笔记(二)HTML标签(上)

这是我学习B站pink老师的前端教程时自己手打的笔记,对你有用,点赞收藏关注三连走起!1. HTML 语法规范1.1 基本语法规范HTML 标签是由尖括号包围的关键词,例如<html>。HTML 标签通常是成对出现的,例如<html>和<html/>,称为双标签。第一个是开始标签,第二个是结束标签。有些特殊标签必须是单个标签(极少情况),例如<br/>,我们称之为单标签。1.2 标签关系标签关系可以分为两类:包含关系和并列关系2. HT.

2021-03-17 08:51:19 209

原创 前端学习笔记(一)HTML简介

(一)HTML简介1. 网页1.1 什么是网页网页是根据因特网上一定的规则,使用html等制作的用于展示特定内容的网页集合。网页是构成网站的基本元素。网页是图片、链接、文字、声音、视频等源深路组成,其实就是一个html文件。1.2 什么是HTMLHTML指的是超文本标记语言(Hyper Text Markup Language),它是用来描述网页的一种语言。HTML不是一种编程语言,而是一种标记语言(markup language)。标记语言是一套标记标签(markup tag)。超文本

2021-03-17 08:47:44 113

原创 学生邮箱白嫖正版JetBrains全家桶

学生邮箱白嫖正版JetBrains全家桶学Java的人都应该知道Intellij IDEA——一个强大的用于java开发的IDE。但是这对普通人要收费,是一笔不小的费用。如果你是在校大学生,那么就可以申请IDEA的免费使用。JetBrains系列是一套强大好用的IDE,IDEA只是其中之一,只要申请了一次之后就可以用申请的账号登录 JetBrains 的包括 IDEA 在内其他所有IDE。法...

2020-04-28 08:43:09 2772 2

空空如也

空空如也

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

TA关注的人

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