惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
美团技术团队
博客园_首页
罗磊的独立博客
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
Jina AI
Jina AI
V
V2EX
雷峰网
雷峰网
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
J
Java Code Geeks
O
OpenAI News
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 三生石上(FineUI控件)
T
Threatpost
Scott Helme
Scott Helme
Latest news
Latest news
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tor Project blog
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
C
Cyber Attacks, Cyber Crime and Cyber Security
有赞技术团队
有赞技术团队
大猫的无限游戏
大猫的无限游戏
C
CERT Recently Published Vulnerability Notes
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享
小众软件
小众软件
I
Intezer
The Hacker News
The Hacker News
Project Zero
Project Zero
博客园 - 叶小钗
T
Threat Research - Cisco Blogs
T
The Exploit Database - CXSecurity.com
S
Schneier on Security
阮一峰的网络日志
阮一峰的网络日志
腾讯CDC
NISL@THU
NISL@THU
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cybersecurity and Infrastructure Security Agency CISA
博客园 - 【当耐特】
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Hugging Face - Blog
Hugging Face - Blog
P
Privacy & Cybersecurity Law Blog
P
Proofpoint News Feed

博客园 - papering

This module supports asynchronous I/O on multiple file descriptors. 设置其优先级值的线程的句柄 QT 主线程 优化 卡顿 主线程上的同步重活 防重入:进行中直接 return,避免连点双开。 把「一次性任务」收到 ThreadPoolExecutor(max_workers=2~3),限制峰值线程数 统一 Activity 浮层 去掉连环成功弹窗 为 with语句上下文提供的工具 懒加载 IDE发现 import Canvas 指纹 魔改chromium源码——CDP(Chrome DevTools Protocol)检测01 whether the browser environment is controlled by a robot. chromium指纹魔改 对拷线 rpa 任务编排 a JSON formatted stream to ``fp`` “幽灵字符”问题 浏览器背后的黑科技 多进程 多线程 callback technique: signals and slots chrome 浏览器 调试 数据采集 Chrome DevTools ProtocolCDP PyInstaller 实现延迟导入 Storage mount options 汽车 OTA 技术体系 使用 grep 的扩展正则表达式功能 Python 中双下划线会触发名称修饰(mangling),通常用于避免子类覆盖, 容器内没有安装curl 验证web服务存在 在容器内执命令 连接数据库 http响应的 headers中拿到文件名 复制python项目文件,包含 包依赖 物理机 虚拟机 云厂商 裸金属服务器 CPU 透传 CPU Passthrough Docker 环境权限与资源限制 can't start new thread Seccomp security profiles Don't let containers reboot the host. Registry Pattern search_after 深度分页 Scrolling is not intended for real time user requests no longer recommend using the scroll API for deep pagination point in time PIT preserve the current index state kafka 大消 小消 依赖于中央数据库来协调网络中的查询 使用泛滥式查询(query flooding)来查询文件,搜索网络中的所有节点 使用分布式散列表来查询网络中的文件 使用 DHT (Distributed Hash Table,分布式哈希表) 替代 Tracker,标志着 P2P 系统从“有中心”进化到了“完全去中心化”。 STUN 负责“问路”(发现 IP),Tracker 负责“找人”(发现节点),而打洞失败时则靠 TURN “代跑”(转发数据) p2p 视频传输方案 UDP 打洞 attached detached shared memory 共享内存 shm ipcs folders of instructions, scripts, and resources that Claude loads dynamically to improve performance on specialized tasks complete specific tasks in a repeatable way 词元 指令 分词器 向量化 计算关系 输出回答 QQ 25 年进化史:从UDP到NT架构,支撑亿级在线的技术之路 如何设计一个IM单聊架构 长链接业务层 短链接业务层 go java python dart 内存模型区别 常规价将被永久拉低,难以重建价格锚点 AI对比功能强调的是产品的真实价值 LLM provider configuration luckclaw AI 智能体 Gateway 网关 技术架构的每一次重大更新,都被称作一次“脱壳” 具备“手脚”去在真实操作系统中“执行”任务的数字实体 供应链攻击从“欺骗人类”向“操纵AI逻辑”的演进 字符串相等 地址比较 内容比较 ‌ 零宽不连字, 不可见字符 ch.isprintable() purge会移除配置文件,而remove仅删除程序文件。 c# 异步 同步 请求 生成式引擎优化 Generative Engine Optimization GEO 内容优化策略 python lua 传值 传址 用AI原生的思维重新构建产品
go java python 面向对象区别
papering · 2026-04-09 · via 博客园 - papering

