Java
蓝桥杯算法集训 - Week 3:日期问题、区间合并、DFS、回溯
蓝桥杯算法集训 - Week 3 本系列随笔用于整理AcWing题单——《蓝桥杯集训·每日一题2024》的系列题型及其对应的算法模板。 一、日期问题 Ⅰ、代码模板 Ⅱ、回文日期 2867. 回文日期 - AcWing题库 二、区间合并 Ⅰ、代码模板 Ⅱ、挤牛奶 1343. 挤牛奶 - AcWing题库 三、DFS Ⅰ、奶牛选美 2060. 奶牛选美 - AcWing题库 Ⅱ、扫
博客:雨落秋垣v2.0版本升级公告
大家好。 经过近31天的努力,我们终于完成了升级雨落秋垣v2.0版本的准备! 升级安排 升级方式 为了保证数据安全,我们会采取停机升级方式,所以在升级期间所有站点均会无法访问 升级时间 如果不出意外,我们将会2021年6月6日(星期天),让我们选择一个心情好的时间,剪断服务器的网线然后开始升级,目前期望的升级时间是在1个月左右结束。 升级详情 为什么要升级 就像春天需
LeetCode 1265. Print Immutable Linked List in Reverse
原题链接在这里:https://leetcode.com/problems/print-immutable-linked-list-in-reverse/description/题目: You are given an immutable linked list, print out all values of each node in reverse with the help of the f
dremio SplitOrphansCleanerService 简单说明
SplitOrphansCleanerService 目前主要是清理一些孤立的split 服务(主要是对于namespaceservice) SplitOrphansCleanerService创建 DACDaemonModule 中,可以看出是分布式master 角色启动的(实际就是master 角色或者) if (isDistributedMaster) { // C
从单机到分布式微服务,大文件校验上传的通用解决方案
一、先说结论 本文将结合我的工作实战经历,总结和提炼一种从单体架构到分布式微服务都适用的一种文件上传和校验的通用解决方案,形成一个完整的方法论。本文主要解决手段包括多线程、设计模式、分而治之、MapReduce等,虽然文中使用的编程语言为Java,但解决问题和优化思路是互通的,适合有一定开发经验的开发者阅读,希望对大家有帮助。 二、引言 文件上传的场景应该都不陌生,不管是C端还是B端,都会有文件上
走进volatile的世界,探索它与可见性,有序性,原子性之间的爱恨情仇!
写在开头 在之前的几篇博文中,我们都提到了 volatile 关键字,这个单词中文释义为:不稳定的,易挥发的,在Java中代表变量修饰符,用来修饰会被不同线程访问和修改的变量,对于方法,代码块,方法参数,局部变量以及实例常量,类常量多不能进行修饰。 自JDK1.5之后,官网对volatile进行了语义增强,这让它在Java多线程领域越发重要!因此,我们今天就抽一晚上时间,来学一学这个关键字,首先,
System.arraycopy(...) 用法
System.arraycopy() 方法用于将一个数组中的部分元素复制到另一个数组中的指定位置 System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length) src: 源数组srcPos:源数组中要复制的元素的索引起始位置dest:目标数组destPos:目标数组中要复制到的元素的索引起始位置le
FastJson反序列化2-1.2.24漏洞利用
1、1.2.24漏洞利用-JNDI 漏洞利用思路,如果某个类的set()方法中使用了JNDI,那么则可以使用JDNI注入执行任意命令。事实上在JDK8中就存在这样的类:JDBCRowSetImpl; 该类实现了JdbcRowSwt接口,继承自BaseRowSet; package com.sun.rowset; 其中setAutoCommit方法中的else分支调用了connect方法 这个
技术笔记(11)相关概念理解
技术笔记(11)相关概念理解 希望实现的功能或目标: 了解学习移动端开发的相关概念 实现过程中产生的疑惑: 什么是SDK,JDK? 安卓SDK内提供了哪些工具? 部署的定义? 软件开发生命周期? 后处理? 对疑惑的解答: SDK和JDK SDK定义:Software Development Kit,软件开发工具包,是一系列工具的集合 Andr
『Java 语法基础』a = a + b 与 a += b 的区别
对于 a = a + b,如果 a 和 b 是 byte、short 或 char 类型的变量,在进行算术运算的时候会首先提升为 int 类型(这称为 类型提升),然后才执行加法运算。 如果想将结果赋值回 byte、short 或 char 类型的变量,必须进行显式的类型转换,否则编译器会报错,因为 int 类型不能隐式转换为 byte、short 或 char 类型。 例如: 如果不进行强制
『Java 语法基础』3 * 0.1 == 0.3 将会返回什么?true 还是 false?
false,因为有些浮点数不能完全精确的表示出来。 由于浮点数在计算机中的表示通常是近似值,3 * 0.1 实际上可能不会精确等于 0.3。这是因为二进制浮点数最为常用的表示格式(IEEE 754)通常无法精确表示一些十进制数。执行 3 * 0.1 == 0.3 在 Java 中很可能会返回 false,因为两边计算得到的二进制表示有细微的差异。为了准确的比较浮点数,通常应该使用一个非常小的误差
『Java 语法基础』能在 Switch 中使用 String 吗?
从 Java 7 开始,我们可以在 switch case 中使用字符串,但这仅仅是一个语法糖。内部实现在 switch 中使用字符串的 hash code。 从 Java 7 开始,Java 语言支持在 switch 语句中直接使用 String 类型的变量。之前的版本只允许在 switch 语句中使用 整型、枚举 和一些 特定的类(比如 Character、Byte、Short 和 Inte
『Java 语法基础』对 equals() 和 hashCode() 的理解
为什么在重写 equals 方法的时候需要重写 hashCode 方法 因为有强制的规范指定需要同时重写 hashcode 与 equals 方法,许多容器类,如 HashMap、HashSet 都依赖于 hashcode 与 equals 的规定。 在Java中,equals() 和 hashCode() 方法是 Object 类的两个非常重要的方法,它们用于比较对象的相等性以及计算对象的
『Java 语法基础』String、StringBuffer 与 StringBuilder 的区别
第一点: 可变和适用范围。String 对象是不可变的,而 StringBuffer 和 StringBuilder 是可变字符序列。每次对 String 的操作相当于生成一个新的 String 对象,而对 StringBuffer 和 StringBuilder 的操作是对对象本身的操作,而不会生成新的对象,所以对于频繁改变内容的字符串避免使用 String,因为频繁的生成对象将会对系统性能
『Java 语法基础』final、finalize 和 finally 的不同之处
final final 是一个修饰符,是 Java 编程语言中的一个关键字,可以用来修饰变量、方法、以及类。使用 final 的效果是不同的,取决于它修饰的对象类型。下面我会分别解释 final 修饰变量、方法和类时的效果。 final 修饰变量 当 final 修饰一个变量时,这个变量就变成了一个常量,也就是说它的值只能被赋值一次,一旦赋值之后就不能被修改了。如果尝试修改 final 变量
LeetCode 1206. Design Skiplist
原题链接在这里:https://leetcode.com/problems/design-skiplist/description/ 题目: Design a Skiplist without using any built-in libraries. A skiplist is a data structure that takes O(log(
关于如何使用echarts实现市县区地图的可视化
找了很多资料,终于实现了 获取genjson的方式,很好用!!! AreaCity Geo格式转换工具 (gitee.io) 然后将数据格式贴在下面就可以了 效果如图
Java创建数组、赋值的四种方式,声明+创建+初始化 详解
@目录一、创建数组的四种方式二、详解三、数组存储的弊端 一、创建数组的四种方式 以int数据类型为例 注意: new 数据类型[]{},其中花括号可以省去,但要在[ ]中填写数组的个数; 创建多维数组时 new后面第一个方括号中的元素数量不能省略 二、详解 1、一维数组的声明方式: type[] arrayName; 或 type arrayName[]; 推荐使用第一种格式,因为第一种
js实现交通灯(两种方案)
简介 刚在抖音上刷到一个面试题,说实现交通灯的方案,我一开始想到的是通过定时器去实现,没想到他提到了一个问询的方式去实现,借此记录下来,本文介绍了两种方案去实现交通灯以及对应的倒计时。废话不多说,上代码 html+css html代码如下: css如下: 定时器 index.js代码如下: 问询 index1.js代码如下: 总结 没有太多的详细说明,我想看代码以及注释能看懂,若各位有看不
洛谷——P1152欢乐的跳
思路 1、接收数据 2、abs得出相邻两数差的绝对值,存入数组 3、用f=true,记录是否满足条件 4、对数组进行排序后,判断是否等于[1,n-1]间的数,有一个不是就跳出循环
Leecode 二叉树的前序遍历
Day2 刷题 我的思路:用数组list存储遍历结果,利用ArrayList的方法实现嵌套! 力扣官方题解:思路基本一致,差别在于用了子方法preorder来代替嵌套。且官方用res来存储,我用addAll方法来完成嵌套所需。 二叉树的性质: this是在类里面的意思,此外在编写代码时,需要什么时候把根节点的值存进list内,是判定不是空节点时。 ArrayList的方法:ad
[npm] NPM入门教程
1 NPM 1.1 简介 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用。 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。 npm 的工作原理 npm的工作原理是基于一个庞大的
洛谷——P1888 三角函数
思路 1、输入的数一定为勾股数,斜边长max,正弦角所对的边min,则所求正弦值=min/max(需要约分,用gcd最大公约数)。则用数组存入数据并升序排序 2、用gcd求最大公约数(辗转相除法) 若a>b,gcd(a,b) = gcd(b,a%b)=……=(直到余数为0)a%b 3、正弦值分子=min/gcd,正弦值分母=max/gcd tips:lcm(最小公