后端开发2025年08月17日
目录 实体例子 List 转成Map<String,Object> List 转成Map<String,String> List 转成Map<String,List> 方法一: 方法二: List 转成Map<String,List> List<Map<String,Object>> ...
服务器2025年08月17日
1、其实在linux上和window是一样的 2、path 传入的路径(直接从根目录到你的文件的位置) public static boolean delFile(String path) { log.info("进入deFile方法 psth =: "+path); boolean flag = false; File file = ...
后端开发2025年08月17日
目录 线程安全性 死锁 定义 实现一个死锁 查看死锁 解决死锁 其他线程安全问题 单例模式 线程安全性 线程安全是指我们所写的代码在并发情况下使用时,总是能表现出正确的行为;反之,未实现线程安全的代码,表现的行为是不可预知的,有可能正确, 实现线程安全的方式: 线程封闭 就是把对象封装到一个线程里,只有这一个线程能看到此对象。实现线程封闭的方式如下: 栈封...
后端开发2025年08月17日
本文小编为大家详细介绍“java编码转换过程是怎样的”,内容详细,步骤清晰,细节处理妥当,希望这篇“java编码转换过程是怎样的”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 java中的编码转换(以utf8和gbk为例) 在正常javaweb开发中经常会发现字符转换的需求,会存在中文字符转换乱码的现象,如何解决以及其转换原理我...
后端开发2025年08月16日
目录 一、前提 二、代码 三、使用 1、实现TreeNode接口 2、使用 3、样例 一、前提 pId需要传入用来确认第一级的父节点,而且pId可以为null。 树实体类必须实现:TreeNode接口 MyTreeVo必须有这三个属性:id、pId、children 可以根据不同需求,配置TreeNode和MyTreeVo中固定的属性 二、代码 定义Tre...
后端开发2025年08月16日
目录 前言 需求描述 思路解析 代码实现 时间复杂度 总结 前言 本文主要介绍如何将多个小的升序链表合并一个大的升序链表。 需求描述 给出K个升序链接,要求把这K个升序链表合并成一个,并且这个链表也是升序的。 例如:A = [1,5,6], B = [2,3,8], C = [4,4,9] 将这3个链表合并成一个链表D,合并后D = [1,2,3,4,4,...
后端开发2025年08月15日
锁的定义 在计算机程序中锁用于独占资源,获取到锁才可以操作对应的资源。 锁的实现 锁在计算机底层的实现,依赖于CPU提供的CAS指令(compare and swsp),对于一个内存地址,会比较原值以及尝试去修改的值,通过值是否修改成功,来表示是否强占到了这个锁。 JVM中的锁 jvm中,有2个常用的锁 synchronized synchronized是j...
后端开发2025年08月15日
目录 1.递归和迭代的区别 2.代码 1.递归和迭代的区别 当实体调用自身时,程序称为递归。 当存在循环(或重复)时,程序称为迭代调用。 示例:求一个数的阶乘的程序 时间复杂度比较 查找递归的时间复杂度比迭代更难。 递归:递归的时间复杂度可以通过根据先前的调用找到第 n 次递归调用的值来找到。因此,根据基本情况找到目标情况,并根据基本情况求解,可以让我们了...
后端开发2025年08月15日
根据不同的条件,调用不同的 bean 对象,执行对象中的方法 SpringUtils 工具类 package com.vipsoft.web.utils; import cn.hutool.core.util.ArrayUtil; import org.springframework.aop.framework.AopContext; import org....
后端开发2025年08月14日
目录 锁原理 偏向锁 轻量级锁 重量级锁 锁升级 无锁 偏向锁 轻量级锁 重量级锁 锁粗化&amp;锁消除 锁粗化/锁膨胀 锁消除 synchronized锁是啥?锁其实就是一个对象,随便哪一个都可以,Java中所有的对象都是锁,换句话说,Java中所有对象都可以成为锁。这次我们主要聊的是synchronized锁升级的套路 synchronize...