ASM在游戏服务器的使用

简介: ASM在游戏服务器的使用

ASM 是一个 Java 字节码操控框架。它能够以二进制形式修改已有类或者动态生成类。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。ASM 从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。

不过ASM在创建class字节码的过程中,操纵的级别是底层JVM的汇编指令级别,这要求ASM使用者要对class组织结构和JVM汇编指令有一定的了解。

而EsotericSoftware的reflectasm帮忙跨过了这个障碍,使用ASM起来非常方便。

方法级别的反射原本如下写法:

 

Method method=instance.getClass().getMethod("addName");
method.setAccessible(true); 
method.invoke(instance,  "Awesome McLovin");
method.setAccessible(false);

 

 

 

 

用Reflectasm后,调整为如下,是不是很简单呢?

Object instance =...
MethodAccess access = MethodAccess.get(instance.getClass());
int addNameIndex = access.getIndex("addName",access.getParameterTypes());
access.invoke
目录
相关文章
|
7月前
|
负载均衡 Kubernetes 算法
服务网格 ASM 负载均衡算法全面解析
在本文中,笔者将解析服务网格的多种负载均衡算法的实现原理和使用场景,为服务网格负载均衡算法的选择提供参考。
|
网络协议 Serverless 测试技术
使用ASM管理Knative服务(3):在Knative on ASM中使用自定义域名
对于Knative服务,服务的DNS名默认格式为:{服务名}.{服务所在命名空间}.{默认域名},Knative会默认使用example.com作为服务的域名。Knative on ASM支持使用自定义域名作为默认域名。本文介绍如何在Knative Serving中使用自定义域名。
234 0
使用ASM管理Knative服务(3):在Knative on ASM中使用自定义域名
|
存储 Serverless 异构计算
使用ASM管理Knative服务(2):使用Knative on ASM部署Serverless应用
如何在阿里云服务网格ASM中开启Knative on ASM功能, 并结合ACK或者ASK部署管理Serverless应用服务。
644 0
使用ASM管理Knative服务(2):使用Knative on ASM部署Serverless应用
|
Kubernetes Cloud Native 物联网
使用ASM管理Knative服务(1):Knative on ASM概述
阿里云服务网格ASM集成ACK、ASK上Knative的Serving能力, 帮助用户方便管理Serverless工作负载,可以和事件很好的结合并且提供了基于请求驱动的自动扩缩的能力,而且在没有服务需要处理的时候可以缩容到零个实例。同时基于Service Mesh技术, Serving还具有流量灰度发布能力。
247 0
使用ASM管理Knative服务(1):Knative on ASM概述
|
Serverless Perl 测试技术
使用ASM管理Knative服务(4):使用ASM网关实现HTTPS访问Knative服务
ASM网关支持HTTPS协议和动态加载证书功能。在使用Knative on ASM时,可以通过ASM网关来实现HTTPS访问。本文将演示如何使用ASM网关来实现HTTPS访问Knative服务。
273 0
使用ASM管理Knative服务(4):使用ASM网关实现HTTPS访问Knative服务
|
运维 负载均衡 Kubernetes
阿里云服务网格ASM网关与应用型负载均衡实例ALB集成
背景阿里云服务网格ASM可以简化服务治理,保障服务间通信的认证安全以及提供网格可观测性能力等需求,降低开发与运维的工作负担。对于网络插件类型为Terway的阿里云容器服务 ACK集群作为数据面集群的场景,阿里云服务网格ASM支持集成应用型负载均衡实例(ALB)。前提条件创建阿里云服务网格ASM企业版实例。创建网络插件类型为Terway阿里云容器服务 ACK实例。ACK实例的CCM(Cloud Co
356 0
阿里云服务网格ASM网关与应用型负载均衡实例ALB集成
|
弹性计算 运维 Kubernetes
阿里云服务网格ASM公测来袭系列之一:快速了解什么是ASM
阿里云服务网格(Alibaba Cloud Service Mesh,简称 ASM)正式发布公测版本。该产品提供了一个全托管式的服务网格平台,兼容于社区 Istio 开源服务网格,用于简化服务的治理,包括服务调用之间的流量路由与拆分管理、服务间通信的认证安全以及网格可观测性能力,从而极大地减轻开发与运维的工作负担。
1982 0
阿里云服务网格ASM公测来袭系列之一:快速了解什么是ASM
|
Kubernetes API 容器
阿里云服务网格ASM公测来袭系列之三:添加一个ACK集群到 服务网格ASM 实例
部署在服务网格中的应用实际上运行于集群之上,因此需要先给服务网格 ASM 实例的数据面添加一个 ACK Kubernetes 集群。
729 0
阿里云服务网格ASM公测来袭系列之三:添加一个ACK集群到 服务网格ASM 实例
|
弹性计算 Kubernetes 监控
阿里云服务网格ASM公测来袭系列之二:快速创建一个服务网格ASM 实例
Istio社区网站提供了一个适合于初学者的Bookinfo示例,通过这个示例可以很快了解它的一些基础概念和能力。同样地,在阿里云服务网格ASM产品中也提供了一个如何部署该Bookinfo示例的快速入门。本文章会介绍如何创建一个服务网格ASM 实例(控制面)。
1082 0
阿里云服务网格ASM公测来袭系列之二:快速创建一个服务网格ASM 实例
|
Kubernetes 微服务 容器
阿里云服务网格ASM公测来袭系列之五:部署应用到ASM的数据面集群中
本文介绍如何将一个应用示例部署到服务网格ASM 实例中的数据面集群中。
749 0
阿里云服务网格ASM公测来袭系列之五:部署应用到ASM的数据面集群中