bossGroup有个Selector,当执行selector.selectedKeys方法时,会得到一个SelectionKey的set(bossGroup对应的Selector只对连接事件OP_ACCEPT感兴趣)。得到这个set之后就会遍历它,对每个元素调用accept方法来得到SocketChannel,然后将这个SocketChannel注册到workerGroup对应的Selector并设置感兴趣的事件为OP_READ、OP_WRITE.当客户端发送数据时,workerGroup对应的Selector就会感知,通过调用workerGroup的Selector的selectedKe...

  Ta2cNb9VdLMk   2023年12月22日   16   0   0 客户端Javajava客户端

Handler类 packagecn.edu.tju; importjava.io.IOException; importjava.nio.ByteBuffer; importjava.nio.channels.SelectionKey; importjava.nio.channels.Selector; importjava.nio.channels.SocketChannel; importjava.util.Date; finalclassHandlerimplementsRunnable{ finalSocketChannelsocket; finalSelectionKeys...

ChannelId代表了一个Channel的全局标识符。它提供了asShortText和asLongText两个方法来返回对应的字符串

ChannelFactory为接口,其定义了一个newChannel方法,用来返回Channel对象。 ReflectiveChannelFactory实现了ChannelFactory接口, 它通过反射的方式创建Channel对象

  Ta2cNb9VdLMk   2023年12月19日   15   0   0 Javajava

ServerBootstrap的group方法用来给成员变量赋值,如下图 AbstractBootstrap为ServerBootstrap的父类。 ServerBootstrap的channel方法用来设置channelFactory成员变量(在父类AbstractBootstrap里) ServerBootstrap的childHandler方法用来给本类的成员变量赋值。

这个类封装了一个ThreadFactory,同时提供了一个execute方法,用来把Runnable提交给ThreadFactory来执行

  Ta2cNb9VdLMk   2023年12月19日   42   0   0 javaJava封装封装

它继承了jdk的Future,增加了一系列的方法 / IO操作完成 / booleanisSuccess(); / 能否通过cancel方法取消任务 / booleanisCancellable(); / IO失败时返回原因 / Throwablecause(); / 增加listener,任务完成时listener会被通知(operationComplete方法会被调用) / Future<V>addListener(GenericFutureListener<?extendsFuture<?superV>>listener); / 增加lis...

packagetju; importorg.apache.hadoop.fs.FsUrlStreamHandlerFactory; importorg.apache.hadoop.io.IOUtils; importjava.io.InputStream; importjava.net.MalformedURLException; importjava.net.URL; importjava.net.URLStreamHandlerFactory; publicclassReadFile3{ publicstaticvoidmain(String[]args)throwsExcept...

packagenio; importjava.io.RandomAccessFile; importjava.nio.MappedByteBuffer; importjava.nio.channels.FileChannel; publicclassMappedByteBufferTest{ publicstaticvoidmain(String[]args)throwsException{ RandomAccessFilerandomAccessFile=newRandomAccessFile("d:\\1122.txt","rw"); FileChannelfileChannel=...

packagetju; importorg.apache.hadoop.conf.Configuration; importorg.apache.hadoop.fs.FSDataInputStream; importorg.apache.hadoop.fs.FSDataOutputStream; importorg.apache.hadoop.fs.FileSystem; importorg.apache.hadoop.fs.Path; importorg.apache.hadoop.io.IOUtils; importjava.io.File; importjava.io.FileI...

EventLoopGroupbossGroup=newNioEventLoopGroup(); 不加参数创建NioEventLoopGroup的话,会使用cpu核数2作为bossGroup的线程数。

  Ta2cNb9VdLMk   2023年12月15日   61   0   0 Javajava

一、依赖 <?xmlversion="1.0"encoding="UTF-8"?> <projectxmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersio...

一、 packagecn.edu.tju; importorg.apache.rocketmq.client.producer.DefaultMQProducer; importorg.apache.rocketmq.client.producer.MessageQueueSelector; importorg.apache.rocketmq.client.producer.SendResult; importorg.apache.rocketmq.client.producer.SendStatus; importorg.apache.rocketmq.common.message.M...

四种:looking(选举中)、leading(leader)、following(follower)、observer(观察者角色)

  Ta2cNb9VdLMk   2023年12月06日   145   0   0 zookeeperzookeeper

主类:QuorumPeerMain, 其中调用了main对象的initializeAndRun方法, 首先定义了QuorumPeerConfig对象,然后调用了parse方法,parse方法代码如下: 其中调用的parseProperties方法的代码如下: 可以看到,它读取了dataDir和clientPort等配置信息,最后调用了setupQuorumPeerConfig setupQuorumConfig方法代码如下: 其中调用的setupMyId的代码如下: 可以看到其中通过读取指定目录的myid这个文件来设置id.返回到initializeAndRun方...

  Ta2cNb9VdLMk   2023年12月06日   148   0   0 zookeeperzookeeper

一、handler定义: packagehandler; importio.netty.channel.ChannelHandlerContext; importio.netty.channel.ChannelInboundHandlerAdapter; publicclassMyChatServerHandler3extendsChannelInboundHandlerAdapter{ @Override publicvoiduserEventTriggered(ChannelHandlerContextctx,Objectevt)throwsException{ System.ou...

引入如下的BeanPostProcessor •ConfigurationClassPostProcessor •AutowiredAnnotationBeanPostProcessor •CommonAnnotationBeanPostProcessor •PersistenceAnnotationBeanPostProcessor •EventListenerMethodProcessor 如果xml文件配置了bean中使用了@Autowired注解,则需要添加,否则不会进行注入。 packagecn.edu.tju.domain; importorg.springframewo...

packagecn.edu.tju.controller; importorg.springframework.context.annotation.Scope; importorg.springframework.web.bind.annotation.RequestMapping; importorg.springframework.web.bind.annotation.RestController; importjavax.annotation.PostConstruct; importjavax.annotation.PreDestroy; @RestController ...

packagecn.edu.tju.service; publicclassBeerService{ publicvoiddefaultInit(){ System.out.println("defaultinitmethod......"); } publicvoidmyInitMethod(){ System.out.println("myinitmethod......"); } } <?xmlversion="1.0"encoding="UTF-8"?> <beansxmlns="http://www.springframework.org/schema/...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~