想做技术博客,但却更喜欢分享生活。

  2017 年 02 月 - 4 文章

移动端弹出浮动层内部滚动的解决方案

在移动端开发的时候,未免会遇到这样的情况:
有一个弹出的浮动层,这个层有滚动条,可以上下滚动。
此时就会发现,当用户在操作这个浮层的时候,整个页面也可能会随之滚动。
ScrollPrevent.js就是为了解决这种情况而被制作的!

对线程池ExecutorService的关闭的研究

最近在使用ExecutorService的时候,对其关闭操作的概念非常模糊。查阅了许多文章、问答之后,有了一个总结。
shutdown:
1. 调用之后不允许继续往线程池内继续添加线程;
2. 线程池的状态变为SHUTDOWN状态;
3. 所有在调用shutdown()方法之前提交到ExecutorSrvice的任务都会执行;
4. 一旦所有线程结束执行当前任务,ExecutorService才会真正关闭。

shutdownNow():
1. 该方法返回尚未执行的task的List;
2. 线程池的状态变为STOP状态;
3. 阻止所有正在等待启动的任务,并且停止当前正在执行的任务;

2017-02-15

UnsupportedOperationException 的研究

最近设计的一个类中,有成员属性Map<String, List>,其因为某些奇怪的原因,在给value的List调用add或者remove方法时抛出了UnsupportedOperationException异常,于是对其进行了研究。

记一个在制作服务器过程中遇到的坑

关于HTTP 的响应头 Content-Range的记录。

Content-Range
用于响应头,指定整个实体中的一部分的插入位置,他也指示了整个实体的长度。在服务器向客户返回一个部分响应,它必须描述响应覆盖的范围和整个实体长度。一般格式:
Content-Range: bytes (unit first byte pos) - [last byte pos]/[entity legth]