`
samttsch
  • 浏览: 63826 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
文章列表
public class Test { public static void main(String[] args) throws IOException, InterruptedException { test1(); // test2(); test3(); } private static void test1() throws IOException{ String filePath = "F:/shanch/temp/a.txt"; //RandomAcces ...
断点续传主要是使用http协议中range的属性来取得资源的部分内容,由于一般服务是不对外直接提供url访问的,一般都是通过id,在servlet中输出byte[]来实现,所以要想实现断点续传一般要自己实现一个服务端。 一个简单实现: 服务端:主要是分析了range属性,利用RandomAccessFile读取内容输出字节流 public class Download extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) ...
一个项目中需要从HTTP中读取XML 同步数据到数据库中,在大量数据的压力测试下,发现有数据丢失 经过调试发现在控制台产生异常: FWK005 进一步定位发现在解析XML的时候,xml inputstream为空 之前的代码: import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; private static DocumentBuilderFactory factory = null; private static DocumentBuilder bui ...
近期接触到流量,由于旧的版本流控不准确,所以相对其改进一下 整体方案:使用jdk1.5的信号量机制,没法送一条消息,信号量加1,当信号量达到上限时,阻塞,等待定时线程来清理(每100毫秒尝试清理一次) 1.首先想到使用Semaphore来实现,不过测试时发现,由于semaphore不能够重入,这导致,在1秒钟内一个线程发送了一条之后,就会阻塞,这样一秒钟每个线程只能发送一条消息。 2.采用ArrayBlockingQueue来实现,每发送一条调用一次put方法(put时如果发现超过1秒钟,则立即清0),定时线程每100毫秒尝试清理一次,但是发现用ArrayBlockingQueue似乎不够 ...
常识: Stream是oracle的消息队列(也叫oracle Advanced Queue)技术的一种扩展应用。Oracle的消息队列和其他队列产品功能类似,都是通过发布/订阅的方式来解决事件管理。流复制(Stream Replication)是基于消息队列的一个数据共享技术,他 ...
1.输出 print "Hello World" 2.执行脚本文件 python helloworld.py 3.在命令行里执行脚本 execfile("helloworld.py") 4.退出 import sys        sys.exit()        或者raise SystemExit 5.变量赋值,for循环,输出    principal = 1000    rate = 0.05    numyears = 5    year = 1    while year <= numyears:        principal = ...
vi编辑器公分为3种模式,分别是一般模式,编辑模式,与命令行模式。 一般模式:vi处理文件时,一进入该文件,就是一般模式了。在这个模式中可以使用上下左右来移动光标,可以删除字符或删除整行来处理内容,也可以复制粘贴。 编辑模式:在一般模式中可以进行删除,复制,粘贴等操作,却无法进行编辑操作,要等到按下 i I o O a A r R等才回进入编辑模式,要回到一般模式,则必须按下Esc 命令行模式:在一般模式中,输入: / ? 就进入命令行模式 一般模式: 左: h      下:j     上:k      右:l ctrl+f 下移一页 [Page Down] ctrl+b 上移一页 [ ...
Global site tag (gtag.js) - Google Analytics