自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

原创 线上问题总结------跨服状态改变问题

游戏中有各种跨服活动,在大部分战斗中没有出现问题,但是在擂台赛出现了选择。 刚开始查看觉得是客户端问题,其实确实是中心服服务器的问题。 消息发到中心服后,在中心服改变了武将的状态,但是在发送回游戏服时,出现了characters为空,直接返回。 if ( this.getType() != BattleType.BATTLE_TYPE_SUPREME ) { if (characters.isEmpty()) { return; } } ...

2020-06-30 18:19:06 128

原创 BIO、NIO、AIO

BIO-会产生阻塞 NIO-非阻塞 单线程模型-轮询模式--相当于selector负责client的连接并负责client的读写 package com.xmg.nio; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import...

2020-06-25 08:44:44 101

原创 java如何停止一个正在运行的线程

停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作。停止一个线程可以用Thread.stop()方法,但最好不要用它。虽然它确实可以停止一个正在运行的线程,但是这个方法是不安全的,而且是已被废弃的方法。在java中有以下3种方法可以终止正在运行的线程: 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。 使用stop方法强行终止,但是不推荐这个方法,因为stop和suspend及resume一样都是过期作废的方法。 使用interrupt方法中断线程。 1. 停

2020-06-23 10:48:50 1445

原创 Mysql 聚集索引和非聚集索引区别

1)聚集索引和非聚集索引区别------------聚簇索引和非聚簇索引区别 1.在InnoDb中主键索引即为聚集索引,数据存储在B+树的叶子节点,索引和数据放在一起 2.非聚集索引:指的是非主键索引,非主键索引叶子节点数据存储的是主键索引的ID,真实数据没有和索引放一起 2)为什么非主键索引存储的是主键索引非真实数据 为了数据的一致性,对一个索引数据进行修改将会导致其他索引也修改,需要改很多地方,开销大。 占用磁盘空间。 通过时间换空间 ...

2020-06-18 22:44:39 924

原创 FutureTask源码分析

1.7个状态

2020-06-14 19:54:51 100

原创 FutureTask源码分析-重点方法

FutureTask源码分析1.FutureTask的7中状态转换2.重点方法分析1.get()2.run()3 cancel()3 举例代码 1.FutureTask的7中状态转换 ​​ 2.重点方法分析 1.get() /** * @throws CancellationException {@inheritDoc} */ public V get() throws InterruptedException, ExecutionException { int s = state; /

2020-06-14 19:54:05 169

原创 package io.netty.handler.codec.ReplayingDecoder

package xmg.quest.netty.core; /** * @author 作者 : xuminggang * @version 创建时间:2020年6月8日 上午10:05:15 * */ import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; .

2020-06-09 10:13:47 678

原创 AtomicIntegerFieldUpdater要点总结

1.更新器更新的必须是int类型变量,不能是其包装类型。 2.更新器更新的必须是volatile类型的,确保线程之间共享变量时的立即可见性。 3.变量不能是static的,必须是实例变量。因为Unsafe.objectFieldOffset()方法不支持静态变量(CAS操作本质上是通过对象实例的偏移量来直接进行赋值)。 4.更新器只能修改它可见范围的变量,因为更新器是通过反射来得到这个变量,如果变量不可见就会报错。 如果要更新的是包装类型,那么可以使用AtomicReferenceFieldU.

2020-06-03 14:36:11 207

原创 package io.netty.util.ReferenceCounted

package xmg.quest.netty.core; /** * 一个引用计数对象需要显式的回收 * <p> * 当一个新的{@link ReferenceCounted} 被创建好,这个对象的引用计数就是{@code 1}。 * 调用{@link #retain()}方法会增加这个引用计数,调用 {@link #release()}会减少这个引用计数。 * 当引用计数减少到 {@code 0},这个对象会被显式的回收,如果去访问一个已经被回收掉的对象通常会导.

2020-06-02 18:23:55 256

eclipse插件在线下载源码.rar

eclipse添加自动下载源码包插件,下载下来的jar包保存到eclipse / dropins /文件夹下 最后重启eclipse点击jar包就会出现attach java source点击下载源码包

2019-07-16

netty实战源码13章

netty实战源码13章的server和client,示例代码,测试后的

2018-12-04

netty实战源码

netty实战源码

2018-12-04

java并发编程源码

java并发编程源码,解压可用,jar包解压后为源码也可引入到工程中

2018-08-08

测试Eclipse的启动时间插件

测试Eclipse的启动时间插件,将插件放入eclipse的plugins中,重启eclipse即可

2018-02-11

myeclipse2015破解文件

亲测可用,myeclipse2015 stable1.0破解工具

2017-04-05

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除