接口的常见用法

  1. 多态:不同类型实现同一接口,实现多态行为。
  2. 解耦:通过接口定义依赖关系,降低模块之间的耦合。
  3. 泛化:使用空接口 interface{} 表示任意类型。
特性JavaPythonGo
类的定义 必须有,严格层次 有,灵活 无类,只有结构体
继承方式 单继承,多接口实现 多继承 不支持,组合替代
多态 显式接口/继承 鸭子类型 隐式接口
设计哲学 高度结构化 动态、简单 组合优于继承
适用场景 企业级大型系统 AI、脚本、Web 网络服务、高并发

简而言之,Java 是经典 OOP,Python 是自由 OOP,Go 是以组合和接口为核心的非传统 OOP。

go 接口 策略模式

package main

import "fmt"

type PaymentStrategy interface {
Pay(amount float64) error
}

type CreditCard struct {
Number string
}

func (cc CreditCard) Pay(amount float64) error {
fmt.Printf("Paid $%.2f with credit card %s\n", amount, cc.Number)
return nil
}

type PayPal struct {
Email string
}

func (pp PayPal) Pay(amount float64) error {
fmt.Printf("Paid $%.2f via PayPal (%s)\n", amount, pp.Email)
return nil
}

type Order struct {
Amount float64
Strategy PaymentStrategy
}

func (o Order) Checkout() error {
return o.Strategy.Pay(o.Amount)
}

func main() {
order := Order{
Amount: 99.99,
Strategy: CreditCard{Number: "1234-5678"},
}
order.Checkout() // Paid $99.99 with credit card 1234-5678

order.Strategy = PayPal{Email: "user@example.com"}
order.Checkout() // Paid $99.99 via PayPal (user@example.com)
}

适配器模式

package main

import (
"fmt"
"os"
)

type Logger interface {
Log(message string)
}

type ConsoleLogger struct{}

func (cl ConsoleLogger) Log(message string) {
fmt.Println("[CONSOLE]", message)
}

type FileLogger struct {
File *os.File
}

func (fl FileLogger) Log(message string) {
fl.File.WriteString(message + "\n")
}

// 适配函数
type LogFunc func(string)

func (lf LogFunc) Log(message string) {
lf(message)
}

func main() {
// 使用函数作为适配器
logger := LogFunc(func(msg string) {
fmt.Println("[CUSTOM]", msg)
})
logger.Log("Hello")

logger1 := ConsoleLogger{}
logger1.Log("Hello")
}

// 1. 结构体 (Struct) - 替代类
type Person struct {
Name string
Age int
}

// 方法绑定到结构体
func (p Person) SayHello() string {
return fmt.Sprintf("Hello, my name is %s", p.Name)
}

// 2. 组合 - 替代继承
type Animal struct {
Name string
}

func (a Animal) Speak() string {
return "..."
}

type Dog struct {
Animal // 嵌入结构体,实现组合
Breed string
}

// Dog 自动拥有 Animal 的方法
dog := Dog{Animal: Animal{Name: "Buddy"}, Breed: "Labrador"}
fmt.Println(dog.Speak()) // 可以调用 Animal 的方法

# 3. 接口 (Interface) - 多态
type Speaker interface {
Speak() string
}

type Cat struct {
Name string
}

func (c Cat) Speak() string {
return "Meow"
}

// 隐式实现接口,无需显式声明
func MakeSound(s Speaker) {
fmt.Println(s.Speak())
}

MakeSound(Dog{}) // 输出: ...
MakeSound(Cat{}) // 输出: Meow

# 4. 封装 - 通过大小写控制可见性
type Account struct {
balance float64 // 小写开头,私有字段
Owner string // 大写开头,公有字段
}

// 公有方法访问私有字段
func (a *Account) Deposit(amount float64) {
a.balance += amount
}

func (a *Account) GetBalance() float64 {
return a.balance
}

传统 OOP
Go 的实现方式
类 (Class)
结构体 (Struct)


继承 (Inheritance)
组合/嵌入 (Composition/Embedding)


多态 (Polymorphism)
接口 (Interface)


封装 (Encapsulation)
大小写控制可见性


方法重载
不支持(使用不同函数名)