首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

分布式基础__聊聊TCP传输的滑动窗口协议的演进

写这篇文章前,我有些肺腑之言想感谢一下我的微信好友“风大”。 是他给了我信心,原来没有很难的技术,只要你肯努力总能赶上其他人。 后来关注他的博客后,发现他尽然觉得弄懂hashmap的 最好办法是自己实现一个hashmap。一开始我也是不懂为什么要这样,后来发现读懂hashmap之后,再自己实现的时候,刚好可以读懂hashmap中那些设计巧妙的地方,发现自己与大师的差距。最后我也总结了一个学习方法: 先弄懂一个技术怎么样,再考虑如果是自己去设计会是什么样子,一开始就算是抄,抄多了你就会自己写了。 之前写过一个springMVC的小轮子,后来看spring事务机制的时候 ,又写了一个TransactionManage。 这些东西就像高冷的美女,只有你征服她时,你才能感受到她平凡而又不普通的一面。

015

一种基于Android、iOS系统的移动端身份证识别技术,本地扫描识别

随着移动互联网的兴起,移动设备成为日常生活中不可或缺的成员,越来越多的业务都通过移动设备办理。但目前的方案多是将移动设备获取的证件图像通过网络上传至服务端,在服务端完成识别任务。此方案存在以下缺陷:受网络影响较大,特别是现在手机拍摄图像都比较大的,网络传输比较费时;对客户的隐私保护不够;识别速度不够快,包含了网络传输图像的时间。所以一种基于Android、iOS系统的移动端身份证识别方法,可直接在设备端本地完成识别任务,得到识别结果,无需上传证件图片,有效避免网络传输速度的影响,对用户隐私进行了很好的保护。

00

性能测试监控指标及分析调优

1、CPU,如果存在大量的计算,他们会长时间不间断的占用CPU资源,导致其他资源无法争夺到CPU而响应缓慢,从而带来系统性能问题,例如频繁的FullGC,以及多线程造成的上下文频繁的切换,都会导致CPU繁忙,一般情况下CPU使用率<75%比较合适。 2、内存,Java内存一般是通过jvm内存进行分配的,主要是用jvm中堆内存来存储Java创建的对象。内存的读写速度非常快,但是内存空间又是有限的,当内存空间被占满,对象无法回收时,就会导致内存溢出或内存泄漏。 3、磁盘I/O,磁盘的存储空间要比内存存储空间大很多,但是磁盘的读写速度比内存慢,虽然现在引入SSD固态硬盘,但是还是无法跟内存速度相比。 4、网络,带宽的大小,会对传输数据有很大影响,当并发量增加时,网络很容易就会成为瓶颈。 5、异常,Java程序,抛出异常,要对异常进行捕获,这个过程要消耗性能,如果在高并发的情况下,持续进行异常处理,系统的性能会受影响。 6、数据库,数据库的操作一般涉及磁盘I/O的读写,大量的数据库读写操作,会导致磁盘I/O性能瓶颈,进而导致数据库操作延迟。 7、当在并发编程的时候,经常会用多线程操作同一个资源,这个时候为了保证数据的原子性,就要使用到锁,锁的使用会带来上下文切换,从而带来性能开销,在JDK1.6之后新增了偏向锁、自旋锁、轻量级锁、锁粗化、锁消除。

01
领券