摘要:
最近在学习netty中发现其中用到了责任链模式,然后结合自己在写代码中遇到了大量写if...else的情况,决定学习一下责任链模式。 一.什么样的场景下会选择用责任链模式 我们在进行业务逻辑判断时,需要根据传入参数类型的不同做出不同的处理,如果在传入的参数类型相对较少的情况时,可以用if...els 阅读全文
摘要:
一.心跳介绍 网络中的接收和发送数据都是使用操作系统中的SOCKET进行实现。但是如果此套接字已经断开,那发送数据和接收数据的时候就一定会有问题。 1.心跳机制: 是服务端和客户端定时的发送一个心跳包(自定义的数据结构体),让对方知道自己还活着,处于在线状态,以确保连接真实有效的一种机制。 2.心跳 阅读全文
摘要:
一.Netty介绍 1.什么是netty Netty 是由 JBOSS 提供的一个 Java 开源框架。Netty 提供异步的、基于事件驱动的网络应用程序框架,用以快速开发高性能、高可靠性的网络 IO 程序,是目前最流行的 NIO 框架,Netty 在互联网领域、大数据分布式计算领域、游戏行业、通信 阅读全文
摘要:
idea 设置syso File –> Setting –> Editor –> Live Templates debug 调试: F7 在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内 F8 在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则不进入当前 阅读全文
摘要:
一.ApplicationContext.xml中的配置 <!--开启缓存注解--> <cache:annotation-driven /> <bean id="cacheManager" class="org.springframework.cache.guava.GuavaCacheManage 阅读全文
摘要:
一.log4j.properties中的配置 log4j.logger.cache=INFO,ERROR,batchFile log4j.addivity.batchFile=false log4j.appender.batchFile = org.apache.log4j.DailyRolling 阅读全文
摘要:
一.guava cache 介绍 1.介绍 guava cache是Google guava中提供的一款轻量级的本地缓存组件,其特点是简单、轻便、完善、扩展性强,内存管理机制也相对完善。 2.使用缓存的优点 1.减少了网络调用的开销 2.减少了数据请求的序列化和反序列化 二.guava cache分 阅读全文
摘要:
一.抽象工厂定义 上一讲我们说了一下工厂方法,那么我们如何对工厂进行抽象。 因为工厂是生产产品的,现在我们需要工厂抽象,只生产抽象产品,不生产具体的产品,这同时也体现了java的多态。 现在有2个抽象,一个是抽象工厂,另一个是抽象产品。 下面介绍抽象产品到具体产品: 产品的具体实现可以有多种方式,可 阅读全文
摘要:
一.选择排序介绍 1.定义: 选择式排序也属于内部排序法,将要排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的 2.排序思想: 第1次从arr[0]上拿到一个值与数组中arr[1]值相比较,如果比后面的值大,则记录下arr[1]的值和下标,当本轮循环结束后找到最小值,然后将a 阅读全文
摘要:
冒泡算法相对来说算是比较简单的了,希望看官在看的时候,千万不要急,我已经把每一轮的分解过程写出来了,然后再写一个总的排序,希望对你有所帮助。 一.冒泡算法介绍 定义: 通过对无序数组列表的下标开始依次对相邻元素的值进行比较,若发现逆序则交换,使较大的元素逐渐从前向移,就像水底的气泡一样逐渐向上冒泡。 阅读全文