window下解决端口占用问题

window下解决端口进程的命令:

  1. netstat -ano | findStr 8080 找到对应的线程pid,比如10025
  2. 使用taskKill /F /pid 10025杀死线程
阅读更多

设计模式--04.装饰者模式

在23种设计模式中,装饰者模式在游戏开发的过程中,使用的很是频繁。因为这个设计模式,把所有的业务的逻辑封装的对应的实体类中,从而为主流程减负了。首先看下一个应用场景

装饰者模式的应用

我们都知道有一款经典游戏90坦克,这个游戏中,玩家坦克来操作坦克打击AI敌人,在没打死一个红色坦克就会掉下来一个装备,这个装备可以提升移动速度,增加攻击力。

阅读更多

消息中间件--04. Kafka常用的命令

启动zookeeper

1
2
$ bin/zkServer.sh start conf/zoo.cfg &
$ bin/zkCli.sh

启动Kafka

我们启动两个实例:

1
2
3
$ bin/kafka-server-start.sh -daemon config/server.properties
$ bin/kafka-server-start.sh -daemon config/server-1.properties

阅读更多

杂文--01. 未选择的路

未选择的路
(罗伯特·弗罗斯特)

黄色的树林里分出两条路
可惜我不能同时去涉足
我在那路口久久伫立
我向着一条路极目望去

阅读更多

消息中间件--01. Kafka的几个疑问

Kafka是基于partition的模型,在消费的时候,消费者会和kafka建立一个绑定的关系。假设有一个topic有3个partition:P1,P2,P3,同时有一个消费group对应有3个消费者:C1,C2,C3,则消费会建立一个P1-C1,P2-C2,P3-C3的关系。

阅读更多

消息中间件--03. Kafka文件存储机制

kafka的文件系统

我们知道Kafka是一个Topic下有多个partition,具体结构如下:
Kafka架构

下面我们就探究下Kafka的partition的组成到底是什么。

阅读更多

消息中间件--02. Kafka架构

几个概念

broker:集群中的每一台服务器,称为Broker

topic或者subject:队列名

partition:一个队列中的消息可以存储到多台broker上面,一个broker中的分区,称为partition

阅读更多

Guava学习笔记--02. EventBus使用

Guava EventBus

EventBus 是Guava的一个发布订阅的模型,先看一个简单的实现:

  1. 定义一个Event的消息传递对象

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18

    public class TestEvent1 {
    private final int message;

    /**
    * 构造方法
    * @param message
    */
    public TestEvent1(int message) {
    this.message = message;
    // System.out.println("TestEvent1 事件message:"+message);
    }

    public int getMessage() {
    return message;
    }
    }

  2. 定义一个Listener

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class EventListener {
    public int lastMessage = 0;

    @Subscribe
    public void listen(TestEvent1 event) {
    lastMessage = event.getMessage();
    System.out.println("Message:"+lastMessage);
    }

    public int getLastMessage() {
    return lastMessage;
    }
    }

阅读更多

设计模式--03.观察者模式

观察者模式

观察者模式是一个消息的派发的模式,是把被观察者的状态能够及时的通知给观察者。

比如一个超市的打折了,需要把消息通知给每一个超市的顾客,这样就可以把超市作为一个被观察者,而顾客是观察者。

实现逻辑

观察者模式实现的类图如下:

观察者模式

阅读更多

设计模式--02.命令模式

命令模式

命令模式是把对象的操作方法分成一个命令,分别去执行。在分布式环境中,熔断和降级组件使用的设计模式就是命令模式。

为了了解什么是设计模式,可以类比下设计一个万能遥控器的设置,遥控器只负责一个方法的调用,真正的方法实现都在对应的电器上面。

使用的时候,只需要对对应的命令和实体进行注册下就可以了。具体的设计类图如下:

IO

阅读更多
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×