- 面向对象编程中 is-a 和 has-a 的区别及使用场景
yinhezhanshen
算法jvm
在面向对象编程(OOP)的领域里,理解和运用正确的对象关系是构建健壮、可维护且高效软件系统的基石。其中,“is-a”和“has-a”关系是两种最基本且重要的概念,它们不仅定义了类与类之间的关联方式,还深刻影响着整个软件架构的设计。本文将深入探讨“is-a”和“has-a”关系的本质区别,并通过实际案例分析它们各自适用的场景。“is-a”关系:继承与多态的基石“is-a”关系在OOP中体现为继承(i
- Python 在开发中的设计模式有哪些?怎样使用?
炒青椒不放辣
Pythonpython设计模式
大家好!我是爱摸鱼的小鸿,关注我,收看每期的编程干货。今天我们要聊点硬核的——设计模式。不过,不用担心,我会带着热情来跟你分享这些看似枯燥的知识点。让我们一起从“代码搬砖工”蜕变成“代码艺术家”吧!目录一、设计模式是什么鬼?二、创建型模式三、结构型模式四、行为型模式五、结语六、作者Info一、设计模式是什么鬼?什么是设计模式呢?设计模式(DesignPattern)是软件工程中,针对某一特定问题的
- python——常用结构性设计模式
pumpkin84514
python相关python设计模式开发语言
结构性设计模式(StructuralDesignPatterns)主要用于组织和管理类与对象之间的关系,帮助构建灵活的、可扩展的结构。这类模式关注的是如何将不同的类或对象组合在一起,使得系统能够高效、灵活地响应变化。它们通过简化复杂系统、提高模块复用性、以及减少耦合来优化系统结构。常见的结构性设计模式适配器模式(AdapterPattern)装饰器模式(DecoratorPattern)代理模式(
- edge 更新到135后,Clash 打开后,正常网页也会自动跳转
今天又是学习
edge
发现了一个有意思的问题:edge更新135后,以前正常使用的clash出现了打开deepseek也会自动跳转:SearchResultshttps://zurefy.com/zu1.php#gsc.tab=0&gsc.q=deepseek,也就是不需要梯子的网站打不开了,需要的一直正常。这种现象我尝试更新clash和重置edge,都没有效果,发现就不是配置的事情,算是edge更新后对代理这块有了新
- Python中常用的设计模式有哪些?
NewmanEdwarda2
python设计模式开发语言
设计模式(DesignPatterns)是在软件设计中反复出现的问题的最佳解决方案。它们是经过验证的、可复用的设计,可以帮助我们更好地组织代码,提高代码的可读性和可维护性。Python作为一种灵活且强大的编程语言,自然也有很多设计模式的应用场景。下面将介绍Python中常用的几种设计模式。一、创建型设计模式创建型设计模式主要关注对象的创建过程,通过抽象类的实例化过程将其与具体的实现类解耦,使得软件
- 设计模式 Day 6:深入讲透观察者模式(真实场景 + 回调机制 + 高级理解)
嵌入式Jerry
设计模式设计模式观察者模式java
观察者模式(ObserverPattern)是一种设计结构中最实用、最常见的行为模式之一。它的魅力不仅在于简洁的“一对多”事件推送能力,更在于它的解耦能力、模块协作设计、实时响应能力。本篇作为Day6,将带你从理论、底层机制到真实工程项目实战,全方位、系统地掌握观察者模式,彻底吃透其设计价值。一、重新理解观察者模式的本质✅一句话总结:观察者模式的核心,是在被观察者状态变化时通知所有关心它的对象,从
- html js 发送http请求,js发送get 、post请求的方法简介(偷来的)
Fitz Hoo
htmljs发送http请求
POST请求:javascript发送的参数格式不一样,请求头设置不一样,具体参照Http请求中请求头Content-Type讲解php发送的参数格式不一样,后台获取方式也不相同php请看php获取POST数据的三种方法html1、使用XMLHttpRequestjava主要分三步:json第一步:建立须要的对象,这里主要用到的是XMLHttpRequest,注意须要考虑早期的IE;app第二步:
- 网站请求方式:GET 和POST
qq_42971463
php网站请求get和post的特点
网站请求方式:GET和POSTGET:GET通常用于获取服务端数据。常见发起GET请求的方式有:URL、src/href、表单(form)。GET方式提交数据的格式:格式:index.php?userName=jack&password=123(注意:index.php?key=value&key=value。userName=jack&password=123叫做查询字符串)参数名与参数值之间没
- Java中的面向对象编程核心思想
源滚滚编程
Javajava开发语言
面向对象编程(Object-OrientedProgramming,OOP)是Java语言的基石,其核心思想是将现实世界的事物抽象为具有属性与行为的对象,通过封装、继承和多态三大特性构建灵活、可维护的代码结构。这种编程范式不仅符合人类的认知习惯,还能有效管理复杂系统的设计与实现。类与对象的关系在Java中,类是对象的抽象模板,定义了对象的共有属性(成员变量)和行为(成员方法)。例如,定义一个描述“
- 精通Python正则表达式:文本处理与高效匹配的完全指南
技术蜜糖罐
pythonpython正则表达式开发语言数据结构后端
正则表达式(RegularExpressions)在Python中是一个强大的工具,用于处理文本的搜索和操作。它能够帮助你快速地匹配和查找符合特定模式的字符串,无论是简单的字符匹配还是复杂的模式搜索,都可以通过正则表达式来实现。基本语法和命令导入模块在Python中使用正则表达式,需要先导入re模块:importre常用方法re.search(pattern,string):在字符串中搜索匹配指定
- 从Oracle和TiDB的HTAP说起
薛晓刚
数据库
除了数据库行业其他技术群体很多不知道HTAP的时至今日还是有很多人迷信Hadoop,觉得大数据就是Hadoop。这是不正确的。也难怪这样,很多人OLTP和OLAP也分不清,何况HTAP。Oracle是垂直方向实现TiDB是水平方向实现我个人认为这是两种流派,清蒸和红烧就看自己的主观口味了OceanBase和Polardb的HTAP也是大同小异需要的就是类似具体如何实现的中文化文档仅为简单应用对比不
- 设计模式9-结构型设计模式-代理设计模式
若之灵动
Android-设计模式设计模式代理模式
编程是一门艺术,大批量的改动显然是非常丑陋的做法,用心的琢磨写的代码让它变的更美观。在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。找女朋友、找保姆、找工作等都可以通过找中介完成。在软件设计中,使用代理模式的例子也很多,例如,要访问的远程对象比较大(如视频或大图像等),其下载要花很多时间。还有因为安全原因需要屏蔽客户端直接访问真实对象
- 设计模式 Day 8:策略模式(Strategy Pattern)完整讲解与实战应用
嵌入式Jerry
设计模式设计模式策略模式
前情回顾:Day7重点回顾在Day7中,我们彻底讲透了观察者模式:它是典型的行为型模式,核心理念是“一变多知”,当一个对象状态变化时,自动通知所有订阅者。我们通过RxCpp实现了工业级的事件广播系统,实现了多个模块订阅同一个数据源。实战中,如协议解包系统、GUI事件响应、股票系统等,都广泛采用观察者机制。观察者模式强调“自动推送消息”,而今天我们进入策略模式,它更强调“主动选择行为”!策略模式(S
- Perl中的代理模式:代理的艺术与实践
2401_85742452
perl代理模式开发语言
Perl中的代理模式:代理的艺术与实践在软件开发中,代理模式是一种结构型设计模式,它为另一个对象提供一个代替或占位符对象以控制对它的访问。Perl作为一种灵活的脚本语言,非常适合实现代理模式,以提供额外的功能或访问控制。本文将深入探讨如何在Perl中实现代理模式,并展示具体的代码示例。一、代理模式概述代理模式包含以下几个关键角色:主题(Subject):定义了真实对象和代理对象的共同接口。真实主题
- C++继承完全指南:从语法到设计模式----图解原理+工业级代码示例+陷阱规避
张有志_
C++c++设计模式开发语言人工智能简单工厂模式
✨⚡️欢迎来到张有志的量子编程次元⚡️✨▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂核心探索舱⇩⇩⇩正在加载未来代码⇩⇩⇩▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔[思维矩阵]→⚡C++量子演算场⚡▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮交互协议✅知识下载前请先【点赞】激活能量塔✅源代码传输需【收藏】建立稳定连接✅欢迎在【评论】区留下时空印记▮▮▮▮
- 【Java设计模式】第6章 抽象工厂模式讲解
cherry5230
Java专栏java设计模式抽象工厂模式
6.抽象工厂模式6.1抽象工厂讲解定义:提供一个接口创建一系列相关或依赖对象,无需指定具体类。核心概念:产品等级结构:同一类型的不同产品(如Java视频、Python视频)。产品族:同一工厂生产的多个产品(如Java视频+Java手记)。适用场景:需要创建多个相关联的产品。系统需独立于产品的创建和组合过程。优点:保证产品族的完整性。扩展新产品族容易,符合开闭原则。缺点:扩展新产品等级需修改抽象接口
- QRegExp 类详细介绍
wanglaqqqq
#PyQt5.QtCoreqt开发语言python
QRegExp是PyQt5(Qt框架)中用于处理正则表达式的类,提供字符串匹配、搜索和替换功能,常用于输入验证、文本处理等场景。以下是详细介绍及常用方法:一、核心功能正则表达式匹配:验证字符串是否符合指定模式。字符串搜索:查找子串的匹配位置。文本替换:替换符合模式的字符串片段。捕获组:提取匹配的子表达式内容。二、构造函数pythonfromPyQt5.QtCoreimportQRegExp#创建正
- Python基础12-爬虫抓取网页内容
civilpy
python爬虫okhttp
在本文中,我们将学习如何使用Python的requests和BeautifulSoup库进行网页抓取。我们将从基本的网页请求开始,逐步扩展到更高级的主题,如处理分页、AJAX请求、正则表达式和异步抓取。1.使用requests获取网页要检索网页的内容,我们可以使用requests库。以下是一个简单的示例:importrequestsurl='https://example.com'response
- 端到端自动驾驶VLM模型:LMDrive: Closed-Loop End-to-End Driving with Large Language Models
机械心
端到端自动驾驶自动驾驶语言模型人工智能VLM端到端
论文地址:https://arxiv.org/pdf/2312.07488代码地址:https://github.com/opendilab/LMDrive1.摘要一方面,目前自动驾驶领域取得了显著进展,但在遇到长尾场景或复杂城市路况时,当前的自动驾驶方法仍容易失效甚至导致严重事故。另一方面,大语言模型(LLMs)展现出了接近“通用人工智能”的推理能力。因此,利用大语言模型所具备的“人类知识”帮助
- 详解Java设计模式之原型模式(Prototype)
三国帅帅的超
刨根问底设计模式原型模式java开发语言后端
引言 原型模式是一种创建型设计模式,允许通过复制现有对象来创建新对象,而无需深入了解其具体类结构和初始化过程。这种方式不仅简化了复杂对象的创建工作,还能够有效提升性能,尤其是在频繁创建相似对象的情况下,接下来将分为场景问题、解决方案、模式介绍、相关知识四个模块由浅入深来学习原型模式。如有疏漏与不足,恳请不吝赐教,非常感谢! 原型模式定义:用原实例指定创建对象的种类,并通过拷贝这些原型实例创建新
- C++几种工厂模式和实现实例
洛克希德马丁
C++c++java算法设计模式
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、什么是工厂模式二、介绍1.简单工厂2.工厂方法模式3.抽象工厂使用场景总结前言常写C++代码的人一定对于工厂模式不陌生,今天这篇文章就介绍下几种常见的工厂模式并说明使用场景一、什么是工厂模式简而言之,工厂模式是一种设计模式,是对开闭原则编程的一种展现。二、介绍所有的示例代码基于C++17版本,如果你用了C++11,就会
- Java 设计模式:策略模式详解
自在如风。
设计模式java设计模式策略模式
Java设计模式:策略模式详解策略模式(StrategyPattern)是一种行为型设计模式,它定义了一系列算法,将每个算法封装起来,并使它们可以相互替换。策略模式让算法的变化独立于使用算法的客户端,从而提高代码的灵活性和可维护性。本文将介绍策略模式的定义、实现方式及其在Java中的应用。1.什么是策略模式?策略模式的核心思想是:将不同的行为或算法抽象为独立的对象,通过上下文动态选择和执行这些策略
- 决战设计模式01——设计模式概论
Allen Wurlitzer
理论-Web后端设计模式数据库java
更新时间:2025-04-07Web后端专栏:CSDN专栏——理论-Web后端技术博客总目录:计算机技术系列博客——目录页一、设计模式概念与历史设计模式(DesignPattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是
- C# 属性(Property)
froginwe11
开发语言
C#属性(Property)引言在C#编程语言中,属性(Property)是一种强大的功能,它允许开发者以类似字段(Field)的方式访问数据,但提供了额外的封装和灵活性。属性在.NET框架中扮演着重要角色,是面向对象编程(OOP)的核心概念之一。本文将详细介绍C#属性的定义、用法、封装以及其在实际开发中的应用。属性的定义属性(Property)是类(Class)或结构(Structure)的成员
- aidigu开源微博项目程序,PHP开发的开源微博系统,自媒体个人创业、网盘推广首先
2301_78755287
php媒体开发语言开源数据库开发
一、软件介绍文末提供程序和源码下载学习PHP开发的开源微博系统,采用PHP+MySQL开发,框架采用ThinkPHP5.1,用户登录后拥有专属ID,支持表情、关注用户,网盘分享等功能,支持图片上传,视频上传,网盘存储分享。测试地址http://t.aidigu.cn二、安装方式1.克隆源码,导入数据库即可(文末提供下载)2.复制example_env为.env并修改.env相关配置3.网站的运行目
- redisson分布式锁php实现,分布式开发必备技能-分布式锁-redisson实现(含源码)
倔骆驼
分布式开发必备技能-分布式锁-redisson实现背景很久很久以前,我们的架构都是单体架构,项目也只会部署到一台服务器,基于JVM的java同步工具(如ReentrantLcok或synchronized)完全可以保证我们的业务的原子性;随着微服务,分布式的出现,一个项目会部署到多台服务器(多个JVM),这时候多个服务之间的一系列操作要保证原子性,基于JVM的java同步工具(如Reentrant
- scala和spark用到的依赖_使用scala开发spark入门总结
淡庸
使用scala开发spark入门总结一、spark简单介绍关于spark的介绍网上有很多,可以自行百度和google,这里只做简单介绍。推荐简单介绍连接:http://blog.jobbole.com/89446/1、spark是什么?Spark是UCBerkeleyAMPlab(加州大学伯克利分校的AMP实验室)所开源的类HadoopMapReduce的通用并行框架。一般配合hadoop使用,可
- 【037】C++中的四种强制类型转换:static_cast、const_cast、dynamic_cast和reinterpret_cast详解
Lion 莱恩呀
C++从零开始到精通c++开发语言数据结构C++11类型转换vscode
C++的强制类型转换引言一、类型转换简介二、上行、下行转换的概述三、static_cast静态类型转换四、dynamic_cast静态类型转换(推荐使用)五、const_cast常量转换六、reinterpret_cast重新解释转换(最不安全)七、总结引言作者简介:作者简介:专注分享高性能服务器后台开发技术知识,涵盖多个领域,包括C/C++、Linux、网络协议、设计模式、中间件、云原生、数据库
- Yarn资源管理和任务调度原理与代码实例讲解
杭州大厂Java程序媛
DeepSeekR1&AI人工智能与大数据javapythonjavascriptkotlingolang架构人工智能
Yarn资源管理和任务调度原理与代码实例讲解1.背景介绍HadoopYARN(YetAnotherResourceNegotiator)是一个开源的分布式资源管理系统,负责分配集群中的计算资源,并调度各种分布式应用。YARN项目最初由Facebook开发,后来成为Apache基金会的顶级项目。1.1问题由来随着大数据和云计算技术的不断成熟,数据中心需要管理越来越多的工作负载。然而,现有的集中式资源
- yarn 的三大调度策略?思维导图 代码示例(java 架构)
用心去追梦
java架构python
YARN(YetAnotherResourceNegotiator)是Hadoop生态系统中的资源管理和调度框架,它提供了多种调度策略来优化任务执行。以下是关于YARN三大主要调度策略的详细介绍、思维导图描述以及一个简单的Java代码示例来展示如何与配置好的YARN集群进行交互。YARN的三大调度策略FIFOScheduler(先进先出调度器)特点:最简单直接的调度方式。所有应用程序按照提交顺序排
- html页面js获取参数值
0624chenhong
html
1.js获取参数值js
function GetQueryString(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = windo
- MongoDB 在多线程高并发下的问题
BigCat2013
mongodbDB高并发重复数据
最近项目用到 MongoDB , 主要是一些读取数据及改状态位的操作. 因为是结合了最近流行的 Storm进行大数据的分析处理,并将分析结果插入Vertica数据库,所以在多线程高并发的情境下, 会发现 Vertica 数据库中有部分重复的数据. 这到底是什么原因导致的呢?笔者开始也是一筹莫 展,重复去看 MongoDB 的 API , 终于有了新发现 :
com.mongodb.DB 这个类有
- c++ 用类模版实现链表(c++语言程序设计第四版示例代码)
CrazyMizzz
数据结构C++
#include<iostream>
#include<cassert>
using namespace std;
template<class T>
class Node
{
private:
Node<T> * next;
public:
T data;
- 最近情况
麦田的设计者
感慨考试生活
在五月黄梅天的岁月里,一年两次的软考又要开始了。到目前为止,我已经考了多达三次的软考,最后的结果就是通过了初级考试(程序员)。人啊,就是不满足,考了初级就希望考中级,于是,这学期我就报考了中级,明天就要考试。感觉机会不大,期待奇迹发生吧。这个学期忙于练车,写项目,反正最后是一团糟。后天还要考试科目二。这个星期真的是很艰难的一周,希望能快点度过。
- linux系统中用pkill踢出在线登录用户
被触发
linux
由于linux服务器允许多用户登录,公司很多人知道密码,工作造成一定的障碍所以需要有时踢出指定的用户
1/#who 查出当前有那些终端登录(用 w 命令更详细)
# who
root pts/0 2010-10-28 09:36 (192
- 仿QQ聊天第二版
肆无忌惮_
qq
在第一版之上的改进内容:
第一版链接:
http://479001499.iteye.com/admin/blogs/2100893
用map存起来号码对应的聊天窗口对象,解决私聊的时候所有消息发到一个窗口的问题.
增加ViewInfo类,这个是信息预览的窗口,如果是自己的信息,则可以进行编辑.
信息修改后上传至服务器再告诉所有用户,自己的窗口
- java读取配置文件
知了ing
1,java读取.properties配置文件
InputStream in;
try {
in = test.class.getClassLoader().getResourceAsStream("config/ipnetOracle.properties");//配置文件的路径
Properties p = new Properties()
- __attribute__ 你知多少?
矮蛋蛋
C++gcc
原文地址:
http://www.cnblogs.com/astwish/p/3460618.html
GNU C 的一大特色就是__attribute__ 机制。__attribute__ 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute )。
__attribute__ 书写特征是:
- jsoup使用笔记
alleni123
java爬虫JSoup
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.7.3</version>
</dependency>
2014/08/28
今天遇到这种形式,
- JAVA中的集合 Collectio 和Map的简单使用及方法
百合不是茶
listmapset
List ,set ,map的使用方法和区别
java容器类类库的用途是保存对象,并将其分为两个概念:
Collection集合:一个独立的序列,这些序列都服从一条或多条规则;List必须按顺序保存元素 ,set不能重复元素;Queue按照排队规则来确定对象产生的顺序(通常与他们被插入的
- 杀LINUX的JOB进程
bijian1013
linuxunix
今天发现数据库一个JOB一直在执行,都执行了好几个小时还在执行,所以想办法给删除掉
系统环境:
ORACLE 10G
Linux操作系统
操作步骤如下:
第一步.查询出来那个job在运行,找个对应的SID字段
select * from dba_jobs_running--找到job对应的sid
&n
- Spring AOP详解
bijian1013
javaspringAOP
最近项目中遇到了以下几点需求,仔细思考之后,觉得采用AOP来解决。一方面是为了以更加灵活的方式来解决问题,另一方面是借此机会深入学习Spring AOP相关的内容。例如,以下需求不用AOP肯定也能解决,至于是否牵强附会,仁者见仁智者见智。
1.对部分函数的调用进行日志记录,用于观察特定问题在运行过程中的函数调用
- [Gson六]Gson类型适配器(TypeAdapter)
bit1129
Adapter
TypeAdapter的使用动机
Gson在序列化和反序列化时,默认情况下,是按照POJO类的字段属性名和JSON串键进行一一映射匹配,然后把JSON串的键对应的值转换成POJO相同字段对应的值,反之亦然,在这个过程中有一个JSON串Key对应的Value和对象之间如何转换(序列化/反序列化)的问题。
以Date为例,在序列化和反序列化时,Gson默认使用java.
- 【spark八十七】给定Driver Program, 如何判断哪些代码在Driver运行,哪些代码在Worker上执行
bit1129
driver
Driver Program是用户编写的提交给Spark集群执行的application,它包含两部分
作为驱动: Driver与Master、Worker协作完成application进程的启动、DAG划分、计算任务封装、计算任务分发到各个计算节点(Worker)、计算资源的分配等。
计算逻辑本身,当计算任务在Worker执行时,执行计算逻辑完成application的计算任务
- nginx 经验总结
ronin47
nginx 总结
深感nginx的强大,只学了皮毛,把学下的记录。
获取Header 信息,一般是以$http_XX(XX是小写)
获取body,通过接口,再展开,根据K取V
获取uri,以$arg_XX
&n
- 轩辕互动-1.求三个整数中第二大的数2.整型数组的平衡点
bylijinnan
数组
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ExoWeb {
public static void main(String[] args) {
ExoWeb ew=new ExoWeb();
System.out.pri
- Netty源码学习-Java-NIO-Reactor
bylijinnan
java多线程netty
Netty里面采用了NIO-based Reactor Pattern
了解这个模式对学习Netty非常有帮助
参考以下两篇文章:
http://jeewanthad.blogspot.com/2013/02/reactor-pattern-explained-part-1.html
http://gee.cs.oswego.edu/dl/cpjslides/nio.pdf
- AOP通俗理解
cngolon
springAOP
1.我所知道的aop 初看aop,上来就是一大堆术语,而且还有个拉风的名字,面向切面编程,都说是OOP的一种有益补充等等。一下子让你不知所措,心想着:怪不得很多人都和 我说aop多难多难。当我看进去以后,我才发现:它就是一些java基础上的朴实无华的应用,包括ioc,包括许许多多这样的名词,都是万变不离其宗而 已。 2.为什么用aop&nb
- cursor variable 实例
ctrain
variable
create or replace procedure proc_test01
as
type emp_row is record(
empno emp.empno%type,
ename emp.ename%type,
job emp.job%type,
mgr emp.mgr%type,
hiberdate emp.hiredate%type,
sal emp.sal%t
- shell报bash: service: command not found解决方法
daizj
linuxshellservicejps
今天在执行一个脚本时,本来是想在脚本中启动hdfs和hive等程序,可以在执行到service hive-server start等启动服务的命令时会报错,最终解决方法记录一下:
脚本报错如下:
./olap_quick_intall.sh: line 57: service: command not found
./olap_quick_intall.sh: line 59