后端

【竞赛题】6376. 一最多的行

题目: 给你一个大小为 m x n 的二进制矩阵 mat ,请你找出包含最多 1 的行的下标(从 0 开始)以及这一行中 1 的数目。 如果有多行包含最多的 1 ,只需要选择 行下标最小 的那一行。 返回一个由行下标和该行中 1 的数量组成的数组。 示例 1: 输入:mat = [[0,1],[1,0]] 输出:[0,1] 解释:两行中 1 的数量相同。所以返回下标最小的行,下标为 0 。该行 1

mysql 主从配置

核心概念: 主服务器(Master):负责处理客户端的写操作,并将数据更改记录到二进制日志(binlog)中。 从服务器(Slave):负责读取主服务器的二进制日志,并在本地执行这些更改,以保持数据同步。 工作

无IDEA不Java:快速掌握Java集成开发环境

IntelliJ IDEA是一种强大的Java集成开发环境,是Java开发人员的首选工具之一。本文将介绍IDEA的基本使用方法和常用功能,以帮助初学者快速上手。 安装和配置 首先,需要下载并安装IntelliJ IDEA。在安装完成后,需要配置JDK,以便IDEA可以正确地编译和运行Java代码。在IDEA中,可以通过File->Project Structure来配置JDK路径。 创建项目

【Java开发日记】Spring MVC控制器的14个技巧

目录1、使用@Controller构造型2、实现控制器接口3、扩展AbstractController类4、为处理程序方法指定URL映射5、为处理程序方法指定HTTP请求方法6、将请求参数映射到处理程序方法7、返回模型和视图8、将对象放入模型9、处理程序方法中的重定向10、处理表格提交和表格验证11、处理文件上传12、在控制器中自动装配业务类13、访问HttpServletRequest和

Java异步任务编排—CompletableFuture(二)

CompletableFuture API 默认情况下CompletableFuture会使用公共的ForkJoinPool线程池,这个线程池默认创建的线程数是 CPU 的核数(也可以通过 JVM option:-Djava.util.concurrent.ForkJoinPool.common.parallelism 来设置ForkJoinPool线程池的线程数)。如果所有Completabl

一图了解ConcurrentHashMap底层原理

底层结构图.png 1、ConcurrentHashMap底层数据结构是一个数组table 2、table数组上挂着单向链表或红黑树 3、new ConcurrentHashMap();如果没有指定长度的话,默认是16,并且数组长度必须是2的n次幂,若自定义初始化的长度不是2的n次幂,那么在初始化数组时,会吧数组长度设置为大于自定义长度的最近的2的n次幂。(如:自定义长度为7,那么实际

AQS机制

AQS:全名为AbstractQuenedSynchronizer,翻译过来即抽象的队列同步器,是一种用来构建锁和同步器的框架。 基于AQS构建同步器,很多并发类都是基于它实现的,这些类都是继承于AbstractQueuedSynchronizer,包括: ReentrantLock Semaphore CountDownLatch ReentrantReadWriteLock Synchron

JVM调优参数

JVM调优参数可以分为以下几类: 1.堆内存调优参数: -Xms:初始堆大小 -Xmx:最大堆大小 -Xmn:新生代大小 -XX:NewRatio:新生代和老年代的比例 -XX:SurvivorRatio:Eden区和Survivor区的比例 2.GC调优参数: -XX:+UseSerialGC:使用串行垃圾回收器 -XX:+UseParallelGC:使用并行垃圾回收器 -XX:+UseConc

学习《框架思维》的第三天

      今天继续学习《框架思维》,前面我们学习了界定问题的三种方法:准确地秒速问题,明确问题的构成要素,探究问题的本质。今天我们学习第四种方法:显性化问题隐含的假设。 一,显性问题隐含的环境假设, 二,显性问题隐含的时间假设 三,显性化理论/工具的应用前提和边界       显性化问题隐含的假设是一种威力巨大的界定问题的方法,特别有助于我们发现问题不缜密的部分,以及拓宽分析问题的思路。