源码地址:多线程爬虫–抓取淘宝商品详情页URL 项目地址中包含了一份README,因此对于项目的介绍省去部分内容。这篇博客,主要讲述项目的构建思路以及实现细节。 项目概述及成果 首先将本项目使用到技术罗列出来: MySQL数据库进行数据持久化及对宕机情况的发生做简单的处理 Redis数据库做IP代理池及部分已抓取任务的缓存 自制IP代理池 使用多线程执行任务... 作者:championhengyi 发表于 2018/03/02 22:35:30 原文链接 https://blog.csdn.net/championhengyi/article/details/79416748 阅读:18605 评论:24 查看评论 继续阅读 >>


董恒毅 18/03/02 22:35:30
类是一种抽象的概念,对象是类的一种具体的表现形式。先有类,在生成对象(实例)。 类由两大部分构成:属性和方法。 一个JAVA源文件只能定义一个public类。 JAVA中进行方法的参数传递时,无论是基本类型还是引用类型,都是传值。 方法重载:方法名字相同,但参数不同:个数不同和类型不同。 继承:extends。 继承的三个特点:1,父类有的,子类也有。2,父类没有的,子类可增加。3,父类有的,子类可改变。 继承的注意事项:1,构造方法不能被继承。2,方法和属性可继承。3,子类的构造方法隐式的调用父类的不带参数的构造方法。4,当父类没有不带参数的构造方法时,子类需要使用super来显式调用父类的某个构造方法。 当生成子类对象时,JAVA默认首先调用父类的不带参数的构造方法,然后执行该构造方法,生成子类的对象。再去调用子类的构造方法,生成子类的对象。要想生成子类的对象,首先需要生成父类的对象,没有父类对象就没有子类对象。 super:表示对父类对象的引用。 如果子类使用super()显式调用父类的某个构造 继续阅读 >>


贺含悦 18/02/28 22:26:20
规则表达式包括两种字符:字面意义字符与元字符 字面意义字符:按照字面意义比较的字符 元字符:不按照字面比较,在不同情境有不同意义的字符 字面意义字符 字母和数字在规则表达式中,都是按照字面意义比较,有些字符前加了\之后,会被当作元字符。 XY —— X之后要跟随着Y X|Y —— X或Y [XYZ] —— X或Y或Z 元字符如! $ ^ * ( ) + = { } [ ] | \ : . ?等在规则表达式中有特殊意义,若要比较这些字符,则必须加上忽略符号\ 举个栗子,想要将”aaa+bbb+ccc”用split()按+切割,要使用的规则表达式是+,要将其放在”“之间时,按照Java字符串的规定,必忽略+的\,所以撰写为”\+” “aaa||bbb||ccc”,规则表达式||,撰写为Java字符串是\+\+ “aaa\bbb\ccc” ,规则表达式\,撰写为Java字符串是\\ 规则表达式是规则表达式,在Java中将其撰写在”“中又是另一回事,不能混为一谈。 字符类 继续阅读 >>


贺含悦 18/02/28 22:16:52
相对于串流输入/输出使用InputStream、OutputStream来衔接数据源与目的地,NIO使用频道(Channel)来衔接数据节点,在处理数据时,NIO可以让你设定缓冲区(Buffer)容量,在缓冲区中对感兴趣的数据区块进行标记,像是标记读取位置、数据有效位置,对于这些区块标记,提供了clear()、rewind()、flip()、compact()等高级操作。 Channel架构与操作 NIO中Channel相关接口与类,位于java.nio.channels套件中。 Channel接口是AutoClosable的子接口。 ReadableByteChannel定义了read()方法,将ReadableByteChannel中的数据读取至ByteBuffer。 WritableByteChannel定义了write()方法,将ByteBuffer的数据写到WritableByteChannel中。 ScatteringByteChannel定义了read()方法,将Scatteri 继续阅读 >>


