JVM-类文件结构 java虚拟机不仅可以运行java程序,还可以运行其他语言编写的程序。字节码是构成平台无惯性的基石,class文件是由字节码组成的。 java虚拟机不与任何程序语言绑定,它只与“Class文件”这种特定的二进制文件格式所关联。 Class类文件的结构 Class文件是一组以字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在文件之中,中间没有添加任何分隔符。 Class文件中只有两种数据 2022-03-24 JVM #总结 #jvm #class文件
JVM-类加载机制 一个类的完整生命周期如下: 1.类加载过程类加载机制:java虚拟机吧描述类的数据结构从Class文件加载到内存,并对数据进行校验、转换解析、初始化,最终形成可以被虚拟机直接使用的java类型,这个过程就是类加载机制。 1.1 加载在加载阶段,虚拟机需要完成三个步骤: 通过一个类的全限定名来获取定义此类的二进制字节流。 首先java虚拟机会按照CLASSPATH路径,加上类的全限定名来寻找是否 2022-03-24 JVM #总结 #jvm #class文件 #类加载器
Java多线程-自定义线程池 为什么要设置线程池? 在高并发的情况下,当一下子有多个任务到达时,如果对每个任务都创建一个线程,比较占用堆内存,甚至可能会出现OOM,而且会增加CPU的负荷,因为要并行处理这么多线程,上下文切换的开销大,所以我们使用线程池,使用一定数量的线程来处理多个任务,充分利用已有线程,多的任务就在阻塞队列里等待处理。 自定义线程池的具体实现 123456789101112131415161718192 2022-03-24 JUC #总结 #juc #并发编程 #线程池
Java多线程-线程核心基础 1.线程和进程的区别 进程基本上相互独立的,而线程存在于进程内,是进程的一个子集 线程通信相对简单,因为它们共享进程内的内存,一个例子是多个线程可以访问同一个共享变量 线程更轻量,线程上下文切换成本一般上要比进程上下文切换低 2.实现多线程的方法这是Thread类中的run()方法 12345public void run() { if (this.target != n 2022-03-24 JUC #总结 #juc #并发编程 #线程
Java多线程-顺序&交替输出 固定运行顺序问题:先打印2后打印1 使用wait()和notify()组合 123456789101112131415161718192021222324252627282930313233343536package juc.thread;/** * @Author qq * @Date 2022/3/18 */public class shunxu { static Obje 2022-03-24 JUC #总结 #juc #并发编程 #模式
Java多线程-jdk提供的线程池 1.线程池的状态ThreadPoolExecutor使用int的高三位表示线程池的状态,低29为表示线程数量。 状态名称 高3位的值 描述 RUNNING 111 接收新任务,同时处理任务队列中的任务 SHUTDOWN 000 不接受新任务,但是处理任务队列中的任务 STOP 001 中断正在执行的任务,同时抛弃阻塞队列中的任务 TIDYING 010 任务执行完毕,活动 2022-03-24 JUC #总结 #juc #并发编程 #线程池
Java多线程-ReentrantLock 相对于synchronized,它具备: 可中断 可设置超时时间 可设置为公平锁 支持多个条件变量(多个休息室) 它和synchronized一样支持可重入 基本语法格式是: 12345678910private static ReentrantLock lock = new ReentrantLock();//获取锁lock.lock();try{ //临界区 Syst 2022-03-24 JUC #总结 #juc #并发编程 #ReentrantLock锁
计算机网络-自顶向下 计算机网络中的协议 [TOC] 1.应用层协议🚀🎈🏆💬👍❤️💪😂👌😑😓⚡👴🏻⭐❓🥳❗️✔️❌🙏 定义了运行在不同端系统上的应用程序进程如何相互传递报文。位于应用层的信息分组称为报文。 各层的所有协议被称为协议栈。 应用层协议定义了: 1.1 HTTP协议⭐HTTP协议是基于TCP/IP协议之上的应用层协议。HTTP默认端口号为80。它也可以承载在TLS和SS 2021-09-25 计算机网络 #总结 #计算机网络
网络是怎样连接的 网络是怎样连接的 [TOC] 1.浏览器生成HTTP消息1.1 浏览器解析URLURL URL的组成 协议://用户名:密码@服务器域名/文件路径名 协议:http/ftp/file 用户名和密码:指定用户名或密码作为从服务器端获取资源时必要的登录信息,是可省略的。 服务器域名:web ftp服务器域名,本机的话是localhost(对应的 2021-09-25 计算机网络 #总结 #计算机网络