201307 技术学习总结

技术学习计划

如何在Java中设计/实现同步(同步阻塞、同步非阻塞、同步阻塞超时)、异步语意API
    - 理解Jdk中Future接口的意义
        > 提供同步阻塞、同步非阻塞的获取异步任务Callable的执行状态和结果
    - 定义广义Future接口意义
        > 基于Future实现了支持同步阻塞、同步阻塞超时、异步API的框架
        > https://github.com/dingjoey/java-utils/blob/develop/src/main/java/com/taobao/joey/future/JoeyFuture.java
    - 实现keypoint
         - Future接口中阻塞语意通过Java monitor的wait-notify机制实现
             > Jdk中使用Sync类
        - 难点:如何关联异步任务和Future接口 
            > Jdk中通过类FutureTask
            > TB-Remoting通过Mina机制中的WriteFutureListener/ClientIoHandler 
        - 支持同步(同步阻塞、同步非阻塞、同步阻塞超时)、异步语意API接口example
            > https://github.com/dingjoey/java-utils/blob/develop/src/main/java/com/taobao/joey/future/JoeyAsyncTaskExecutor.java

unix 网络基础知识
    - 《Unix网络编程》TCP相关内容通读一遍
    - linux C的网络程序,把学到的内容应用一遍加深记忆 

C/C++构建工具
    - GNU package标准目录结构和Makfile写法
        > 样例工程:https://github.com/dingjoey/jupiter 
        > 
        > README中有知识点
    - Autotools工具
        - Autotools工具基本概念
            > https://github.com/dingjoey/autotools-tutorial
        - 具体使用
            - 利用Libtool构建发布的动态库
            - 利用Libtool构建内部静态库
            - 利用Automake原始primary构建program
            - 利用Automake原始primary构建单元测试TESTS nonist_program
            - 依赖配置化:利用M4宏,添加-with-deps的配置选项进行配置
                > https://github.com/dingjoey/autotools-tutorial/tree/develop_libtool 

包管理软件rpm,yum学习使用

    - yum是用来管理rpm包的工具:处理依赖、安装、删除等
        - 指定yum安装路径;查找指定包安装路径
        - 安装、删除、更新到指定版本
    - rpm 用来安装rpm包
        - rpm db即所有安装的RPM包的注册中心。
            - rpm db 默认路径是/var/lib/rpm
            - 对安装过的rpm package总是直接物理删除,这样做就造成rpm db 越来越臃肿和杂乱
            - --rebuilddb:重建已经安装的RPM资料库 ,--initdb:创建一个新的RPM资料
            - 在指定位置建立一个新的 rpm db:rpm --initdb --root ~/rpm/ 
        - rpm 安装
            - rpm -ivh --nodeps XXX --dbpath ~/rpm/var/lib/rpm --prefix ~/usr/ 
            - http://svn.alibaba-inc.com/repos/ali_asc/2LIB/README

猜你喜欢

转载自joeyyee.iteye.com/blog/1895764