贺含悦 18/02/28 22:16:29
Java流式输入/输出原理 在Java程序中,对于数据的输入/输出操作以“流”(Stream)方式进行;提供了各种各样的“流”类,用以获取不同种类的数据;程序中通过标准的方法输入或输出数据。 输入/输出流的分类 java.io包中定义了多个流类型来实现输入/输出功能;可以从不同的角度对其进行分类: 按数据流的方向不同可以分为字节流和字符流。 按处理数据单位不同可以分为字节流和字符流。 按照功能不同可以分为节点流和处理流。 JDK所提供的所有流类型位于包java.io内都分别继承自以下四种抽象流类型。 / 字节流 字符流 输入流 InputStream Reader 输出流 OutputStream Writer 那么什么是节点流和处理流呢?用一张图来解释: InputStream 继承自InputStream的流都是用于向程序中输入数据,且数据的单位为字节(8 bit); InputStream的基本方 继续阅读 >>


贺含悦 18/02/28 22:16:06
容器:Java API 所提供的一系列类的实例,用于在程序中存放对象,也称集合。JDK所提供的容器API位于java.util包内。 Java 集合框架主要结构图: 如上图所示,Java容器有两种基本类型Collection 和Map。 其中Map的结构比较简单,而Collection的结构就相对复杂一些。Collection有三个继承接口:List、Queue和Set。 Collection Collection接口 Collection接口是最基本的集合接口,一个Collection代表一组Object,即Collection的元素。一些Collection允许相同的元素而另一些不行,一些能排序而另一些不行。所以Collection所代表的是一种规则,它所包含的元素都必须遵循一条或者多条规则。而JDK并不提供对Collection的直接实现,而是对其进行了细分,提供更加细化的子接口List、Set、Queue。 Collection接口继承了Iterable接口,Col 继续阅读 >>


贺含悦 18/02/28 22:15:00
异常的概念 JAVA异常是JAVA提供的用于处理程序中错误的一种机制,这个错误指的是运行期出现的错误(如除0溢出、数组下标越界、所要读取文件不存在等),而非执行期;观察错误的名字和行号最重要。 JAVA程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息并将被提交给JAVA运行时系统,这个过程称为抛出。 当JAVA运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这个过程称为捕获。 使用try、catch语法,JVM就会尝试执行try区块中的程序代码。如果发生错误,执行流程会跳离错误发生点,然后比较catch括号中声明的类型。是否符合被抛出的错误对象类型,如果是的话,就执行catch区块中的程序代码。有catch必须有try。 异常的分类 Throwable分两类:Error、Exception;Exception分两类:RuntimeException、其他Exception Throwable:可抛出的,只 继续阅读 >>


贺含悦 18/02/28 22:14:30
本文主要是从我写Java网络编程时使用BufferedInputStream和BufferedOutputStream的时候遇到的bug, 来分析BufferedInputStream和BufferedOutputStream的工作机制和简单的源码分析. 1. bug描述 最近在写一个Java网络编程的程序, 其中涉及文件的传输问题, 选择使用BufferedInputStream和Buf 作者:dela_ 发表于 2018/02/01 12:30:34 原文链接 https://blog.csdn.net/dela_/article/details/79226656 阅读:643 评论:2 查看评论 继续阅读 >>


祝一迪 18/02/01 12:30:34
import java.util.*;public class Main { public static void main(String[] args){ Random random = new Random(10);//随机种子 for(int i=0;i 作者:m0_37787222 发表于 2018/01/10 22:48:12 原文链接 https://blog.csdn.net/m0_37787222/article/details/79029200 阅读:62 继续阅读 >>


陈文浩 18/01/10 22:48:12
使用公历类GregorianCalendar 使用公历类 GregorianCalendar,公历类 GregorianCalendar有方法setTimeInMillis(long);可以用它来设置从1970年1月1日算起的一个特定时间。请编程从键盘输入一个长整型的值,然后输出对应的年、月和日。例如输入:1234567898765,输出:2009-1-14 输入格式: 输入 1234567 作者:m0_37787222 发表于 2018/01/10 17:15:07 原文链接 https://blog.csdn.net/m0_37787222/article/details/79026179 阅读:911 继续阅读 >>


陈文浩 18/01/10 17:15:07