Wesley13 Wesley13
3年前
java入门(3)
函数和方法如果我们经常要进行一些相似的处理过程,就可以把这个处理过程封装为函数。函数可以被多次重复调用,从而实现代码重用和隔离的目的。在面向对象的语言中,函数经常和对象绑定在一起,为区分起见,这时它被称为方法。因为java是完全面向对象的,函数必须从属于某个类。所以java中的函数都被称为方法。如果方法前以s
Stella981 Stella981
3年前
Gson通过借助TypeToken获取泛型参数的类型的方法
最近在使用Google的Gson包进行Json和Java对象之间的转化,对于包含泛型的类的序列化和反序列化Gson也提供了很好的支持,感觉有点意思,就花时间研究了一下。由于Java泛型的实现机制,使用了泛型的代码在运行期间相关的泛型参数的类型会被擦除,我们无法在运行期间获知泛型参数的具体类型(所有的泛型类型在运行时都是Object类型)。但是有的时候
Wesley13 Wesley13
3年前
Java spi机制浅谈
最近看到公司的一些框架和之前看到的开源的一些框架的一些服务发现和接入都采用了java的spi机制。所以简单的总结下javaspi机制的思想。我们系统里抽象的各个模块,往往有很多不同的实现方案,比如日志模块的方案,xml解析模块、jdbc模块的方案等。面向的对象的设计里,我们一般推荐模块之间基于接口编程,模块之间不对实现类进行硬编码。一旦代码里涉及具
Stella981 Stella981
3年前
Docker学习笔记
docker通过带环境安装来解决开发和运维之间的鸿沟问题,属于云计算方面的技术。也就是说安装的时候把原始环境一模一样地复制过来,开发人员利用Docker来消除协作代码时,“在我的机器上可以正常工作啊"的问题。一次构建,处处运行。dev本地测试完毕后,打包递交docker镜像,而运维则只装一个docker作为鲸鱼,将各个镜像放到鲸鱼背上作为独立的集装箱
Stella981 Stella981
3年前
Spring AOP
9.SpringAOP:切面之前谈到的AOP框架其实可以将它理解为一个拦截器框架,但这个拦截器似乎非常武断。比如说,如果它拦截了一个类,那么它就拦截了这个类中所有的方法。类似地,当我们在使用动态代理的时候,其实也遇到了这个问题。需要在代码中对所拦截的方法名加以判断,才能过滤出我们需要拦截的方法,想想这种做法确实不太优雅。在大量的真实项目中,似乎我
Wesley13 Wesley13
3年前
Jade模板引擎入门教程
Jade是一款高性能简洁易懂的模板引擎,Jade是Haml的Javascript实现,在服务端(NodeJS)及客户端均有支持。功能客户端支持超强的可读性灵活易用的缩进块扩展代码默认经过编码处理以增强安全性编译及运行时的上下文错误报告命令行编译支持HTML5模式(使用!!!5文档类型)可选的内存缓存联合动态和静态标记类利用过滤器解析树
Stella981 Stella981
3年前
ReactiveCocoa2实战
概述为什么要使用RAC?一个怪怪的东西,从Demo看也没有让代码变得更好、更短,相反还造成理解上的困难,真的有必要去学它么?相信这是大多数人在接触RAC时的想法。RAC不是单一功能的模块,它是一个Framework,提供了一整套解决方案。其核心思想是「响应数据的变化」,在这个基础上有了Signal的概念,进而可以帮助减少状态变量(可
Wesley13 Wesley13
3年前
Java PinBall 简单弹球小游戏【4】碰撞检测及边界检测
4.游戏中的碰撞检测(1)弹球游戏中的边界碰撞检测。这个原理大家应该很容易就想到了,用游戏元素的坐标值与整场景的大小来比较就可以判断出元素是否碰到边界了,为了丰富游戏框架,我制作了一个游戏边界碰撞检测器类。大家可以参考类:BorderCrossing,代码我就不贴到这里了。(2)游戏中的元素相互之间的碰撞检测。这里的碰撞包括但
Stella981 Stella981
3年前
Chapter 3准备:基础设施与TA框架
持续集成、自动化测试进一步要求软件研发有一个良好的环境支撑,即本章要讨论的基础设施,包括虚拟技术与Docker技术、基础设施即代码、持续集成环境、单元测试TA框架、系统测试TA框架、验收测试TA框架(包括需求实例化与BDD框架)、DevOps工具链等。3.1虚拟机与容器技术虚拟机大大提高服务器利用率从数据中心空间、机柜、网线、耗
3A网络 3A网络
2年前
Golang 常见设计模式之选项模式
Golang常见设计模式之选项模式熟悉Python开发的同学都知道,Python有默认参数的存在,使得我们在实例化一个对象的时候,可以根据需要来选择性的覆盖某些默认参数,以此来决定如何实例化对象。当一个对象有多个默认参数时,这个特性非常好用,能够优雅地简化代码。而Go语言从语法上是不支持默认参数的,所以为了实现既能通过默认参数创建对象,又能通过传