自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

流子的专栏

https://github.com/jiangguilong2000/gamioo

  • 博客(325)
  • 资源 (10)
  • 收藏
  • 关注

原创 fastjson2与fury的巅峰对决,谁会笑到最后?

那时,两个协议框架各有千秋,不分伯仲,今天,看到fury推出了全新的0.2.0版本,fastjson2推出了新2.0.41版本,据说都有很多性能的提升,今天打算再一测,希望这两家伙再接再厉,能带给我们更多惊喜!我们这次的侧重点,主要关注在序列化,反序列化,数据包压缩率大小。

2023-10-10 15:26:42 908 1

原创 谁才是真正的协议之王?fastjson2 vs fury

前阵子,我们写过一篇关于fury和protostuff的性能对比的文章:《性能飙升20倍!!! 超高性能协议框架fury完爆protostuff》,那么,fury 是否能真的坐稳协议框架的头把交椅呢?正逢fastjson2推出了新2.0.37版本,据说也很早就支持了二进制格式字节JSONB序列化和反序列化,正好打算一较高下!

2023-08-10 21:01:50 2264 4

原创 性能飙升20倍!!! 超高性能协议框架fury完爆protostuff

序列化框架是系统通信的基础组件,在大数据、AI 框架和云原生等分布式系统中广泛使用。当对象需要跨进程、跨语言、跨节点传输、持久化、状态读写、复制时,都需要进行序列化,其性能和易用性影响运行效率和开发效率。本文,我们对Fury 和protostuff做了性能评测,最终得出结论: 吞吐量对比,序列化 fury 是protostuff 21.18 倍,反序列化fury 是protostuff 的14倍,完胜!包体压缩比上,fury 是 protostuff 的 36.08%> 18.17 % , 大了一倍左右

2023-07-17 22:28:42 1897

原创 JAVA内存深度分析报告

最近在对云主机的内存占用优化中,又有了新的认识,网上对JAVA的native memory 的认知五花八门,对direct memory 的获取的有偏差,今天我们来好好理一理,以便我们对JAVA 内存有个更好的认知。我们通过API ,MetaData , Native memory 快照,让我们对JAVA内存结构有了更深度的认识,以便以后在分析问题时,能有更客观的数据分析的基础。

2023-06-02 20:46:14 2050

原创 Java基准测试工具JMH高级使用

今天我们再来聊一下关于JMH的高阶使用。主要我们会围绕着以下几点来讲: - 对称并发测试 - 非对称并发测试 - 阻塞并发测试 - Map并发测试

2023-03-10 16:04:27 917

原创 寻路库recastnavigation改造

本文是介绍对寻路库recastnavigation 改造,使得使用更加友好。

2023-02-23 21:20:50 1139 1

原创 Zlib和Zstd 性能对比评测

Zstandard 是facebook厂商提供的一种高压缩率的实时压缩算法,他在压缩比和压缩速度上做了很好的平衡,同时还提供高速的解码器,针对小数据,也提供了一种叫做字典压缩算法,从样本中可以创建出字典集合数据,Zstandard库以BSD协议方式开源。该算法是由Facebook的Yann Collet开发的一个无损数据压缩算法。Zstandard在设计上与DEFLATE(.zip、gzip)算法有着差不多的压缩比,但有更高的压缩和解压缩速度。...

2022-07-29 17:46:09 3272

原创 在服务器端如何用JNI实现 NavMesh寻路

我们已经讲到的在服务器端使用 Easy3dNav来进行 NavMesh 来做寻路,但性能上能否更快一点呢?众所周知,C++ 版本的性能向来比JAVA版本要出色,所以我们尝试用JAVA调用JNI native 接口来提升寻路的性能。............

2022-07-13 21:22:54 1927

原创 JNI全流程实例使用总结

