Java_actor

Java并发编程-Actor模式

Actor 模式是一种并发编程模型,它将每个并发实体视为一个独立的 Actor。

  • 每个 Actor 都有自己的状态和行为,并且通过异步消息传递进行通信。
  • Actor 之间不会共享状态,避免了传统并发编程中因共享状态带来的锁竞争、死锁等问题。

关键组件:

并发编程-不变性模式

Java不变性模式

不变性模式通过创建不可变对象来避免并发问题。不可变对象一旦创建就不能修改,天然线程安全。

不可变对象的特征

  • **状态不可变:**对象创建后状态不能改变
  • **所有字段都是final:**确保字段不能被重新赋值
  • **没有setter方法:**不提供修改状态的方法
  • **类是final的:**防止子类破坏不变性

举例说明

并发编程-单例模式

Java单例模式

单例模式是最常用的设计模式之一,但在多线程环境下,传统的单例实现可能存在线程安全问题。我们需要掌握各种线程安全的单例实现方式。

懒汉式单例

线程不安全的懒汉式

端口号只有65536个,能够用吗?

端口号只有65536个,能够用吗?

在计算机网络中,端口号的范围是 0 到 65535,共 65536 个端口。这一限制核心原因是 TCP/IP 协议的设计规范,可以从以下几个维度详细解释:

一、端口号的数量限制:源于 16 位无符号整数

TCP(传输控制协议)和 UDP(用户数据报协议)是互联网中最核心的传输层协议,它们的头部格式中,端口号字段被定义为 16 位(2 字节)。也就是取值范围为 $0 \sim2^{16}-1$,即0~65535

Java_generics

什么是泛型

先看Java标准库中的ArrayList ,这是一个“可变长”数组。内部通过Object[]数组实现

public class ArrayList {
    private Object[] array;
    private int size;
    public void add(Object e) {...}
    public void remove(int index) {...}
    public Object get(int index) {...}
}

在很久很久以前(泛型之前)如果用ArrayList存储String类型,需要强制转型

Java面向对象基础

Java面向对象基础

面向对象编程(Object-Oriented Programming,OOP)是一种编程范式。通过把现实中的事物抽象成程序中的对象(Object)来处理逻辑。Java是一门纯面向对象的编程语言。