- 1 内存管理的概念内存管理指操作系统对内存的划分和动态分配地址空间:逻辑地址空间: 相对地址, 从0开始编址物理地址空间: 地址转换的最终地址程序运行时和编译: 吧源代码编译成目标模块链接: 吧目标模块、库函数链接成1个装入模块链接属于形成进程逻辑地址的过程装入:绝对装入: 编译时就确定了装入地址可重定位装入: 根据内存情况, 把程序装到适当位置运行时动态装入:运行前才真正把程序装起来... 1 内存管理的概念内存管理指操作系统对内存的划分和动态分配地址空间:逻辑地址空间: 相对地址, 从0开始编址物理地址空间: 地址转换的最终地址程序运行时和编译: 吧源代码编译成目标模块链接: 吧目标模块、库函数链接成1个装入模块链接属于形成进程逻辑地址的过程装入:绝对装入: 编译时就确定了装入地址可重定位装入: 根据内存情况, 把程序装到适当位置运行时动态装入:运行前才真正把程序装起来...
- 定时任务调度crond任务调度 crontab进行定时任务调度5个占位符的说明特殊符号说明crond应用示例at定时任务调度at执行任务案例 定时任务调度crond任务调度crond是一个后台程序编辑 crontab进行定时任务调度概述:任务调度:是指系统在某个时间执行的特定的命令或程序任务调度的分类:1、系统工作:有些重要的工作必须周而复始的执行。如病毒扫描2、个别用户工作:个别用户... 定时任务调度crond任务调度 crontab进行定时任务调度5个占位符的说明特殊符号说明crond应用示例at定时任务调度at执行任务案例 定时任务调度crond任务调度crond是一个后台程序编辑 crontab进行定时任务调度概述:任务调度:是指系统在某个时间执行的特定的命令或程序任务调度的分类:1、系统工作:有些重要的工作必须周而复始的执行。如病毒扫描2、个别用户工作:个别用户...
- 前言:七月末八月初的时候,秋招正式打响,公司会放出大量的全职和实习岗位。为了帮助秋招的小伙伴们,学长这里整理了一系列的秋招面试题给大家,所以小伙伴们不用太过焦虑,相信你们一定能超常发挥,收到心仪公司的Offer~~内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Bo... 前言:七月末八月初的时候,秋招正式打响,公司会放出大量的全职和实习岗位。为了帮助秋招的小伙伴们,学长这里整理了一系列的秋招面试题给大家,所以小伙伴们不用太过焦虑,相信你们一定能超常发挥,收到心仪公司的Offer~~内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Bo...
- 线程讲解 多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。程序的运行速度可能加快。在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。 线... 线程讲解 多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。程序的运行速度可能加快。在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。 线...
- 一、说明ThreadPoolExecutor继承 Executor 接口它有多个构造方法来实现自定义创建线程池,以内部线程池的形式对外提供管理任务执行,线程调度,线程池管理等关闭线程池调用 shutdown() 、shutdownNow()、awaitTermination()方法 二、理解shutdown()只关闭了提交通道,停止接收新任务,已提交的任务会继续执行直到完成,此方法不会阻塞... 一、说明ThreadPoolExecutor继承 Executor 接口它有多个构造方法来实现自定义创建线程池,以内部线程池的形式对外提供管理任务执行,线程调度,线程池管理等关闭线程池调用 shutdown() 、shutdownNow()、awaitTermination()方法 二、理解shutdown()只关闭了提交通道,停止接收新任务,已提交的任务会继续执行直到完成,此方法不会阻塞...
- 一、说明RejectedExecutionHandler当线程池已经被关闭,或者任务数超过maximumPoolSize+workQueue时执行拒绝策略ThreadPoolExecutor.AbortPolicy 默认拒绝策略,丢弃任务并抛出RejectedExecutionException异常ThreadPoolExecutor.DiscardPolicy 直接丢弃任务,但不抛出异常... 一、说明RejectedExecutionHandler当线程池已经被关闭,或者任务数超过maximumPoolSize+workQueue时执行拒绝策略ThreadPoolExecutor.AbortPolicy 默认拒绝策略,丢弃任务并抛出RejectedExecutionException异常ThreadPoolExecutor.DiscardPolicy 直接丢弃任务,但不抛出异常...
- 一、前言临界资源即那些一次只能被一个线程访问的资源,典型例子就是打印机,它一次只能被一个程序用来执行打印功能,因为不能多个线程同时操作,而访问这部分资源的代码通常称之为临界区。 二、锁机制threading的Lock类,用该类的acquire函数进行加锁,用realease函数进行解锁。import threadingimport time class Num: def __init... 一、前言临界资源即那些一次只能被一个线程访问的资源,典型例子就是打印机,它一次只能被一个程序用来执行打印功能,因为不能多个线程同时操作,而访问这部分资源的代码通常称之为临界区。 二、锁机制threading的Lock类,用该类的acquire函数进行加锁,用realease函数进行解锁。import threadingimport time class Num: def __init...
- 一、说明ThreadPoolExecutorJava提供的线程池Executor框架相关的工具类中,最核心的是ThreadPoolExecutor它有多个构造方法来实现自定义创建线程池,以内部线程池的形式对外提供管理任务执行,线程调度,线程池管理等 二、理解ThreadPoolExecutorjava.util.cocurrent 包下ThreadPoolExecutor类继承Abstra... 一、说明ThreadPoolExecutorJava提供的线程池Executor框架相关的工具类中,最核心的是ThreadPoolExecutor它有多个构造方法来实现自定义创建线程池,以内部线程池的形式对外提供管理任务执行,线程调度,线程池管理等 二、理解ThreadPoolExecutorjava.util.cocurrent 包下ThreadPoolExecutor类继承Abstra...
- 一、说明Future的不足当通过 .get() 方法获取线程的返回值时,会导致阻塞也就是和当前这个Future关联的计算任务真正执行完成的时候才返回结果新任务必须等待已完成任务的结果才能继续进行处理,会浪费很多时间,最好是谁最先执行完成谁最先返回CompletionService的引入解决阻塞的问题以异步的方式一边处理新的线程任务,一边处理已完成任务的结果,将执行任务与处理任务分开进行处理... 一、说明Future的不足当通过 .get() 方法获取线程的返回值时,会导致阻塞也就是和当前这个Future关联的计算任务真正执行完成的时候才返回结果新任务必须等待已完成任务的结果才能继续进行处理,会浪费很多时间,最好是谁最先执行完成谁最先返回CompletionService的引入解决阻塞的问题以异步的方式一边处理新的线程任务,一边处理已完成任务的结果,将执行任务与处理任务分开进行处理...
- 一、说明Java 提供了三种创建线程的方法实现 Runnable接口继承 Thread类本身通过 Callable和 Future 创建线程Callable和Future的引入继承Thread或实现Runnable接口,任务执行完成后无法获取执行结果而要获取执行结果,必须通过共享变量或者使用线程通信的方式来达到效果Java 1.5 开始引入了Callable和Future,执行任务完成后可... 一、说明Java 提供了三种创建线程的方法实现 Runnable接口继承 Thread类本身通过 Callable和 Future 创建线程Callable和Future的引入继承Thread或实现Runnable接口,任务执行完成后无法获取执行结果而要获取执行结果,必须通过共享变量或者使用线程通信的方式来达到效果Java 1.5 开始引入了Callable和Future,执行任务完成后可...
- 1 翻一翻ThreadPoolExecutor 1.1 类关系图 1.2 成员变量—线程池状态(生命周期)private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0));private static final int COUNT_BITS = Integer.SIZE - 3;private static fi... 1 翻一翻ThreadPoolExecutor 1.1 类关系图 1.2 成员变量—线程池状态(生命周期)private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0));private static final int COUNT_BITS = Integer.SIZE - 3;private static fi...
- 1 Synchronized 1.1 定义 java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。然而,当一个线程访问object的一个加... 1 Synchronized 1.1 定义 java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。然而,当一个线程访问object的一个加...
- JMM(Java Memory Model,Java内存模型),是一种抽象的概念 并不真实存在,它描述的是一组规则或规范通过规范定制了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式.JMM关于同步规定:线程解锁前,必须把共享变量的值刷新回主内存线程加锁前,必须读取主内存的最新值到自己的工作内存加锁解锁是同一把锁由于JVM运行程序的实体是线程,而每个线程创建时JVM都会... JMM(Java Memory Model,Java内存模型),是一种抽象的概念 并不真实存在,它描述的是一组规则或规范通过规范定制了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式.JMM关于同步规定:线程解锁前,必须把共享变量的值刷新回主内存线程加锁前,必须读取主内存的最新值到自己的工作内存加锁解锁是同一把锁由于JVM运行程序的实体是线程,而每个线程创建时JVM都会...
- 一言不合翻源码,一下就是Thread类源码中State内置枚举,列举出了Java线程的几种状态:/** * A thread state. A thread can be in one of the following states: * <ul> * <li>{@link #NEW}<br> * A thread that has not yet started is in th... 一言不合翻源码,一下就是Thread类源码中State内置枚举,列举出了Java线程的几种状态:/** * A thread state. A thread can be in one of the following states: * <ul> * <li>{@link #NEW}<br> * A thread that has not yet started is in th...
- 1 什么是优先队列(堆) 1.1 继承关系首先看下Java中堆的继承关系,可以看出堆实现了队列的全部方法。 1.2 堆的数据结构 1.3 特征:(1)二叉堆是一个完全二叉树(2)根节点总是大于左右子节点(大顶堆),或者是小于左右子节点(小顶堆)。 1.4 常见方法add() //调用了offer方法 public boolean add(E e) { return offer(e)... 1 什么是优先队列(堆) 1.1 继承关系首先看下Java中堆的继承关系,可以看出堆实现了队列的全部方法。 1.2 堆的数据结构 1.3 特征:(1)二叉堆是一个完全二叉树(2)根节点总是大于左右子节点(大顶堆),或者是小于左右子节点(小顶堆)。 1.4 常见方法add() //调用了offer方法 public boolean add(E e) { return offer(e)...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签