为了更好的获得一些比较独立的模块的性能,比如视频模块,寻路模块,通过对C++ 接口的封装,通过JNI技术对它进行跨语言调用。那什么是JNI呢?JNI (Java Native Interface,Java本地接口)是一种编程框架,使得Java虚拟机中的Java程序可以调用本地应用/或库,也可以被其他程序调用。 本地程序一般是用其它语言(C、C++或汇编语言等)编写的,并且被编译为基于本机硬件和操作系统的程序。.....................

2022-07-12 21:31:45 2467 1

原创 3D寻路系统NavMesh-服务端篇

上一节讲到的客户端使用Unity 自带的 NavMesh 来做寻路。然而,怪物的刷新、移动,和AI是由服务器负责的,怪物的寻路是由服务器控制的,或者像SLG,大地图寻路在玩家离线的情况下要继续寻路,这必须要服务器来主导寻路。...............

2022-07-12 00:38:07 3197 9

原创 如何用 APT(Annotation Processing Tool)自动生成代码

我们很多人都写过代码自动生成的工具,比如用python结合moko模板引擎,或者java 结合freemarker模板引擎,protoc 等,实现解析策划数据类,proto协议类,或者数据库层的实体类。大大节省了我们开发的时间,让我们可以懒得光明正大。那么,有没有办法当你写好协议后,只要一保存编译,相关的协议接收和发送类的接口就自动实现了呢?答案是有的。注解处理器是(Annotation Processor)是javac的一个工具,用来在编译时扫描和编译,处理注解并生成锁期望的代码,提高生产效率。

2022-02-05 21:23:25 1462

原创 LOG4J2-MDC-全链路跟踪等功能研究

MDC(Mapped Diagnostic Context,映射调试上下文)是 log4j 、logback及log4j2 提供的一种方便在多线程条件下记录日志的功能。MDC 可以看成是一个与当前线程绑定的哈希表,内部是基于threadLocal实现,可以往其中添加键值对。MDC 中包含的内容可以被同一线程中执行的代码所访问。当开启isThreadContextMapInheritable属性后,当前线程的子线程会继承其父线程中的 MDC 的内容。当需要记录日志时,日志框架会自动从 MDC中获取所需

2021-08-10 14:54:38 2468

原创 Tcaplus使用总结

一、Tcaplus是什么?游戏数据库 TcaplusDB 是专为游戏设计的 NoSQL 分布式数据存储服务,支持 Protobuf 接口访问,Tcaplus 将 Cache 与硬盘结合,追求高性能的同时,也节省成本,很好地支持全区全服和分区分服,并针对游戏爆发增长和长尾运维特点提供不停机扩缩容、备份容灾、快速回档等全套解决方案,安全可信赖。目前应用于《王者荣耀》、《穿越火线》、《火影忍者》等数百款流行游戏。二、使用步骤特别要注意的是,在购买时,连接协议里选择TDR,这样就支持xml表定义了。如何定义

2021-06-11 17:40:24 1384 4

原创 游戏服务器设计-脚本系统设计

本文对脚本引擎beanshell 和groovy做了技术选型,给出了优劣对比结果,并设计了脚本系统UI界面。游戏项目中都会遇到以下的一些需求:1.从内存里查询数据2.修复个别玩家的异常数据如何能最快捷的方式去实现,目前有两种脚本引擎可以选择:beanshell 和groovy.

2021-03-17 15:59:18 768

原创 神器Arthas使用小结

Arthas官方主页如果某个类没被加载器加载,jad反编译是读不到代码的windows 下执行attach.dll要放到JRE的bin下

2019-11-29 14:41:21 1196

原创 Infobright构架解析

Infobright的总体构架图如下:如上图所示,Infobright采用了和MySQL一致的构架,分为两层。上层是服务及应用管理,下层是存储引擎。Infobright的默认存储引擎是brighthouse,但是Infobright还可以支持其他的存储引擎,比如MyISAM、MRG_MyISAM、Memory、CSV。Infobright通过三层来组织数据,分别是DP(Data Pack)、DPN

2017-05-03 14:46:42 697

原创 游戏跨服架构进化之路

