ABAP 740的新语法: 上图的代码相当于: DATA: ls_data LIKE LINE OF it_data. READ TABLE it_data INTO ls_data WITH KEY object_ext = cl_crm_prodil_bo_names=>gc_prod_root. CALL METHOD add_data EXPORTING ir_child_object = ir_root_object is_data = ls_data. 由此可见新语法比较简洁,能少写…
面向对象编程世界里的单例模式(Singleton)可能是设计模式里最简单的一种,大多数开发人员都觉得可以很容易掌握它的用法.单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点. 然而在某些场景下,这种设计模式的单例特性会被破坏,看下面这个例子: 代码的第三行,这个ABAP类实现了接口if_serializable_object,这意味着它可以被关键字CALL TRANSFORMATION进行序列化和反序列化操作. 使用下面的ABAP代码: DATA(lo_instance) = zcl…
最近Jerry接到一个原型开发的任务,需要在微信里调用ABAP On Premise系统(SAP CRM On-Premise)里的某些函数.具体场景和我之前的公众号文章 Cloud for Customer和微信集成系列教程 描述的场景类似. 区别之处在于Cloud for Customer(C4C)是一个云解决方案,其OData Service/Web Service能够直接被Internet网络上的其他应用消费.而我最近要做的原型开发,需要消费的函数位于部署在Corporate Netwo…
别名现象主要出现在赋值的问题上: 对基本数据类型的赋值是很简单的.基本数据类型存储了实际的数值,而并非指向一个对象的引用,所以在为其赋值的时候,是直接将一个地方的内容复制到了另一个地方.例如,对基本数据类型使用a=b,那么b的内容就复制给a.若接着又修改了a,而b根本不会受这种修改的影响. 但是在为对象"赋值"的时候,情况却发生了变化.对一个对象进行操作时,我们真正操作的是对对象的引用.所以倘若"将一个对象赋值给另一个对象",实际是将"引用"从一…
上节学习回顾 上一节,我们深入到类文件去了解其结构细节,也大概对类文件的编写规则略知一二了,解析来我们就得学习这个类文件是如何被加载到Java虚拟机的,看看有什么引人入胜的奥秘. 本节学习重点 大部分计算机类科生都应该有接触过C语言,C语言的编译过程会有预处理.编译.汇编.链接四个步骤,经过了这四个步骤就生成了可以执行文件(二进制机器码).Java同样如此, 有Java使用经验的伙伴都应该知道,类加载有加载.连接.初始化三个阶段,这就是虚拟机类加载的三大步骤,只有经过了这三大步骤才能在Java虚…
java类的加载机制 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构.类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口. 类加载器并不需要等到某个类被“首次主动使用”时再加载它,JVM规范允许类加载器在预料某个类将要被使用时就预先加载它,如果在预先…
目录 Java垃圾回收概况 Java内存区域 Java对象的访问方式 Java内存分配机制 Java GC机制 垃圾收集器 Java垃圾回收概况 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代 码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢.这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制.概括地说,该机制对 JVM(Java Virtual M…
前言 现如今几乎大多数Java应用,例如我们耳熟能详的tomcat, struts2, netty…等等数都数不过来的软件,要满足通用性,都会提供配置文件供使用者定制功能. 甚至有一些例如Netty这样的网络框架,几乎完全就是由配置驱动,这样的软件我们也通常称之为”微内核架构”的软件.你把它配置成什么,它就是什么. It is what you configure it to be. 最常见的配置文件格式是XML, Properties等等文件. 本文探讨加载配置中最通用也是最常见的场景,那就是…
Java 反射 设计模式 动态代理机制详解 [ 转载 ] @author 亦山 原文链接:http://blog.csdn.net/luanlouis/article/details/24589193 摘要:代理的基本构成.InvocationHandler.JDK动态代理----通过接口.cglib动态代理----通过类继承 class文件简介及加载 Java编译器编译好Java文件之后,产生.class 文件在磁盘中.这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码.J…
Java系列笔记(3) - Java 内存区域和GC机制 转载:原文地址http://www.cnblogs.com/zhguang/p/3257367.html 目录 Java垃圾回收概况 Java内存区域 Java对象的访问方式 Java内存分配机制 Java GC机制 垃圾收集器 Java垃圾回收概况 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露…