获得徽章 1
- #青训营笔记创作活动#
1月18日 day3
今天学习了DCHP协议,了解了电脑插上网线到获取IP地址的过程,大致可以分为一下4步:
1.电脑在网络发出广播,询问可以分配IP地址的服务器。(DCHP Discover)
2.DCHP服务器通过广播(或者单播如果电脑支持)回复本机一个空闲IP地址。(DCHP offer)
3.本机收到回复,拿到IP地址后,在发送一条广播告诉DCHP服务器,我要使用该IP地址。(DCHP request).
4.DCHP回复本机一个ACK信息,允许本机在一段时间内使用该地址。(DCHP ACK).展开评论点赞 - #青训营笔记创作活动#
1月14日 打卡day1
今日学习了一些限流算法,从计数器到滑动窗口,漏桶再到令牌桶算法。
计数器毫无疑问是最简单的一种限流算法,虽然无法应对时间粒度很细的场景,但是其实现所需资源是最少的。
令牌桶算法借助与桶中令牌的数量来进行限流以及应付一定程度上的突发流量,这也就导致了令牌桶非常依赖与桶中令牌的生成。展开评论点赞 - 最近在写一个java web的电影小项目时,有一个想法。因为我的项目中service层中有少部分service类包含很多方法,并且基本方法中仅仅只是调用一下对应Dao层的方法,并将其返回。而且,当我的Dao层的方法发送变动,参数的个数增加或减少的时候,都要更改service中的方法,以保持一致。
所以我有一个不知正确与否的想法,在Controller、Service和Service和Dao之间添加一个中间层(我称为BlackBox),BlackBox在这里就是一个类,类中只有一个方法getData(String className, String methodName, Object... params),利用反射的机制,在Controller层要调用Service层的某个方法时,只需要传递要调用方法的所属类的名字和方法名以及参数即可,同样在Service层调用Dao层的方法时一样。并且在Service层和Dao层,每个方法的参数都是(Object... params)。
这样的话,当Dao层中的某个方法的所需参数发生变动时,Service层不需要修改,只是在Controller层增加或减少传递的参数个数。如果再为BlackBox增加XML文件配置的话,如果发生改变,只需要改变XML配置文件中的内容,而不需要修改代码。并且经过了BlackBox后,Controller层和Service层,Service层和Dao层是互相不可见的,在Controller层不存在new xxxService并且在Service层也不存在new xxxDao的这种形式存在。
以上就是来自一个菜鸡的粗略的一个想法,想法有什么不好的地方请大家指出。插播一下项目地址:http://120.27.192.30/movie/ ,项目还未完成,还在码代码中。展开评论点赞