大型网站系统与Java中间件—读书笔记3(Java中间件)

一 Java中间件的定义

      “软件胶水”    应用与应用间的桥梁   应用与服务间的桥梁

       远程过程调用和对象访问中间件:主要解决分布式环境下 应用的互相访问(应用服务化的基础)

       消息中间件:解决应用之间的消息传递、解耦、异步的问题

       数据访问中间件:解决应用访问数据库的共性问题


二 构建中间件基础知识

        1 JVM

          Java源码由编译器写成Java字节码 能在不同操作系统上运行

        2 垃圾回收机制

          新生代 年老代 持久代

        3 Java并发编程

          线程池:降低创建线程的开销

                        主要使用ThreadPoolExecutor

          定时线程池:ScheduledThreadPoolExecutor

          Synchronized关键字:方法 代码块 

                                                对象 类

          ReentrantLock关键字:公平锁  非公平锁(synchronized)

          读写锁:ReentrantReadWriteLock(读不需要互斥)

          需要unlock,避免死锁  线程间通信:Condition await  signal

          volatile关键字 :变量存取从线程工作内存到主内存

                                     可见性与互斥不同

          Atomics关键字

          wait notify notifyAll:定义在Object上的对象,都需要拿到对象的锁   

                                               wait/notify使当前代码所在线程等待/就绪

          CountDownLatch:并发包中的类,给定达到某个数量,线程被唤醒

                                            latch.countDown执行,代码依旧继续执行

                                            latch.await

          CyclicBarrier:并发包中的类,给定达到某个数量,线程唤醒

                                    barrier.await,代码暂停

          Semaphore

          Exchanger

          Future与FutureTask:Future<HashMap> future = getDatafromRemote();

                                               //do something

                                               HashMap data = future.ge();

          并发容器:看JDK源码   

        4 动态代理

            代理:静态代理(手动实现每个代理类,麻烦)

                       动态代理:JDK动态代理(只为接口)   CGclib(可以为类)

        5 反射

            获取对象属于哪个类

            获取类的信息

            构建对象

            动态执行方法

            动态操作属性

        6 网络通信

            MINA NETTY

                

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值