java面试第十五天
网络编程:
多线程+网络:
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面试第十五天的更多相关文章
- Java面试准备十六:数据库——MySQL性能优化
2017年04月20日 13:09:43 阅读数:6837 这里只是为了记录,由于自身水平实在不怎么样,难免错误百出,有错的地方还望大家多多指出,谢谢. 来自MySQL性能优化的最佳20+经验 为查询 ...
- Java进阶(三十五)java int与integer的区别
Java进阶(三十五)java int与Integer的区别 前言 int与Integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而Integer是对象 ...
- Java进阶(二十五)Java连接mysql数据库(底层实现)
Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...
- “全栈2019”Java多线程第二十五章:生产者与消费者线程详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- “全栈2019”Java多线程第十五章:当后台线程遇到finally
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- “全栈2019”Java异常第十五章:异常链详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- “全栈2019”Java第八十五章:实现接口中的嵌套接口
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 201671010140. 2016-2017-2 《Java程序设计》java学习第十五周
java学习第十五周 Java的GUI界面设计,框架以及主要部件填充,归置,布局管理,在第十一章和第十二章进行了系统的学习,在这两章的知识奠基下,可以简单的构造一个GUI用户界面,在两周的学习后,可以 ...
- “全栈2019”Java第七十五章:内部类持有外部类对象
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
随机推荐
- MultCloud – 支持数据互传的网盘管理
MultCloud https://www.multcloud.com/ 是一款在线服务,可以在一个地方管理众多网盘,支持国产百度盘, 最具有特色的地方是你可以直接在 MultCloud 里操作将 D ...
- 【Go入门教程4】变量(var),常量(const),内置基础类型(Boolean、数值 byte,int,rune、字符串、错误类型),分组,iota枚举,array(数值),slice(切片),map(字典),make/new操作,零值
这小节我们将要介绍如何定义变量.常量.Go 内置类型以及 Go 程序设计中的一些技巧. 定义变量 Go 语言里面定义变量有多种方式. 使用 var 关键字是 Go 最基本的定义变量方式,与 C 语言不 ...
- 【从零学习openCV】IOS7人脸识别实战
前言 接着上篇<IOS7下的人脸检測>,我们顺藤摸瓜的学习怎样在IOS7下用openCV的进行人脸识别,实际上非常easy,因为人脸检測部分已经完毕,剩下的无非调用openCV的方法对採集 ...
- 用最简单的例子理解迭代器模式(Iterator Pattern)
迭代器模式的需求来自:需要对一些集合进行迭代,而迭代的方式可能有很多种. 说到迭代,动作大致包括设置第一个位置,获取下一个位置元素,判断是否迭代结束,获取当前位置元素,大致就这么些.把这些迭代动作封装 ...
- java异常知识点汇总
异常处理方法 对于非运行时异常(checked exception),必须要对其进行处理,否则无法通过编译. 处理方式有两种: 1.使用try..catch..finally进行捕获: 2.在产生异常 ...
- Selenium2+Python自动化-处理浏览器弹窗(转载)
本篇转自博客:上海-小T 原文地址:http://blog.csdn.net/real_tino/article/details/59068827 我们在浏览网页时经常会碰到各种花样的弹窗,在做UI自 ...
- Java中List效率的比较
Java Collections Framework(JCF) 是Java SE中一个基本的类集,几乎所有的项目都会用到,其中的List 则是JCF中最最常用的一个接口.围绕List 接口,有很多实现 ...
- post文件的html
<HTML> <HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio& ...
- 如何让Oracle表及字段显示为区分大小写(转)
http://www.itpub.net/thread-1703955-1-1.html
- [GIt] 团队工作效率分析工具gitstats
copy : http://www.cnblogs.com/ToDoToTry/p/4311637.html 如果你是团队领导,关心团队的开发效率和工作激情:如果你是开源软件开发者,维护者某个repo ...