1.背景虽然游戏市场竞争激烈,产品格局变动较大,但游戏产业一直处于稳步增长阶段,无论是在端游,页游,手游还是已经初露端倪的H5游戏。可以预见,游戏类型中,MMOARPG游戏仍然会是引领市场的主流趋势,贡献着大部分流水,市场上也仍然在不断涌现精品。研发团队对MMO游戏的探索从来未间断过,从付费模式的改变,到题材多元化,次时代的视觉效果,更成熟的玩法及数值体系,本文主要针对跨服玩法上的探索和...

2017-03-02 14:46:41 15674 19

原创 ASM在游戏服务器的使用

ASM 是一个 Java 字节码操控框架。它能够以二进制形式修改已有类或者动态生成类。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。ASM 从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。不过ASM在创建class字节码的过程中,操纵的级别是底层JVM的汇编指令级别,这要求ASM使用者要对class组织结构和...

2015-10-30 12:21:42 1839 3

原创 基于Disruptor游戏服务器消息总线的设计

LMAX是一种新型零售金融交易平台,它能够以很低的延迟(latency)产生大量交易(吞吐量). 这个系统是建立在JVM平台上,核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单,用1微秒的延迟获得吞吐量为100K+. 业务逻辑处理器完全是运行在内存中(in-memory),使用事件源驱动方式(event sourcing). 业务逻辑处理器的核心是Disruptors。Disrupt...

2015-10-29 16:21:14 4613 1

原创 Infobright使用总结

INFOBRIGHT介绍在这里,我将结合我自己的使用以及对开源数据仓库的了解,INFOBRIGHT做下简单的介绍。INFOBRIGHT产品分为社区版ICE和企业版IEE。相信大家对ICE都有很多的了解。ICE具备了INFOBRIGHT大部分的功能,我列举如下:1. 超高的压缩比例。 普通10:1, 在极限情况下可以达到40:1 甚至更高。2. 超强劲的数据导入性能。 ICE 有自己专业的数据导入工...

2014-09-06 17:35:30 14814

原创 神器助力!用腾讯云 CodeBuddy 的 Craft 搭建超炫移动机器人网站

在数字化时代,打造一个吸引人的移动机器人网站至关重要。本文介绍了如何利用腾讯云代码助手CodeBuddy工具,快速构建一个美观且功能丰富的网站。首先,通过访问CodeBuddy官网了解其功能并集成到开发环境中,如Visual Studio Code。接着,明确网站目标并规划页面布局,包括首页、产品展示等。然后,使用CodeBuddy生成基础代码,创建HTML、CSS和JavaScript文件,实现响应式设计和交互效果。最终,通过浏览器查看生成的网站。

2025-05-15 23:25:04 470

原创 GO日志打印添加goroutineid

这个方法我觉得靠谱,显然runtime包是肯定有获取协程id的方法的,因为处理panic时默认会输出问题协程号。但是这样做效率会不会有问题,暂时还不清楚。今天想给日志添加一个前缀,以区分不同goroutine的日志,方便做并发问题的排查,做日志跟踪。

2024-05-06 12:58:14 647 1

原创 Go语法之函数 defer使用

关键字 defer 的用法类似于面向对象编程语言 Java 和 C# 的 finally 语句块,它一般用于释放某些已分配的资源,defer用于注册一个延迟调用(在函数返回之前调用),defer典型的应用场景是释放资源,比如关闭文件句柄,释放数据库连接等。

2024-03-07 20:24:00 761

原创 Spring Data JPA 使用总结

本文记录了Spring data JPA 的一些细碎的规则。

2024-01-12 16:26:59 684

原创 Spring Data JPA 踩过的坑实录

游戏中台一直在使用spring 全家桶, 本文会左右使用Spring Data JPA的坑点记录总结 · 主要给大家总结介绍了关于使用Spring JPA注意事项及踩过的坑。

2024-01-12 16:14:09 843 3

原创 JetBrains Rider使用总结

