通过一个简单的ABAP报表窥探ABAP内存分配和管理机制
发布日期:2021-06-30 14:06:13
浏览次数:3
分类:技术文章
本文共 1431 字,大约阅读时间需要 4 分钟。
REPORT zhelloworld.PARAMETERS: clear TYPE c as CHECKBOX DEFAULT abap_false.TYPES: tt_table TYPE TABLE OF tadir WITH KEY pgmid object.DATA: lt_result TYPE TABLE OF tadir, lt_total TYPE TABLE OF tadir, lr_result TYPE REF TO tt_table.DATA: c1 TYPE cursor.OPEN CURSOR @c1 FOR SELECT * FROM tadir.DO. WRITE: / |Round: { sy-index } | COLOR COL_NEGATIVE. CREATE DATA lr_result. FETCH NEXT CURSOR @c1 INTO TABLE @lr_result->* PACKAGE SIZE 800000. IF sy-subrc <> 0. EXIT. ENDIF. APPEND LINES OF lr_result->* TO lt_total. cl_abap_memory_utilities=>get_memory_size_of_object( EXPORTING object = lt_total IMPORTING bound_size_alloc = DATA(bound_alloc) bound_size_used = DATA(bound_used) ). WRITE: / 'bound alloc:' , bound_alloc. WRITE: / 'bound used:' , bound_used. cl_abap_memory_utilities=>get_total_used_size( IMPORTING size = DATA(lv_before_size) ). WRITE: / |Total size before GC: { lv_before_size }| COLOR COL_POSITIVE. IF clear = abap_true. CLEAR: lr_result->*, lt_result, lr_result. ENDIF. "cl_abap_memory_utilities=>do_garbage_collection( ). cl_abap_memory_utilities=>get_total_used_size( IMPORTING size = DATA(lv_after_size) ). WRITE: / |Total size after GC: { lv_after_size }| COLOR COL_GROUP. DATA(rate) = ( lv_before_size - lv_after_size ) * 100 / lv_before_size. WRITE: / |Freed rate: { rate }%| COLOR COL_TOTAL.ENDDO.WRITE: / lines( lt_total ).
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
转载地址:https://jerry.blog.csdn.net/article/details/103998696 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月11日 03时56分27秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
python遇到‘\u’开头的unicode编码
2019-05-01
Python字符编码详解
2019-05-01
python设置默认字符编码
2019-05-01
python 解析XML xml.dom
2019-05-01
python变量作用域
2019-05-01
工程实践中最常用的数据结构与算法
2019-05-01
内存对齐
2019-05-01
C-Free 5.0注册码
2019-05-01
进程与线程的区别
2019-05-01
关于Linux路由表的route命令
2019-05-01
RedHat Linux网络配置
2019-05-01
Linux下查看文件和文件夹大小
2019-05-01
Linux如何设置从命令行启动?
2019-05-01
如何使Linux支持中文字符
2019-05-01
失败的数据恢复经历
2019-05-01
Linux下如何退出图形界面?
2019-05-01
关于C语言中的结构体对齐
2019-05-01
数据恢复过程中需要注意的一些问题
2019-05-01
const int *p,const * int p,int const *p
2019-05-01
解析大端模式和小端模式
2019-05-01