龙潭书斋 -- 303




200x200


概述上一篇日志中,我们介绍了 Nagle 算法和滑动窗口协议:Nagle 算法与滑动窗口协议他们用来让接收方实现流量控制 慢启动 -- 拥塞窗口滑动窗

#读书笔记    #ip    #tcp    #龙潭书斋   

200x200


概述上一篇日志中,我们介绍了 tcp 协议的基本概念和连接的建立与终止:传输控制协议 -- TCP最后,我们介绍了“经受时延的确认”,这是一种将 ACK包与下一条数据包合

#读书笔记    #技术帖    #ip    #tcp   

200x200


概述此前我们已经介绍过 TCP 相关的很多内容了:TCP/IP 协议族简介TCP连接的建立和终止基本TCP套接字函数 尽管 TCP 和 UD

#读书笔记    #技术帖    #tcp    #udp   

200x200


概述域名系统 DNS 是一种用于 TCP/IP 应用程序的分布式数据库,提供主机名到 IP 地址之间的转换和电子邮件的选录信息DNS&nbs

#技术帖    #ip    #tcp    #udp   

200x200


概述maven 是一个优秀的跨平台服务构建工具,它能够自动化的构建整个项目,从清理、编译、测试到生成报告,再到打包部署简单的 maven 命令就可以帮助我们处理项目构建的

#技术帖    #龙潭书斋    #技术分享    #spring   
概述上一篇日志中,我们讲解了如何创建并使用切面,AspectJ5 引入了使用注解来创建切面的新特性使用注解的方式定义切面,为应用程序带来了非常大的便捷性,也让代码更加美观在学习了上一篇日志中使用 xml 定义切面以后,这一节中的介绍会让你觉得非常简单Spring 面向切面实例讲解 为了支持使用注解定义面向切面的功能,需要在 xml 中写入:<aop:aspectj-autoproxy/> <!-- 支持面向切面注解 -->  前置切面和后置切面还记得上一篇日志中的 Audience 类吗?现在我们只需要为他的每个方法都加上一个注解,而舍弃冗长的 xml:package com.techlog.test.service; import org.aspectj.lang.annotation.*; /** * Created by techlog on 16/3/25. */ @Aspect public class Audience { @Pointcut("execution(* com.techlog.test.service.Performer.perform(..))") // 定义切点 public
#技术帖    #web    #龙潭书斋    #framework   

200x200


概述上一篇日志中,我们介绍了 spring aop 的基本概念,本篇日志你将看到全面的 AOP 用法和实例 pom.xml 依赖首

#技术帖    #web    #xml    #龙潭书斋   

200x200


概述前面几篇日志,我们介绍了让软件组件保持松散耦合的依赖注入机制:Spring Bean 面向切面的 AOP 编程允许你把遍布在应用各处的功能分离出来形成可重用组件通常,

#技术帖    #web    #xml    #龙潭书斋   
构造器注入在实际的应用中,往往会有很多类之间相互协作完成特定的业务逻辑,每个对象负责管理与自己相互协作的对象的引用,这就造成高度的耦合和难以测试的代码考虑下面的例子:public class DamselRescuingKnight implements Knight { private RescueDamselQuest quest; public DamselRescuingKnight() { quest = new RescueDamselQuest(); // 与 RescueDamselQuest 紧耦合 } public void embarkOnQuest() throws QuestException { quest.embark(); } }  这里我们创建了一个骑士类,这个骑士紧密的与 RescueDamselQuest 耦合在一起,结果是这个骑士只能去拯救少女,而不能去杀掉一条恶龙,不能去参加一场决斗同时,当你需要测试这个骑士的对象时,必须保证 embarkOnQuest 方法调用的同时 RescueDamselQuest 的 embark 方法也被调用 通过依赖注入,可以将这样的耦合松散化public clas
#技术帖    #web    #xml    #龙潭书斋   
概述编程中很大部分的问题只需要使用顺序编程来解决,然而,对于某些问题,需要并发的同时执行程序中多个部分则是十分方便且有必要的,尤其是在多处理器的环境中,多个部分的代码可以实际上同时执行可以极大地提高程序的执行速度,同时也可以提供更加易用的模型然而,当你企图使用并发执行任务进行编程,问题也会接踵而至,并发程序的同步问题,内存空间的共享问题等等,因此并发有时是危险的 多线程机制java 的并发是通过多线程机制实现的,每一个子任务都将有一个执行线程驱动,一个线程就是在进程中的单一顺序控制流 java.lang 包提供了三种实现多线程开发的工具:Callable 接口Runnable 接口Thread 类 他们的区别在于:Callable 任务执行后可以具有返回值,在任务执行过程中也可以抛出异常,而 Runnable 和 Thread 都不行运行Callable任务可以拿到一个Future对象,表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并检索计算的结果,而 Runable 和 Thread 都不行Thread 是通过实现 Runnable 接口实现的,因此可以认为&
#技术帖    #龙潭书斋    #线程    #thread   



京ICP备15018585号