• Java 20 新功能介绍

    JDK 20 不是长期支持 (LTS) 版本,因此它只会在六个月后被 JDK 21 取代之前收到更新。JDK 17( 2021 年 9 月 14 日发布)是 Java 的最新 LTS 版本。Oracle 宣布计划将 LTS 版本之间的时间从三年缩短到两年,因此 JDK 21(2023 年 9 月)计... ...
    java 20 Java 新特性   2023-05-06 09:28
  • Java并发(四)----线程运行原理

    1、线程运行原理 1.1 栈与栈帧 Java Virtual Machine Stacks (Java 虚拟机栈 JVM) 我们都知道 JVM 中由堆、栈、方法区所组成,其中栈内存是给谁用的呢?其实就是线程,每个线程启动后,虚拟机就会为其分配一块栈内存。 每个栈由多个栈帧(Frame)组成,对应着每 ...
    【F】Java并发   2023-05-05 22:15
  • Snort的安装——Fedora

    Snort Fedora Install 简介 Snort 是世界上知名的开源入侵防御系统 (IPS)。Snort IPS 使用一系列规则来帮助定义恶意网络活动,并使用这些规则来查找与其匹配的数据包并为用户生成警报。 Snort 也可以内联部署以阻止这些数据包。Snort 具有三个主要用途:作为数据 ...
  • linux安装tomcat,mysql

    环境:centos7.6 ssh连接工具:tabby 安装tomcat 创建目录 mkdir /opt/tomcat 获取tomcat: 1.自己百度下载 2.我这里提供百度网盘 链接:https://pan.baidu.com/s/1wgLq5W8PCKFkgl_2IPh41A 提取码:2du6 ...
    软件安装   2023-05-05 19:51
  • 深入理解 slab cache 内存分配全链路实现

    本文源码部分基于内核 5.4 版本讨论 在经过上篇文章 《从内核源码看 slab 内存池的创建初始化流程》 的介绍之后,我们最终得到下面这幅 slab cache 的完整架构图: 本文笔者将带大家继续从内核源码的角度继续拆解 slab cache 的实现细节,接下来笔者会基于上面这幅 slab ca ...
    linux内核   2023-05-05 11:34
  • 模板方法中的线程安全问题

    1、线程安全? 是否存在临界区,共享的变量,会被不同线程写入 那么模板方法里面基类的成员变量或者方法就会存在线程安全问题 2、excel AbstractExcelSheet 业务数据和excel 逻辑 解耦 让data 可以 在service 层之间set进来 这样excel的相关类不用添加到 s ...
  • 从源码深入理解读写锁(golang-RWMutex)

    环境:go 1.19.8 在读多写少的情况下,即使一段时间内没有写操作,大量并发的读访问也不得不在Mutex的保护下变成串行访问,这种情况下,使用Mutex,对性能影响比较大。 所以就要区分读写操作。如果某个读操作的g持有了锁,其他读操作的g就不必等待了,可以并发的访问共享变量,这样就可以将串行的读 ...
  • 如何通过C#/VB.NET代码将PowerPoint转换为HTML

    利用PowerPoint可以很方便的呈现多媒体信息,且信息形式多媒体化,表现力强。但难免在某些情况下我们会需要将PowerPoint转换为HTML格式。因为HTML文档能独立于各种操作系统平台(如Unix,Windows等)。并且它可以加入图片、声音、动画、影视等内容,还能从一个文件跳转到另一个文件 ...
  • Linux 内存管理 pt.2

    哈喽大家好我是咸鱼,在《Linux 内存管理 pt.1》中我们学习了什么是物理内存、虚拟内存,了解了内存映射、缺页异常等内容 那么今天我们来接着学习 Linux 内存管理中的多级页表和大页 多级页表&大页 在《Linux 内存管理 pt.1》中我们知道了内核为每个进程都维护了一张页表,这张页表用来记 ...
    Linux运维   2023-05-05 09:09
  • 【必知必会的MySQL知识】mysql5.7安装教程

    1.下载mysql 下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 下载zip免安装版,可以省去很多事 2.将下载的安装文件解压放到磁盘中 3.在mysql解压缩包根目录下创建my.ini 文件(mysql主配置文件)并创建 ...
  • Java设计模式-建造者模式

    简介 建造者模式是一种创建型设计模式,用于将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通过将复杂对象的构建过程分解为多个简单的步骤来实现。 与其他创建型模式不同,建造者模式强调的是将构建过程与表示分离,而不是将对象与其构建方式分离。这使得建造者模式在需要创建多个 ...
    Java设计模式   2023-05-04 20:24
  • 「学习笔记」可持久化线段树

    可持久化数据结构 (Persistent data structure) 总是可以保留每一个历史版本,并且支持操作的不可变特性 (immutable)。 主席树全称是可持久化权值线段树,给定 $n$ 个整数构成的序列 $a$,将对于指定的闭区间 $\left[l, r\right]$ 查询其区间内的 ...
    高级数据结构知识   2023-05-04 20:44
  • JUC并发编程原理精讲(源码分析)

    并发编程是指在程序中使用多线程技术来实现并行处理的能力。多线程机制使得程序可以分解成互不干扰的任务,从而提高了程序执行的效率。并发编程可以通过对线程的创建,管理和协作进行控制,以实现更加高效的并发执行。并发编程的优点包括:① 提高程序执行效率:通过多线程并行处理,程序的处理速度可以显著提高。② 增强... ...
    JavaEE   2023-05-04 17:57
  • SpringBoot导出Word文档的三种方式

    SpringBoot导出Word文档的三种方式 一、导出方案 1、直接在Java代码里创建Word文档,设置格式样式等,然后导出。(略) 需要的见:https://blog.csdn.net/qq_42682745/article/details/120867432 2、富文本转换后的HTML下载为 ...
    SpringBoot   2023-05-04 15:16
  • Python网络爬虫原理及实践

    网络爬虫:是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。网络爬虫相关技术和框架繁多,针对场景的不同可以选择不同的网络爬虫技术。 ...
    python Python爬虫 京东云技术   2023-05-04 10:11
  • 关于在 springboot 中使用 @Autowired 注解来对 TemplateEngine 进行自动装配时,无法注入的问题。

    springboot 中使用 @Autowired 注解来对 TemplateEngine 进行自动装配时,显示No beans of 'TemplateEngine ' type of found。问题 ...
  • python轻量级性能工具-Locust

    Locust基于python的协程机制,打破了线程进程的限制,可以能够在一台测试机上跑高并发 性能测试基础 1.快慢:衡量系统的处理效率:响应时间 2.多少:衡量系统的处理能力:单位时间内能处理多少个事务(tps) 性能测试根据测试需求最常见的分为下面三类 1 负载测试load testing 不断 ...
    python Locust   2023-05-02 12:54
  • linux安装jdk1.8

    为防止操作权限不足,建议切换root用户,当然如果你对Linux命令熟悉,能够自主完成权限更新操作,可以不考虑此推荐。 环境:centos7.6 ssh连接工具:tabby(自从用了这个工具,我再也不用xshell了,这个工具自带文件上传,还有网页版) 创建目录 mkdir /opt/jdk 把jd ...
    软件安装   2023-05-02 11:25
  • RocketMQ的简单使用

    大家好,我是Leo!今天来和大家分享RocketMQ的一些用法。 领域模型介绍 Producer: 用于生产消息的运行实体。 Topic: 主题,用于消息传输和存储的分组容器。 MessageQueue: 消息传输和存储的实际单元容器。 Message: 消息传输的最小单元。 ConsumerGro ...
    MQ   2023-05-02 11:42
  • ubuntu20安装docker、redis、mysql及部署net6应用

    一、更新系统软件包索引 sudo apt update 二、安装docker sudo apt install docker.io 三、在docker中安装Mysql 拉取mysql镜像 docker pull mysql:latest 查看镜像 docker pull mysql:latest 运 ...