JDK准备
同意相关协议后,下载JDK,安装配置后即拥有了JDK一般会用到IDE开发环境,建议用eclipseJDK相关的文件都放置在一个叫JAVA_HOME的根目录下配置完了,可以查看JDK目录
C:\Users\fhzheng>echo %JAVA_HOME% D:\javaOld\jdk1.8.0_161
查看java版本
C:\Users\fhzheng>java -version java version “1.8.0_161” Java™ SE Runtime Environment (build 1.8.0_161-b12) Java HotSpot™ 64-Bit Server VM (build 25.161-b12, mixed mode)
要慢慢让自己习惯英文的界面,习惯性的直接用英文处理工作在eclipse下,每个项目都有自己的.classpath文件,指定了源码路径、编译后输出文件的路径以及这个项目引用的jar包的路径
JAVA的类和对象
每个对象都占用内存空间使用new时就是为对象分配内存空间,也就是实例化对象toString方法返回一个描述对象内部状态的字符串,所有以象都有该方法,其实它是在Object类中定义的如果是常见,加上final修饰即可命名时:类名大写开头,对象名小写开头,全用英语单词,不要用拼音,易有歧义爬虫的英文:Crawler处理器一般叫xxxhandler提取工具一般叫xxxExtractor使用枚举的好处 – 代码易于维护,有助于确定给变量指定合法的、期望的值 – 代码更清晰,允许描述性的名词表示整数值 – 代码更易键入常用集合类
ArrayList Queue Stack HashMap HashSet
集合类的使用实例 – User-Agent和对应的值就是键值对
JAVA文件读写
文件一般分为二进制格式和文本格式网页一般就是文本格式一般使用串行方式读出或写入 – 输入流从文件读取到内存 – 输出流从内存写回到文件
File FileReader FileWriter BufferedReader BufferedWriter InputStream【抽象类,不能实例化】 FileInputStream【从文件中按字节读取】 FileOutputSream【按字节把数据写到文件中】 InputStreamReader OutputStream OutputStreamWriter BufferedInputStream DataInputStream
多线程和并发编程
当机器有多核时,就可以真正地创建多个线程并行工作线程都是Thread对象,实例化时,都是Thread的子类或是Runnable接口的实现类对象
线程池
简单的任务不返回给主调线程
要返回值的任务可以实现Callable接口,线程池执行任务并通过Future的实例获取返回值Callable类似 于Runnable接口,在其中可以在线程池中执行任务Future表示异步计算的结果 – 提供了检查计算是否完成的方法 – 等待计算完成 – 检索计算的结果
常见算法及实现
折半查找递归迭代方式实现直接循环迭代方式实现核心思想:查找区间范围越来越小。就好象在池中捞鱼,收网的过程,网越来越小,直到最后看网中有没有鱼折半查找的基础:先排好序。如果无序,则无法进行折半查找
图片处理
常用数据结构及用法
设计模式应用