AOP 的利器:ASM 3.0 介绍

ASM 是一个 Java 字节码操控框架。它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .class 文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称、方法、属性以及 Java 字节码(指令)。ASM 从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。

与 BCEL 和 SERL 不同,ASM 提供了更为现代的编程模型。对于 ASM 来说,Java class 被描述为一棵树;使用 “Visitor” 模式遍历整个二进制结构;事件驱动的处理方式使得用户只需要关注于对其编程有意义的部分,而不必了解 Java 类文件格式的所有细节:ASM 框架提供了默认的 “response taker” 处理这一切。

继续阅读

Ubutun 16.04 编译安装 PHP7.4 稳定版

Ubutun 16.04中编译安装 php7.4 稳定版,编译命令如下:

./configure –prefix=/usr/local/php –with-config-file-path=/etc –enable-fpm –with-fpm-user=www –with-fpm-group=www –enable-pdo –with-mysqli –with-pdo-mysql –with-mysql-sock –with-pdo-sqlite –with-iconv-dir –with-freetype-dir –with-png-dir=/usr/local/include/libpng16 –with-jpeg-dir –with-zlib –with-zlib-dir –with-iconv –with-bz2 –enable-libxml –with-libxml-dir –with-readline –enable-xml –with-xmlrpc –disable-debug –disable-rpath –enable-bcmath –enable-session –enable-shmop –enable-simplexml –enable-sockets –enable-sysvmsg –enable-sysvsem –enable-sysvshm –enable-wddx –enable-shared –enable-inline-optimization –enable-filter –with-libdir=lib64 –with-xsl –with-curl –with-cdb –with-gmp –enable-mbregex –enable-mbregex-backtrack –enable-mbstring –with-mcrypt –with-pcre-regex –with-pcre-dir –with-libmbfl –with-onig –enable-json –enable-ftp –enable-dom –enable-exif –enable-gd –enable-gd-native-ttf –enable-gd-jis-conv –with-openssl-dir=/usr/include/openssl –with-openssl –with-mhash –enable-pcntl –enable-zip –enable-soap –enable-calendar –with-pear –with-gettext –without-sqlite3 –disable-fileinfo –enable-maintainer-zts –enable-mysqlnd-compression-support –enable-opcache

继续阅读

Aerospike基本概念介绍

Aerospike(以下简称 AS)一个以分布式为核心基础,可基于 RAM存储索引、数据或将数据存储在闪存/SSD上的是一个分布式数据库。提供类似传统数据库的ACID操作。它主要用于在数百 G、上万 T 的大数据量并且在数万以上并发的情况下,对性能也有毫秒级兑取插入的场景。

目前主要用于互联网广告行业、消息推送行业、直播行业等。

K-V 类型的数据库必须要提的就是 redis,redis 数据完全存储在内存虽然保证了查询性能,但是成本太高。AS 最大的卖点就是可以存储在 SSD 上,并且保证和 redis 相同的查询性能。AS 内部在访问 SSD 屏蔽了文件系统层级,直接访问地址,保证了数据的读取速度。 AS 同时支持二级索引与聚合,支持简单的sql操作,相比于其他 nosql 数据库,有一定优势。

继续阅读

通过反编译破解 MongoDB 客户端工具 Studio 3T

Studio 3T 是 MongoDB 非官方开源客户端 Robo 3T的高级版。Studio 3T 集成了 MongoDB的开发环境,拥有全面的功能界面和客户端功能,以及便捷、快速的特点,适用于Windows, Mac, 和Linux操作系统。

Studio 3T 新安装则会免费试用30天,之后就需要收费才能试用。网上给出的大多数教程是的windows系统下的删除注册表延长试用。

继续阅读