JetBrains Rider 诞生于2016年,一款适配于游戏开发人员,是JetBrains旗下一款非常年轻的跨平台 .NET IDE。目前支持包括.NET 桌面应用、服务和库、Unity 和 Unreal Engine 游戏、Xamarin 、ASP.NET 和 ASP.NET Core web 等多种应用程序的开发,配合其强大代码检查和快速的响应能力,如今已经是可以与VS媲美竞争的明星产品了。

2024-01-05 15:32:21 2017

原创 Infobright列存数据库原理介绍

Infobright 官网宣传号称 40:1 的压缩率,每小时加载 10TB 数据,单实例支持 150TB 的存储,维护时间 0 小时3。新产品也对 Hadoop 生态有了一定的整合。总之,Infobright 是一个有意思的数据仓库产品,具有明显的特色。它以相对较小的存储空间膨胀达到了较好的处理 ad-hoc 查询的能力,比较适合查询分析语句不是特别复杂的场景。

2023-12-14 17:29:39 975

原创 【亲测可用】实在太快了!如何在Linux下5分钟快速安装MongoDB

MongoDB 是一款介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。本文主要介绍了mongoDB的下载,安装部署,配置,和初级使用,下一篇我们将带来mongoDB的具体使用。

2023-12-14 17:11:15 1898

原创 屌炸天的IDEA远程调试神器:Remote JVM Debug

IDEA的Remote JVM Debug功能可以用来在IDEA中调试远程服务器中的代码。其原理是在两个JVM间通过debug进行socket通信,以达到远程调试的目的。

2023-12-08 17:32:54 791

原创 Linux上内存告急怎么办?swap帮你忙

Swap分区,即交换区,从功能上讲,交换分区主要是在内存不够用的时候,将部分内存上的数据交换到swap空间上,以便让系统不会因内存不够用而导致oom或者更致命的情况出现。所以,当内存使用存在压力,开始触发内存回收的行为时,就可能会使用swap空间。内核对swap的使用实际上是跟内存回收行为紧密结合的。当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。

2023-12-01 15:20:49 534 3

原创 Linux操作系统上安装MYSQL 5.7 记录

本文描述了mysql server的下载安装初始化工作。

2023-11-27 17:51:55 523

原创 Go语法的特殊之处

本文讲述Go语法的特殊之处

2023-11-22 11:12:24 651 1

原创 Unity团结引擎使用总结

团结引擎创世版以 Unity 2022 LTS 为研发基础,与 Unity 2022 LTS 兼容、UI 也基本保持一致,使 Unity 开发者可以无缝转换到团结引擎。融入了团结引擎独有功能和优化,未来会加入更多为中国开发者量身定制的功能和优化。

2023-11-22 10:58:02 7287 1

原创 GO模块引入指令Go Mod

本文我们了解在Golang中go mod的使用方式。Go mod提供了一系列操作modules的命令,所有的go命令中现在已经内置了对module的支持

2023-11-10 16:16:59 857 5

原创 如何进行Go程序的打包发布

本文主要讲述了如何打包,如何对包体大小进行优化。

2023-11-10 16:02:47 1424 1

原创 创建第一个Go的程序Hello Kitty

今天我们要开始实操关于Go的代码开发。

2023-11-10 15:27:53 560

原创 Go开发基础环境搭建

本文主要介绍了基础开发环境的搭建,为接下去实操GO做准备

2023-11-08 17:29:47 449

原创 Go入门简介

Go 语言从发布 1.0 版本以来备受众多开发者关注并得到广泛使用,Go 语言的简单、高效、并发特性吸引了众多传统语言开发者的加入,而且人数越来越多。就目前来看,Go语言已经⼴泛应用于人工智能、云计算开发、容器虚拟化、⼤数据开发、数据分析及科学计算、运维开发、爬虫开发、移动机器人开发,游戏开发等领域。

2023-11-08 17:06:08 359

原创 【亲测可用】Elesticsearch从入门到精通实例

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于[云计算]中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。以上就是springboot集成es后的一个简单使用,spring封装过后的spring-boot-starter-data-elasticsearch使用起来还是非常方便简单的。

2023-10-22 13:12:45 761 4

