
【Java 并发专题】
文章平均质量分 73
鸿洋_
关注领域:JavaEE,Android,Javascript,HTML5,MySQL,Hadoop,Linux
展开
-
Java爬虫,信息抓取的实现
今天公司有个x原创 2014-04-09 15:50:18 · 208128 阅读 · 164 评论 -
Java / Android 基于Http的多线程下载的实现
有个朋友需要个多线程现在的例子,就帮忙实现了,在此分享下~先说下原理,原理明白了,其实很简单:a、对于网络上的一个资源,首先发送一个请求,从返回的Content-Length中回去需要下载文件的大小,然后根据文件大小创建一个文件。this.fileSize = conn.getContentLength();// 根据响应获取文件大小File dir = new File(dirSt原创 2014-05-26 00:07:21 · 23352 阅读 · 39 评论 -
Java 并发专题 : Timer的缺陷 用ScheduledExecutorService替代
继续并发,上篇博客对于ScheduledThreadPoolExecutor没有进行介绍,说过会和Timer一直单独写一篇Blog.1、Timer管理延时任务的缺陷a、以前在项目中也经常使用定时器,比如每隔一段时间清理项目中的一些垃圾文件,每个一段时间进行数据清洗;然而Timer是存在一些缺陷的,因为Timer在执行定时任务时只会创建一个线程,所以如果存在多个任务,且任务时间过长,超过了两原创 2014-05-26 21:42:30 · 96927 阅读 · 38 评论 -
Java并发专题 带返回结果的批量任务执行 CompletionService ExecutorService.invokeAll
一般情况下,我们使用Runnable作为基本的任务表示形式,但是Runnable是一种有很大局限的抽象,run方法中只能记录日志,打印,或者把数据汇总入某个容器(一方面内存消耗大,另一方面需要控制同步,效率很大的限制),总之不能返回执行的结果;比如同时1000个任务去网络上抓取数据,然后将抓取到的数据进行处理(处理方式不定),我觉得最好的方式就是提供回调接口,把处理的方式最为回调传进去;但是现在我原创 2014-05-28 00:15:56 · 25266 阅读 · 12 评论 -
Java 并发专题 :闭锁 CountDownLatch 之一家人一起吃个饭
最近一直整并发这块东西,顺便写点Java并发的例子,给大家做个分享,也强化下自己记忆。每天起早贪黑的上班,父母每天也要上班,话说今天定了个饭店,一家人一起吃个饭,通知大家下班去饭店集合。假设:3个人在不同的地方上班,必须等到3个人到场才能吃饭,用程序如何实现呢?作为一名资深屌丝程序猿,开始写代码实现:package com.zhy.concurrency.latch;public原创 2014-05-22 23:05:43 · 21800 阅读 · 50 评论 -
Java 并发专题 : Semaphore 实现 互斥 与 连接池
继续并发方面的知识。今天介绍Semaphore,同样在java.util.concurrent包下。Se原创 2014-05-24 10:31:57 · 19850 阅读 · 14 评论 -
Java 并发专题 :FutureTask 实现预加载数据 在线看电子书、浏览器浏览网页等
继续并发专题~FutureTask 有点类似Runnable,都可以通过Thread来启动,不过FutureTask可以返回执行完毕的数据,并且FutureTask的get方法支持阻塞。由于:FutureTask可以返回执行完毕的数据,并且FutureTask的get方法支持阻塞这两个特性,我们可以用来预先加载一些可能用到资源,然后要用的时候,调用get方法获取(如果资源加载完,直接返回;原创 2014-05-24 11:51:36 · 9861 阅读 · 6 评论 -
Java 并发专题 : CyclicBarrier 打造一个安全的门禁系统
继续并发专题~这次介绍CyclicBarrier:看一眼API的注释:/** * A synchronization aid that allows a set of threads to all wait for * each other to reach a common barrier point. CyclicBarriers are * useful in program原创 2014-05-24 14:22:34 · 6711 阅读 · 15 评论 -
Java进阶 创建和销毁对象
最近准备写点Javase的东西,希望可以帮助大家写出更好的代码。1、给不可实例化的类提供私有构造器比如:每个项目中都有很多工具类,提供了很多static类型的方法供大家使用,谁也不希望看到下面的代码:TextUtils textUtils = new TextUtils(); if(textUtils.isDigitsOnly("123")) { //doSometing原创 2014-05-12 21:55:09 · 23407 阅读 · 14 评论 -
从原理角度解析Android (Java) http 文件上传
文件上传是我们项目中经常使用的功能,一般我们的服务器可能都是web服务器,当我们使用非浏览器客户端上传文件时,比如手机(Android)等上传,可能就需要对传输的数据进行规范化的拼接,说白了,就是我们得自己完成浏览器帮我们做的事。我首先写了服务器端代码,用来接收我们的数据,一会会贴出。然后写了个web页面用于上次,便于我们看其中的原理。当点击了上传以后,这里我使用了firefox的原创 2014-04-15 20:04:56 · 67534 阅读 · 24 评论 -
网页信息抓取进阶 支持Js生成数据 Jsoup的不足之处
今天又遇到一个网页数据抓取的任务,给大家分享下。说道网页信息抓取,相信Jsoup基本是首选的工具,完全的类JQuery操作,让人感觉很舒服。但是,今天我们就要说一说Jsoup的不足。1、首先我们新建一个页面 main.html a { line-height: 30px; margin: 20px; } -->原创 2014-04-16 18:36:29 · 39689 阅读 · 37 评论 -
Java OCR tesseract 图像智能字符识别技术
公司有需求啊,所以就得研究哈,最近公司需要读验证码,于是就研究起了图像识别,应该就是传说中的(OCR:光学字符识别OCR),下面把今天的收获整理一个给大家做个分享。本人程序用的tesseract,官方地址:https://code.google.com/p/tesseract-ocr/,不为别的,谁让它支持我们的天朝的文字呢~哈下载好程序后解压:大概可以看到这样一个目录,别见怪楼主原创 2014-04-17 20:21:58 · 48086 阅读 · 30 评论 -
Java OCR tesseract 图像智能字符识别技术 Java代码实现
接着上一篇OCR所说的,上一篇给大家介绍了tesseract 在命令行的简单用法,当然了要继承到我们的程序中,还是需要代码实现的,下面给大家分享下java实现的例子。拿代码扫描上面的图片,然后输出结果。主要思想就是利用Java调用系统任务。下面是核心代码:package com.zhy.test;import java.io.BufferedReader;import原创 2014-04-17 21:33:11 · 106631 阅读 · 62 评论 -
Java 将字节数组转化为16进制的多种方案
很多时候我们需要将字节数组转化为16进制字符串来保存,尤其在很多加密的场景中,例如保存密钥等。因为字节数组,除了写入文件或者以二进制的形式写入数据库以外,无法直接转为为字符串,因为字符串结尾有\0,当然肯定还有其他原因。下面提供几种Java中使用的方案:方案一:直接利用BigInteger的方法,应该是最简单的方案了。/** * 利用签名辅助类,将字符串字节数组 * @pa原创 2014-04-13 17:35:01 · 38697 阅读 · 10 评论 -
Java 并发专题 : Executor详细介绍 打造基于Executor的Web服务器
继续并发,貌似并发的文章很少有人看啊~哈~今天准备详细介绍java并发包下的Executor,以及Java提供了很多灵活的且极其方便的线程池的创建。嗯,那就慢慢说,大家肯定都学过Socket,JavaSe的时候写聊天程序,游戏的服务器,以及Android程序自己需要提供服务器的,都会拿Socket来自己写个:最初我们的服务器可能写成这样:1、单线程服务器package com.原创 2014-05-25 10:49:13 · 10232 阅读 · 9 评论