纪要梳理(常识)

进程 线程

进程 是分配资源(内存 文件等)的基本单位,比如 new了一块内存,就是操作系统将一块物理内存映射到 进程的 地址空间上,进程内所有线程都可以访问这块内存

进程是一辆火车,线程就像火车上的车厢 , 车厢离开火车是无法跑动的,火车也不可能只有一节车厢,多线程的出现是为了提高效率

在同一进程中的线程共享相同的地址空间,可以读写同样的数据结构和变量,便于通信,反之进程通信困难且消耗更多资源

并行 并发

并发的关键是 有处理多个任务的能力,不一定要同时

并行的关键是有 同时 处理多个任务的能力

同步 异步

同步:再执行完一个函数或方法之后,一直等待系统返回值或消息,程序是处于阻塞的,只有接收到返回的值或消息后才往下执行其他命令

异步:执行完函数或方法后,不必阻塞性等待,只需要向系统委托一个异步过程,当系统接收到返回值,自动触发委托的不过程,完成整个流程(多线程 必然)

线程安全

安全:当多线程访问时,采用了加锁机制,当一个线程访问某个数据时,其他线程不能进行访问,避免数据不一致

不安全:出现多个线程先后修改数据,造成脏数据

httpsocketTCP

http协议:超文本传输协议;用于规定客户端与服务端之间的传输规则

http请求:

请求行(Method、URL、HTTP版本号)、请求头(附加信息:cookie、host、数据类型等)、请求体(数据)

响应(服务端):状态行(版本号、状态吗)、响应头、响应实体

流程:

1 .建立连接2 .发送请求到服务器(参数)3 .服务器接收响应(参数)4 .客户端接收展示,断开连接

区别:

TCP(传输层协议);HTTP(应用层协议基于TCP;SocketTCP抽象接口基于TCP;

1.客户端往服务端发送HTTP请求时第一步建立与服务端的TCP连接

三次握手,持久连接:一次TCP可以发送多次的HTTP请求;

2.Socket: HTTP是短连接,Socket(接口)是基于TCP的长连接,除非一方主动断开,否则连接一直保持

3.HTTP采用“请求--响应”机制,在客户端没有发送信息给服务短前,服务端无法推送消息给客户端。

socket连接,双方可以随时喊话

场景:

HTTP :双方不需要保持连接在线(客户端资源获取、文件上传) ;Socket(QQ、微信)

JDK JRE JVM

JDK: JAVA开发工具包(核心)= jre + java工具(java/javac等)+ 基础类库(java api、rt.jar)

jre: JAVA运行时环境 = JVM工作环境 = 类加载器 + 字节码校验器+基础JAVA类库

jvm: java虚拟机,通过计算机仿真模拟各种计算机功能来实现;把 java字节码解释成 机器指令(跨操作系统)并执行

你可能感兴趣的:(纪要梳理(常识))