个人问题一
编程第一条:理论知道就行了,从实践中理解。
第二条,实践中看到的,要知道理论。
第三条,写代码才最直接有效
1.编程灵活度:
try:
import json
except ImportError:
sys.path.append('./py-lib/simplejson')
import simplejson as json
在编写时,只知道写,却不知道灵活运用。遇到问题,不能找到有效的解决方案。
import json不成功时,没必要在当前目录下放一个json.py包。来import json就版本。可以将指定目录的samplejson通过sys模块的路径添加功能,导入,然后,as json就行了!
工程框架意识,代码的模型
2.多态的具体实现:
InputProvider inputProvider = new TestInputPorvider(prefix);
inputProvider.generateMRInput(fs, inputPath);
String inputLzoSBStr = inputProvider.getLzoPaths();
String etltaskIdStr = inputProvider.getEtlTaskIds();
因为inputProvider还没有ETL日志对接,所以先写个子类,模拟对接测试数据。其中,generateMRInput执行的是TestInputPorvider的成员。(这样ETL日志好了,直接在父类InputProvider编写处理步骤,实现换乘父类,子类删掉。)TestInputPorvider实现如下:
public class TestInputPorvider extends InputProvider {XXX}
看理论比时间
3,java的反射机制:
在项目中,果断用到反射机制,不实例化类,用反射机制调用类方法,注意静态的区别
。。。。。。?
4泛型:将类型抽象为一个参数,编程时用一个占位符(如T)代替,运行时,有具体传入参数指定实际实例化的类型。
其实泛型,反射经常一起使用,如hashmap等,因为泛型使用反射,才是知道具体的类型的方法。才可以做比较。
使用hashset,hashmap的实例化中将多态,泛型,反射都放到一起使用到了,学一个等于学三个。
Map<String, campaign> AECampList = new HashMap<String, campaign>(); 这一行代码使用三种技术。