原创 基于Spring Boot的LDAP开发全教程

LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是一种用于访问和维护分布式目录服务的开放标准协议,是一种基于TCP/IP协议的客户端-服务器协议,用于访问和管理分布式目录服务,如企业内部的用户目录、组织结构和资源信息等。LDAP具有轻量级、高效性和可扩展性等特点,被广泛应用于AD域操作,身份验证、用户管理、电子邮件系统和网络存储等领域。

2023-10-18 10:36:52 4688 6

游戏行业JAVA初级面试题

知名游戏公司的初级入门面试题,适用于刚毕业,对游戏开发感兴趣的小伙伴

2023-03-10

完美世界面试题,JAVA向

完美世界-面试题,用于对游戏开发感兴趣的伙伴

2023-03-10

腾讯,字节游戏JAVA面试题

腾讯,字节,阿里等知名游戏公司的初级入门面试题,适用有中级开发经验的,对游戏开发感兴趣的小伙伴

2023-03-10

commons-io-1.4.jar等

JAVA连接FTP服务器,并上传/下载文件的,使用commons-net包实现ftp服务器的访问,commons-net包封装了一些常见的网络包:ftp,smtp,pop3等..相关包:commons-net-1.4.1.jar ; commons-io-1.4.jar;jakarta-oro-2.0.8.jar

2008-05-16

jakarta-oro-2.0.8.jar

使用commons的net包进行ftp链接,commons-net包封装了一些常见的网络包:ftp,smtp,pop3等<br>相关包:commons-net-1.4.1.jar ; commons-io-1.4.jar;jakarta-oro-2.0.8.jar

2008-05-16

精简版JRE7 64位 (6MB)

原始的JDK 127MB,经过精简,瘦身到6MB,普通的应用程序跑跑基本够用。 可用于替代工具类的JRE 专注瘦身JRE 30年,品质值得信赖!

2013-09-29

2021酷炫的IDEA启动图

你是否已经忍受了 20花里胡哨的启动画面很久了,你是否想替换上酷炫的启动图,程序员的最爱来了

2021-06-14

酷炫的IDEA启动图

你是否已经忍受了IDEA花里胡哨的启动画面很久了,你是否想替换上酷炫的启动图,程序员的最爱来了

2021-06-14

MINA NIO 高性能异步并发网络通讯框架

利用 Mina 可以高效地完成以下任务:<br><br>TCP/IP 和 UDP/IP 通讯 <br>串口通讯 <br>VM 间的管道通讯 <br>SSL/TLS <br>JXM 集成 <br>IoC 容器集成( Spring 、 Pico 等) <br>状态机<br><br>据官方评测, APR 的效率较之 Sun NIO 要高出约 10%)。由于这一系列的重大改进,使得 2.0.x 成为十分令人期待的一个版本<br>我们在惊叹 MINA 可以带来多么大便利的同时,还不得不为其卓越的性能而骄傲,据称使用MINA开发服务器程序的性能已经逼近使用 C/C++ 语言开发的网络服务。<br>不过不管怎样,如果你在使用 Java 进行并发网络应用开发, Mina 绝对是一个值得推荐和学习的优秀工具!<br>

2008-07-23

protobuf-java-3.3.0.jar

protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。

2017-10-13

commons-net-1.4.1.jar

使用commons的net包进行ftp链接,commons-net包封装了一些常见的网络包:ftp,smtp,pop3等<br>相关包:commons-net-1.4.1.jar ; commons-io-1.4.jar;jakarta-oro-2.0.8.jar

2008-05-16

commons-io-1.4.jar

使用commons的net包进行ftp链接,commons-net包封装了一些常见的网络包:ftp,smtp,pop3等<br>相关包:commons-net-1.4.1.jar ; commons-io-1.4.jar;jakarta-oro-2.0.8.jar

2008-05-16

protobuf-java-2.5.0.jar

protobuf的最新包, Google 公司推出的开源项目,性能好/效率高 帮忙编译好了

2013-07-09

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

TA关注的人

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