后端

Java多线程 - 线程通信

1. 通信方式 要想实现多个线程之间的协同,如:线程执行先后顺序、获取某个线程执行的结果等等。涉及到线程之间相互通信,分为下面四类: 文件共享 网络共享 共享变量 jdk提供的线程协调API 细分为: suspend/resume、wait/notify、park/unpark (1) 文件共享 文件共享 (2) 网络共享 网络资源的共享,此处略 (3) 变量共享 变量共

Synchronized关键字原理

Synchronized原理是Java面试中几乎百分百会问到的问题,因为没有任何写过并发程序的开发者会没听说或者没接触过Synchronized。 Synchronized是由JVM实现的一种实现互斥同步的一种方式,如果你查看被Synchronized修饰过的程序块编译后的字节码,会发现,被Synchronized修饰过的程序块,在编译前后被编译器生成了monitorenter和monitorex

浅析VO、DTO、DO、PO的概念、区别和用处

概念 VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。 DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。 DO(D

DrissionPage 与 CapSolver:打造无痕、高效的自动化爬虫利器

1. 引言:自动化面临的挑战在数据采集、自动化测试和业务运营等领域,Web 自动化已成为不可或缺的工具。然而,现代网站部署了日益复杂的反爬虫机制和验证码(CAPTCHA),这使得即使是精心设计的自动化脚本也可能功亏一篑。DrissionPage 与 CapSolver 的强强联合,为解决这一难题提供

com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接

报错内容:com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接原因:主要是sqlserver版本太低导致的,博主也是找了很多办法,最后使用java成功连接sqlserver解决办法:1.找到jdk的安

服务器迁移及docker部署

背景 这段时间负责公司运维工作,多个私有云服务器快到期了,因此线上服务和数据需要迁移备份,但是如果在同一台机器上部署多个实例难免有端口冲突,为了做到相互隔离和维护方便,docker可能是最佳选择,于是开始了我的迁移之旅: 备份 服务器迁移过程中最重要的是数据,为了确保数据不丢失,最好是晚上停机备份 # redis:拷贝rdb文件和conf配置文件 # mysql全量备份 mysqldump --a

Spring IOC

个人主页:♡喜欢做梦欢迎  👍点赞  ➕关注  ❤️收藏  💬评论目录🍑一、Lombok🍓定义🍓常用注解🍓使用🍑二、IoC🍓什么是IoC?🍓IoC的实现方式:依赖注入(DI)&#x1f3

1700. 无法吃午餐的学生数量(难度:简单)

题目链接: 题目描述: 学校的自助午餐提供圆形和方形的三明治,分别用数字 0 和 1 表示。所有学生站在一个队列里,每个学生要么喜欢圆形的要么喜欢方形的。 餐厅里三明治的数量与学生的数量相同。所有三明治都放在一个 栈 里,每一轮: 如果队列最前面的学生 喜欢

第二章 性能瓶颈的分析与定位(3) 采样型剖析器

采样型剖析器         采样型剖析器通过周期性地抓取程序当前调用栈的快照,以及检查当前调用的函数的方式来检查程序状态。这里的思想是被采样最多的函数即是占用程序执行时间最多的函数。在一个时间较长的运行过程中,被采样最多的函数可以推定执行时间最多的函数,从而可以得到最常被执行函数的大致图像。         这类剖析器的第一个缺点是显而易见的——即它的统计本质。对不常使用的函数的采样结果可能是不

SpringBoot集成redisson操作redis

一、配置 1.1 引入maven <dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.17.0</version> </dependency> 1.2