清溪做网站的电话,怎么查询公司的注册信息,车体广告设计图片,自己注册一个公司需要多少钱目录 一、IO 模型 二、什么是网络IO 三、什么是零拷贝 四、多路复用 五、java程序、mysql JDBC connection关系 六、connection怎么操作事务 七 、java里面的池化技术 八、线程池7个核心参数 九、线程的状态 一、IO 模型 BIO #xff1a;同步阻塞io#xff0c;单线程 内存上下… 目录 一、IO 模型 二、什么是网络IO 三、什么是零拷贝 四、多路复用 五、java程序、mysql JDBC connection关系 六、connection怎么操作事务 七 、java里面的池化技术 八、线程池7个核心参数 九、线程的状态 一、IO 模型 BIO 同步阻塞io单线程 内存上下文切换开销大、性能差 NIO 同步非阻塞 提高系统并发能力减少等待时间 用户线程需要不断轮询io状态占cpu资源 AIO 异步非阻塞 允许应用程序在等待io操作完成时继续执行其他任务高并发下减少线程或进程的数量降低资源消耗 二、什么是网络IO 网络IO操作通常包括两个阶段 1、等待数据准备就绪如等待数据从网络到达套接字接收缓冲区 2、将数据从内核拷贝到用户进程 不同的网络IO模型适用于不同的应用场景。例如对于连接数不多的应用场景可以使用阻塞IO模型对于需要处理大量连接的应用场景则可以考虑使用非阻塞IO、多路复用IO或异步IO模型。在选择网络IO模型时需要根据应用的具体需求和性能要求来综合考虑。 三、什么是零拷贝 通过减少数据拷贝次数和上下文切换次数从而显著提高数据传输和存储的效率 零拷贝并不是指数据在传输过程中没有进行任何拷贝而是指尽量减少用户态与内核态之间的数据拷贝次数以及减少CPU的参与从而提高数据传输的效率 Kafka在生产者 和消费者 之间传输数据时通过利用操作系统的零拷贝特性 网络服务器Nginx采用了零拷贝技术来优化数据传输 文件传输系统中如scp安全复制和rsync远程同步零拷贝技术也被广泛应用 四、多路复用 多路复用 异步进行资源操作的手段 1、selector 消耗性能 2、pool 会发生链式扫描 效率慢 3、epool 消息驱动的控制机制只关心文件有没有变化 效率快 应用 redis io多路复用 Netty 使用 Java NIO 提供的 Selector 来实现 I/O 多路复用netty 通过Selector能够同时监视多个Channel通道当Channel有I/O事件发生时如可读、可写、连接等 五、java程序、mysql JDBC connection关系 Java程序和MySQL数据库之间的JDBC连接关系是通过JDBC API建立的。它允许Java应用通过SQL语句与MySQL数据库交互并执行查询、更新、插入和删除等操作。这个连接过程是基于标准的JDBC API实现的具有跨数据库平台的通用性。 六、connection怎么操作事务 开启事务将Connection对象的自动提交模式设置为false。通过调用setAutoCommit(boolean autoCommit)方法实现其中autoCommit参数设置为false。执行sql提交事务回滚事务 七 、java里面的池化技术 重用对象来减少创建和销毁对象的开销从而提高应用程序的性能和响应速度 数据库连接池Connection Pool数据库连接池是管理数据库连接的缓存池技术。它可以预先创建一定数量的数据库连接并将这些连接放置在连接池中 线程池Thread Pool线程池用于管理一组工作线程这些线程可以执行提交给线程池的任务使用线程池可以避免频繁地创建和销毁线程 对象池Object Pool对象池是一种用于管理可重用对象的池化技术。当应用程序需要创建大量相同类型的对象时可以使用对象池来重用这些对象而不是每次都创建新的对象 缓存Cache虽然缓存本身并不直接属于池化技术但它也涉及到资源的重用因此可以看作是池化思想的一种应用 八、线程池7个核心参数 corePoolSize核心线程数线程池的基本大小即线程池中会一直保持的线程数量 maximumPoolSize最大线程数定义线程池中允许的最大线程数量 keepAliveTime空闲线程存活时间定义当线程数量超过corePoolSize时空闲线程在终止前等待新任务的最长时间。 unit空闲时间单位定义keepAliveTime的时间单位如秒、毫秒等。 workQueue工作队列定义用于存放待执行任务的阻塞队列。 threadFactory线程工厂定义用于创建新线程的工厂。 handler拒绝策略定义当线程池无法处理新任务时即线程数量达到maximumPoolSize且工作队列已满所采取的拒绝策略。 九、线程的状态 new 线程创建好还没有调用startrunnable 这个状态有可能正运行、可能等待就绪blocked 处于锁等待waiting 条件等待状态 触发条件唤醒 notify /waittimed_wait 和waiting 状态相同 多了一个超时条件触发terminated 线程执行结束 十、线程怎么创建 ThreadRunnableCallable Thread是个类 只能单一继承 runnable是接口可以支撑多继承 Runnable表示一个线程的顶级接口Thread类是实现Runnable Runnable是一个任务 thread才是真正处理的线程前者去定义任务后者去处理 松耦合 Thread真正意义上的线程实现 Runnable表示要求执行的一个任务