# testcase **Repository Path**: fft_1987/testcase ## Basic Information - **Project Name**: testcase - **Description**: 个人的学习项目 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 15 - **Created**: 2018-12-06 - **Last Updated**: 2020-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## **testcase:个人学习项目,包括各种代码示例** ### 简要说明 > 着手这个学习型项目也已经挺久的了,代码托管从最开始的Google Code,到github(账号*hailin84*),再到红薯老大的码云,每次迁移都是挺麻烦的。希望能在码云长驻。感谢红薯老大提供这样一个很不错的代码托管平台。 ### testcase诞生缘由 在日常的工作中,经常需要验证一些想法、做一些简单测试,因为有的依赖于的复杂的组件或者环境,可能验证想法只花5分钟,但是准备环境却要花费半天。为节省时间,准备了这样一个proejct。 采用Maven构建,JDK要求1.8,因为用到JDK1.8的语法和API。 ### 包结构说明 ``` org.alive.learn 各种学习示例 +-- aio:Java AIO示例,包括码云tio项目 +-- algorithm: 算法研究和学习,把二叉搜索树算是搞懂了,再深入一点的各种平衡二叉树尤其红黑树还是没怎么弄明白 +-- callback: 回调示例,感觉不是很地道 +-- dynamicproxy: 动态代理 +-- event: 事件 +-- heartbeat: 本来是简单的长连接维持心跳的,目前已实现NIO Reactor模型,MainReactor+多个SubReactor模式,支持分包; +-- netty: netty学习 +-- nio: 最原始的NIO学习代码 org.alive.test 各种测试代码,包括跟Junit3类似的一个简单测试框架 +-- core: 测试框架 +-- testcase: 测试案例 org.alive.tools 日常工作中开发的工具:报文工具(长连接、短连接)、编码转换工具 +-- socketmessage:报文发送工具,建立连接、发送请求、接收响应、关闭连接 +-- sgemessage:为某交易所开发的长连接工具 +-- transencoding: 源代码编码转换工具,自动匹配源代码现有编码,转换成目标编码 org.alive.tools Util工具类 ``` ### 重要更新 + 日期2017.06.29 - 实现一个基于byte[]的循环缓存类,实现长连接分包 > 循环缓存类`org.alive.learn.heartbeat.CircleByteBuffer`,相当于一个环形的字节数组,可以缓存数据,等数据长度够一个报文的时候,再读取出来进行业务处理。 > 缓存类支持自动扩容为原来2倍;使用Java Heap内存,而不是DirectMemory;线程不安全; ### 其他的后面完善 - [x] 待完善更多内容