网络编程:

多线程+网络:

1、服务器端的等待客户连接代码( while(true) ),服务器端与单个客户端交互的代码放入线程体( run )

2、客户端如有其他要求,与服务器交互的代码也要放入线程体

3、ServerSocket和Socket编码基于TCP/IP协议,重发一切错误数据,当网络不好时会使性能很差

4、Server端

new ServerSocket启动等待连接线程

在accept后启动交互线程

注意:交互时注意对应产生,读写流对应和次数对应

URL:网址,统一资源定位器

常用的构造器:

URL(String spec)

spec  一个完整的网址(协议+网址)

根据 String 表示形式创建 URL 对象。

URLConnection:与网址进行连接

通过URL的openConnection()方法生成一个URLConnection实例,通过下面两个方法,进行流的操作

getInputStream()

返回从此打开的连接读取的输入流

getOutputStream()

返回写入到此连接的输出流。

UDP编程:这种信息传输方式相当于传真,信息打包,在接收端准备纸

特点:

1、一种无连接协议,速度快

2、不保证数据的完整,不会进行重发

DatagramSocket和DatagramPacket类:

DatagramSocket:此类表示用来发送和接收数据报包的套接字。

DatagramPacket:数据报包,是UDP下进行传输数据的单位,数据存放在字节数组中,其中包括了目标地址和端口以及传送的信息。

用于接收:

DatagramPacket(byte[] buf , int length)

用于发送:

DatagramPacket(byte[] buf , int length , InetAddress address , int port )

UDP发送端:

1、创建一个DatagramSocket,不需要参数

2、创建一个DatagramPacket,指明接收方的IP地址和端口号

3、发送数据send(DatagramPacket p)

4、关闭DatagramSocket

UDP接收端:

1、创建一个DatagramSocket,指定接收方的IP地址和端口号

2、创建一个DatagramPacket,不需要IP地址和端口号

3、接收数据receive(DatagramPacket p)

4、关闭DatagramSocket

常用类库:

java.lang.*:

System 系统

Object 对象

clone()

equals()

hashCode()

toString()

Class  类

String/StringBuffer/StringBuilder  与字符串相关的

Thread 线程

所有的封装类

java.util.*:

Set--->HashSet,TreeSet

List--->ArrayList

Map--->HashMap(线程安全,不支持空),HashTable(线程不安全,支持空)

Collections--->外同步

Properties

Date

观察者-->Observable,接口Observer

数据结构+工具类

java.sql.*: 后面马上会讲到,JDBC

java.awt/swing.*:没什么机会用到

java.io.*:  流相当的多

File/FilenameFilter

Serializable 对象序列化接口

注意:写一个类要考虑的事情:1、无参构造器,2、实现序列化接口,3、重写equals,hashCode

FileInputStream

FileOutputStream

InputStreamReader

PrintStream

BufferedReader

nio包

java.net.*:  以后JSP,Servlet用的时候这个包都已经写好了

InetAddress--->IP地址

URL----------->网址

URLConnection---->连接

ServerSocket,Socket----TCP/IP

DatagramSocket,DatagramPacket----UDP

一些零散的类:

Comparable(可比较的),Comparator(比较器)

java.math.*;数字在商业软件中应用时找这个包

BigDecimal

与反射相关的:java.lang.reflect:  用的机会比较少

Runtime(运行环境),Process(进程) ,这两个在java.lang包里,用了这些就不能跨平台了,而且效率低

java面试第十五天的更多相关文章

  1. Java面试准备十六:数据库——MySQL性能优化

    2017年04月20日 13:09:43 阅读数:6837 这里只是为了记录,由于自身水平实在不怎么样,难免错误百出,有错的地方还望大家多多指出,谢谢. 来自MySQL性能优化的最佳20+经验 为查询 ...

  2. Java进阶(三十五)java int与integer的区别

    Java进阶(三十五)java int与Integer的区别 前言 int与Integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而Integer是对象 ...

  3. Java进阶(二十五)Java连接mysql数据库(底层实现)

    Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...

  4. “全栈2019”Java多线程第二十五章:生产者与消费者线程详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  5. “全栈2019”Java多线程第十五章:当后台线程遇到finally

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  6. “全栈2019”Java异常第十五章:异常链详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

  7. “全栈2019”Java第八十五章:实现接口中的嵌套接口

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. 201671010140. 2016-2017-2 《Java程序设计》java学习第十五周

    java学习第十五周 Java的GUI界面设计,框架以及主要部件填充,归置,布局管理,在第十一章和第十二章进行了系统的学习,在这两章的知识奠基下,可以简单的构造一个GUI用户界面,在两周的学习后,可以 ...

  9. “全栈2019”Java第七十五章:内部类持有外部类对象

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

随机推荐

  1. Git_创建版本库

    什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或 ...

  2. 模仿JQuery 的添加多个事件的原理

    var jquery=function(dom){ var obj={ ready:function(fn){ if(typeof dom.onload=="function"){ ...

  3. 关于Google Android平台的ClockworkMod Recovery恢复模式

    lockworkMod Recovery,它也被称为Clockwork与CWM,它是装载Google Android操作系统设备的一个自定义的Recovery恢复模式,它可以使得相关Android设备 ...

  4. Windows界面编程第四篇 异形窗体 高富帅版 ---博客

    http://blog.csdn.net/morewindows/article/details/8451638

  5. c#开发地磅称重软件

    2012年时即做过一个地磅称重软件,最近公司又接了一个地磅过磅软件的项目,把遇到的问题总结一下以备后用. 1.接线问题 因为客户方原来单独使用仪表,仪表未有接线和电脑连接,为此颇费周折才做好了接线.接 ...

  6. golang slice切片的原理以及内置函数cap, len

    golang中slice(切片)是常用的类型, slice是对数组进行封装 package main import ( "fmt" "strconv") fun ...

  7. 常见的Hadoop十大应用误解

    常见的Hadoop十大应用误解 1.        (误解) Hadoop什么都可以做 (正解) 当一个新技术出来时,我们都会去思考它在各个不同产业的应用,而对于平台的新技术来说,我们思考之后常会出现 ...

  8. Oracle通用分页存储过程的创建与使用

    Oracle通用分页存储过程的创建与使用 1.创建Oracle包的定义.使用 REF CURSOR 数据类型来处理 Oracle 结果集.REF CURSOR 是一个指向 PL/SQL 查询所返回的结 ...

  9. HDU 3910 (13.10.31)

    Description Maybe you know “San Guo Sha”, but I guess you didn’t hear the game: “Liang Guo Sha”! Let ...

  10. 怎么才能成为一名PHP专家?

    本文作者Bruno Skvorc是一名资深的Web开发者.在这篇文章里主要是讲述成为一名专业的PHP专家所要经历的过程,以及在这个过程里要如何学习掌握技巧和对工具的舍取.(以下为编译内容) 当阅读各种 ...