《Java工程师必看:JVM性能调优的7个核心参数》‌

news/2025/11/14 23:09:21/文章来源:https://www.cnblogs.com/wowo123/p/19223716

1、非修改序列算法
这些算法不会改变它们所操作的容器中的元素。

1.1 find 和 find_if
find(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。
find_if(begin, end, predicate):查找第一个满足谓词的元素。
find_end(begin, end, sub_begin, sub_end):查找子序列最后一次出现的位置。
vector nums = {1, 3, 5, 7, 9};

// 查找值为5的元素
auto it = find(nums.begin(), nums.end(), 5);
if (it != nums.end()) {
cout << "found: " << *it << endl; // 输出:5
}

// 查找第一个大于6的元素
auto it2 = find_if(nums.begin(), nums.end(), [](int x) {
return x > 6;
});
cout << "first >6: " << *it2 << endl; // 输出:7

// 查找子序列
vector sub = {3, 5};
auto it3 = find_end(nums.begin(), nums.end(), sub.begin(), sub.end());
if (it3 != nums.end()) {
cout << "subsequence starts at index: " << it3 - nums.begin() << endl; // 输出:1
}
AI写代码

1.2 count 和 count_if
count(begin, end, value):统计等于 value 的元素个数。
count_if(begin, end, predicate):统计满足谓词(predicate)的元素个数。
std::vector vec = {1, 2, 3, 2, 4, 2};
int cnt = std::count(vec.begin(), vec.end(), 2); // 计数2的个数,结果为3
int even_cnt = std::count_if(vec.begin(), vec.end(), [](int x) {
return x % 2 == 0;
}); // 偶数个数,结果为4
AI写代码
1.3 for_each
对范围内的每个元素应用一个函数

std::vector vec = {1, 2, 3, 4, 5};
std::for_each(vec.begin(), vec.end(), [](int& x) {
x *= 2; // 将每个元素乘以2
});
// 现在vec变为{2, 4, 6, 8, 10}
AI写代码
1.4 equal 与 mismatch
equal(b1, e1, b2):判断两个范围 [b1,e1) 和 [b2, b2+(e1-b1)) 是否相等。
mismatch(b1, e1, b2):返回两个范围中第一个不相等元素的迭代器对(pair)。
vector a = {1, 2, 3};
vector b = {1, 2, 4};
vector c = {1, 2, 3, 4};

// 比较a和b的前3个元素
bool is_equal = equal(a.begin(), a.end(), b.begin());
cout << "a == b? " << boolalpha << is_equal << endl; // 输出:false

// 查找a和c的第一个不匹配元素
auto mis = mismatch(a.begin(), a.end(), c.begin());
if (mis.first != a.end()) {
cout << "mismatch: " << *mis.first << " vs " << *mis.second << endl; // 无输出(a和c前3元素相等)
}
AI写代码

1.5 all_of, any_of, none_of
检查范围内元素是否全部、存在或没有满足条件的

std::vector vec = {2, 4, 6, 8};
bool all_even = std::all_of(vec.begin(), vec.end(), [](int x) {
return x % 2 == 0;
}); // true
bool any_odd = std::any_of(vec.begin(), vec.end(), [](int x) {
return x % 2 != 0;
}); // false
bool none_negative = std::none_of(vec.begin(), vec.end(), [](int x) {
return x < 0;
}); // true
AI写代码

2、修改序列算法
这些算法会修改它们所操作的容器中的元素。

2.1 copy 和 copy_if
copy(begin, end, dest):将 [begin, end) 中的元素复制到 dest 开始的位置。
copy_if(begin, end, dest, predicate):复制满足谓词的元素到 dest。
vector src = {1, 2, 3, 4, 5};
vector dest(5); // 需预先分配足够空间

// 复制所有元素
copy(src.begin(), src.end(), dest.begin()); // dest: [1,2,3,4,5]

// 复制偶数元素到新容器
vector evens;
copy_if(src.begin(), src.end(), back_inserter(evens), [](int x) {
return x % 2 == 0;
}); // evens: [2,4]
AI写代码

注意:back_inserter(dest) 会自动调用 push_back,无需提前分配空间。

2.2 transform
对范围内的每个元素应用一个函数,并将结果存储在另一个范围内

vector nums = {1, 2, 3};
vector squares(3);

// 计算平方(单参数转换)
transform(nums.begin(), nums.end(), squares.begin(), [](int x) {
return x * x;
}); // squares: [1,4,9]

// 两容器元素相加(双参数转换)
vector a = {1, 2, 3};
vector b = {4, 5, 6};
vector sum(3);
transform(a.begin(), a.end(), b.begin(), sum.begin(), [](int x, int y) {
return x + y;
}); // sum: [5,7,9]
AI写代码

2.3 replace、replace_if与 replace_copy
replace(begin, end, old_val, new_val):将所有 old_val 替换为 new_val。
replace_if(begin, end, predicate, new_val):替换满足谓词的元素。
replace_copy(begin, end, dest, old_val, new_val):复制时替换元素(不修改原容器)。
vector nums = {1, 2, 3, 2, 5};

// 替换所有2为20
replace(nums.begin(), nums.end(), 2, 20); // nums: [1,20,3,20,5]

// 替换大于10的元素为0
replace_if(nums.begin(), nums.end(), [](int x) {
return x > 10;
}, 0); // nums: [1,0,3,0,5]

// 复制时替换3为300(原容器不变)
vector res;
replace_copy(nums.begin(), nums.end(), back_inserter(res), 3, 300); // res: [1,0,300,0,5]
AI写代码

2.4 remove、remove_if 与 erase
remove(begin, end, value):将等于 value 的元素 “移动” 到容器末尾,返回新的逻辑尾迭代器(不实际删除元素,需配合 erase)。
remove_if(begin, end, predicate):移动满足谓词的元素到末尾。
vector nums = {1, 2, 3, 2, 4};

// 逻辑删除所有2(移动到末尾)
auto new_end = remove(nums.begin(), nums.end(), 2); // nums: [1,3,4,2,2]

// 物理删除(真正移除元素)
nums.erase(new_end, nums.end()); // nums: [1,3,4]

// 结合lambda删除偶数
nums = {1, 2, 3, 4, 5};
nums.erase(remove_if(nums.begin(), nums.end(), [](int x) {
return x % 2 == 0;
}), nums.end()); // nums: [1,3,5]
AI写代码

2.5 unique
移除范围内连续的重复元素,返回新的逻辑结尾迭代器。通常与erase结合使用。

std::vector vec = {1, 1, 2, 2, 3, 3, 3, 4, 5};
auto last = std::unique(vec.begin(), vec.end());
vec.erase(last, vec.end()); // vec变为{1, 2, 3, 4, 5}
AI写代码
2.6 reverse
反转范围内的元素顺序

std::vector vec = {1, 2, 3, 4, 5};
std::reverse(vec.begin(), vec.end()); // vec变为{5, 4, 3, 2, 1}
AI写代码
2.7 rotate
旋转范围内的元素,使中间元素成为新的第一个元素

std::vector vec = {1, 2, 3, 4, 5};
std::rotate(vec.begin(), vec.begin() + 2, vec.end()); // 以3为起点旋转,vec变为{3, 4, 5, 1, 2}
AI写代码
2.8 shuffle
随机重排范围内的元素(需要C++11或更高版本)

include

include

std::vector vec = {1, 2, 3, 4, 5};
std::random_device rd;
std::mt19937 g(rd());
std::shuffle(vec.begin(), vec.end(), g); // 随机打乱vec中的元素
AI写代码
3、排序和相关算法
3.1 sort、stable_sort 与 partial_sort
sort(begin, end):对元素进行快速排序(不稳定,平均时间复杂度 O (n log n))。
stable_sort(begin, end):稳定排序(相等元素相对位置不变)。
partial_sort(begin, mid, end):部分排序,使 [begin, mid) 为整个范围中最小的元素并排序。
std::vector vec = {5, 3, 1, 4, 2};
std::sort(vec.begin(), vec.end()); // 默认升序,vec变为{1, 2, 3, 4, 5}
std::sort(vec.begin(), vec.end(), std::greater()); // 降序,vec变为{5, 4, 3, 2, 1}
std::sort(vec.begin(), vec.end(), [](int a, int b) {
return a < b;
}); // 升序,自定义比较

std::vector<std::pair<int, int>> vec = {{1, 2}, {2, 1}, {1, 1}, {2, 2}};
std::stable_sort(vec.begin(), vec.end(), [](const auto& a, const auto& b) {
return a.first < b.first; // 按first排序,保持相等元素的相对顺序
});

std::vector vec = {5, 3, 1, 4, 2, 6};
// 将最小的3个元素放在前面并排序
std::partial_sort(vec.begin(), vec.begin() + 3, vec.end());
// 现在vec前三个元素是1, 2, 3,后面是未排序的4, 5, 6
AI写代码

3.2 nth_element
重新排列范围,使得指定位置的元素等于排序后的元素,并且左边的元素都不大于它,右边的元素都不小于它

std::vector vec = {5, 3, 1, 4, 2, 6};
// 找到第三小的元素(索引2)
std::nth_element(vec.begin(), vec.begin() + 2, vec.end());
// 现在vec[2]是3,它左边的元素<=3,右边的>=3
AI写代码
3.3 binary_search、lower_bound、upper_bound
需在已排序的容器上使用

binary_search(begin, end, value):判断 value 是否存在(返回 bool)。
lower_bound(begin, end, value):返回第一个不小于 value 的元素迭代器。
upper_bound(begin, end, value):返回第一个大于 value 的元素迭代器。
vector sorted = {1, 3, 3, 5, 7}; // 必须先排序

// 判断3是否存在
bool exists = binary_search(sorted.begin(), sorted.end(), 3); // true

// 查找第一个>=3的元素
auto lb = lower_bound(sorted.begin(), sorted.end(), 3);
cout << "lower_bound index: " << lb - sorted.begin() << endl; // 输出:1

// 查找第一个>3的元素
auto ub = upper_bound(sorted.begin(), sorted.end(), 3);
cout << "upper_bound index: " << ub - sorted.begin() << endl; // 输出:3
AI写代码

3.4 merge
合并两个已排序的范围到新容器(保持排序)

vector a = {1, 3, 5};
vector b = {2, 4, 6};
vector merged(a.size() + b.size());

// 合并a和b(均需已排序)
merge(a.begin(), a.end(), b.begin(), b.end(), merged.begin()); // merged: [1,2,3,4,5,6]
AI写代码
4、堆算法
STL提供了将范围作为堆来操作的算法,包括make_heap, push_heap, pop_heap, sort_heap等。

std::vector vec = {4, 1, 3, 2, 5};
std::make_heap(vec.begin(), vec.end()); // 构建最大堆,vec变为{5, 4, 3, 2, 1}

vec.push_back(6);
std::push_heap(vec.begin(), vec.end()); // 将新元素加入堆,vec变为{6, 4, 5, 2, 1, 3}

std::pop_heap(vec.begin(), vec.end()); // 将最大元素移到末尾,vec变为{5, 4, 3, 2, 1, 6}
int max_val = vec.back(); // 获取最大元素6
vec.pop_back(); // 移除最大元素

std::sort_heap(vec.begin(), vec.end()); // 将堆排序为升序序列,vec变为{1, 2, 3, 4, 5}
AI写代码

5、最小/最大值算法
5.1 min 和 max
返回两个值或初始化列表中的最小/最大值

int a = 5, b = 3;
int min_val = std::min(a, b); // 3
int max_val = std::max(a, b); // 5

auto min_of_list = std::min({4, 2, 8, 5, 1}); // 1
auto max_of_list = std::max({4, 2, 8, 5, 1}); // 8
AI写代码
5.2 min_element 和 max_element
返回范围内的最小/最大元素的迭代器

std::vector vec = {3, 1, 4, 2, 5};
auto min_it = std::min_element(vec.begin(), vec.end()); // 指向1
auto max_it = std::max_element(vec.begin(), vec.end()); // 指向5
AI写代码
5.3 minmax_element (C++11)
同时返回范围内的最小和最大元素的迭代器

std::vector vec = {3, 1, 4, 2, 5};
auto minmax = std::minmax_element(vec.begin(), vec.end());
// minmax.first指向1,minmax.second指向5
AI写代码
6、数值算法(在中)
6.1 accumulate
计算范围内元素的累加和(或自定义操作)

include

std::vector vec = {1, 2, 3, 4, 5};
int sum = std::accumulate(vec.begin(), vec.end(), 0); // 和,初始值为0,结果为15
int product = std::accumulate(vec.begin(), vec.end(), 1, std::multiplies()); // 乘积,初始值为1,结果为120
AI写代码
6.2 inner_product
计算两个范围的内积(或自定义操作)

std::vector a = {1, 2, 3};
std::vector b = {4, 5, 6};
int dot = std::inner_product(a.begin(), a.end(), b.begin(), 0); // 14 + 25 + 3*6 = 32
AI写代码
6.3 iota
用连续递增的值填充范围

std::vector vec(5);
std::iota(vec.begin(), vec.end(), 10); // 填充为10, 11, 12, 13, 14
AI写代码
6.4 partial_sum
计算部分和,将结果存储在目标范围内

std::vector src = {1, 2, 3, 4, 5};
std::vector dst(src.size());
std::partial_sum(src.begin(), src.end(), dst.begin()); // dst变为{1, 3, 6, 10, 15}
AI写代码
6.5 adjacent_difference
计算相邻元素的差值,将结果存储在目标范围内

std::vector src = {1, 2, 3, 4, 5};
std::vector dst(src.size());
std::adjacent_difference(src.begin(), src.end(), dst.begin()); // dst变为{1, 1, 1, 1, 1}
AI写代码
7、其他
7.1 generate
用生成函数填充范围

std::vector vec(5);
int n = 0;
std::generate(vec.begin(), vec.end(), &n {
return n++;
}); // 填充为0, 1, 2, 3, 4
AI写代码
7.2 generate_n
用生成函数填充范围的开始n个元素

std::vector vec(5);
int n = 10;
std::generate_n(vec.begin(), 3, &n {
return n++;
}); // 前三个元素为10, 11, 12,后两个保持不变
AI写代码
7.3 includes
检查一个排序范围是否包含另一个排序范围的所有元素

std::vector vec1 = {1, 2, 3, 4, 5};
std::vector vec2 = {2, 4};
bool includes = std::includes(vec1.begin(), vec1.end(), vec2.begin(), vec2.end()); // true
AI写代码
7.3 set_union, set_intersection, set_difference, set_symmetric_difference
执行集合操作:并集、交集、差集和对称差集
< href="http://hzhx168.cn">
< href="http://hnzkzgjx.cn">
< href="http://zhgjmt.cn">
< href="http://zjhualian.net">
< href="http://chinabhc.net">
< href="http://spiritkids.cn">
< href="http://tcylp.com">
< href="http://www.xmqch.com">
< href="http://www.tsgroup.cn">
< href="http://www.cdsfly.com">
< href="http://www.szsuonai.cn">
< href="http://www.youpaer.cn">
< href="http://www.zhgjmt.cn">
< href="http://www.zjhualian.net">
< href="http://www.spiritkids.cn">
< href="http://m.nbjdpx.cn">
< href="http://m.minzin.cn">
< href="http://m.szrerongjiaoji.cn">
< href="http://m.xmqch.com">
< href="http://m.gdsdcnc.com">
< href="http://m.cdsfly.com">
< href="http://m.3xzz.com">
< href="http://m.youpaer.cn">
< href="http://m.hzhx168.cn">
< href="http://m.b2b-builder.cn">
< href="http://m.hrbabj.com.cn">
< href="http://m.xzshw.cn">
< href="http://m.goldbangzi.com.cn">
< href="http://m.hzchangqing.com">
< href="http://m.zjhualian.net">
< href="http://m.chinabhc.net">
< href="http://m.koi58.com">
< href="http://m.yl97.cn">
< href="http://drfinechem.com.cn">
< href="http://xmtyl.cn">
< href="http://egiraffe.cn">
< href="http://pifakuzi.cn">
< href="http://rongchengfood.cn">
< href="http://wokema.cn">
< href="http://aomaitech.com">
< href="http://zjjzhdj.org.cn">
< href="http://qialino.cn">
< href="http://www.dgdld.cn">
< href="http://www.drfinechem.com.cn">
< href="http://www.xmtyl.cn/egiraffe.cn">
< href="http://www.qingqinghuishou.com">
< href="http://www.wokema.cn">
< href="http://www.qialino.cn">
< href="http://m.gciim.com">
< href="http://m.dhtkd.net">
< href="http://m.xmjiujiu.com.cn">
< href="http://m.cnhengrou.com">
< href="http://m.szrjh.cn">
< href="http://m.drfinechem.com.cn">
< href="http://m.jshmc.cn">
< href="http://m.xmtyl.cn">
< href="http://egiraffe.cn">
< href="http://m.pifakuzi.cn">
< href="http://m.rongchengfood.cn">
< href="http://m.qingqinghuishou.com">
< href="http://m.zddg.cn">
< href="http://m.lhsports.cn">
< href="http://m.hbzhym.com">
< href="http://m.qialino.cn">
< href="http://m.hyhs.com.cn">
< href="http://fajia.wooddiy.cn">
< href="http://yijia.wooddiy.cn">
< href="http://ouguan.wooddiy.cn">
< href="http://soccer.wooddiy.cn">
< href="http://5g.wooddiy.cn">
< href="http://tv.wooddiy.cn">
< href="http://score.wooddiy.cn">
< href="http://iqiyi.wooddiy.cn">
< href="http://zhibo8.wooddiy.cn">
< href="http://dongqiudi.wooddiy.cn">
< href="http://xxpay.wooddiy.cn">
< href="http://6686.wooddiy.cn">
< href="http://lvyin.wooddiy.cn">
< href="http://dejia.webschool.net.cn">
< href="http://fajia.webschool.net.cn">
< href="http://xijia.webschool.net.cn">
< href="http://yingchao.webschool.net.cn">
< href="http://ouguan.webschool.net.cn">
< href="http://zhongchao.webschool.net.cn">
< href="http://m.webschool.net.cn">
< href="http://tv.webschool.net.cn">
< href="http://zuqiu.wdxh.cn">
< href="http://yijia.wdxh.cn">
< href="http://ouguan.wdxh.cn">
< href="http://fajia.waycool.cn">
< href="http://xijia.waycool.cn">
< href="http://zuqiu.waycool.cn">
< href="http://yingchao.waycool.cn">
< href="http://ouguan.waycool.cn">
< href="http://zhongchao.waycool.cn">
< href="http://tv.waycool.cn">
< href="http://match.waycool.cn">
< href="http://score.waycool.cn">
< href="http://iqiyi.waycool.cn">
< href="http://dongqiudi.waycool.cn">

std::vector v1 = {1, 2, 3, 4, 5};
std::vector v2 = {3, 4, 5, 6, 7};
std::vector result;

// 并集
std::set_union(v1.begin(), v1.end(), v2.begin(), v2.end(), std::back_inserter(result));
// result为{1, 2, 3, 4, 5, 6, 7}

// 交集
result.clear();
std::set_intersection(v1.begin(), v1.end(), v2.begin(), v2.end(), std::back_inserter(result));
// result为{3, 4, 5}

// 差集 (v1 - v2)
result.clear();
std::set_difference(v1.begin(), v1.end(), v2.begin(), v2.end(), std::back_inserter(result));
// result为{1, 2}

// 对称差集 (v1 ∪ v2 - v1 ∩ v2)
result.clear();
std::set_symmetric_difference(v1.begin(), v1.end(), v2.begin(), v2.end(), std::back_inserter(result));
// result为{1, 2, 6, 7}
AI写代码

8、常见问题

sort 采用快速排序(实际是 introsort 算法),不稳定(相等元素的相对位置可能改变),平均时间复杂度 O (n log n)。
stable_sort 采用归并排序,稳定(相等元素相对位置不变),时间复杂度 O (n log n),但空间开销略大。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/965767.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20232301郑好 实验五 信息搜集技术实践

20232301郑好 实验五 信息搜集技术实践实验五 信息搜集技术与实践 一、实验要求 (1)从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取如下信息: DNS注册人及联系方式 该域名对应IP地址 …

2025年澳洲留学中介机构推荐榜单:八大名校offer保障/全流程服务/高性价比机构推荐​

2025年澳洲留学中介机构推荐榜单:八大名校offer保障/全流程服务/高性价比机构推荐​近年来,中国学生赴澳留学热度持续攀升,澳洲八大名校以其优质教育资源、宽松移民政策成为热门选择。但澳洲院校申请体系复杂,专业…

java实现Word转Pdf(Windows、Linux通用) - IT

java实现Word转Pdf(Windows、Linux通用) 最近,需要实现在linux服务器上将Word文档转成PDF文档的功能,接手其他人项目使用的是Jacob,但是需要往jdk里面添加文件,所以想换一个方法实现,根据前者和相关资料决定使用…

docker: ubuntu 24.04安装docker

一,docker官网文档 https://docs.docker.com/engine/install/ubuntu/ 参考上面官方的安装文档 二,安装docker 更新软件包索引并安装软件包以允许使用 基于 HTTPS 的存储库 # apt update # apt install ca-certificat…

探索“AI元人文”构想:致学者、技术专家与爱好者的一篇导言

探索“AI元人文”构想:致学者、技术专家与爱好者的一篇导言 尊敬的学者、技术专员与各位爱好读者: 在人工智能伦理与治理的探索正陷入“价值对齐”之困的今天,我们荣幸地向您引荐一个充满活力与潜力的前沿思想体系—…

实用指南:计算机视觉(opencv)——基于 MediaPipe 人体姿态检测

实用指南:计算机视觉(opencv)——基于 MediaPipe 人体姿态检测pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

《团队协作:如何高效进行代码审查》

1、非修改序列算法 这些算法不会改变它们所操作的容器中的元素。 1.1 find 和 find_if find(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。 find_if(begin, end, predicate):查找…

英国留学中介避坑指南:新通/厚仁领跑,G5录取率93%+的靠谱留学机构清单

英国留学中介避坑指南:新通/厚仁领跑,G5录取率93%+的靠谱留学机构清单行业权威榜单发布,优质中介综合测评​ 随着英国G5名校申请竞争的持续升温,专业英国留学中介已成为学子冲刺梦校的核心助力。优质中介不仅能精准…

C# 数据类型与运算符(学习笔记2)

1. 变量 int i = 10; 变量类型+空格+变量名称+空格+初始值。2. 常量const double PI = 3.1415926;固定不变的值用常量表示,只能赋值一次。3.基本数据类型 用C#编程有两套数据类型,一是C#语言自带的,二是.Net Fram…

《移动开发:Flutter与React Native的对比》‌

1、非修改序列算法 这些算法不会改变它们所操作的容器中的元素。 1.1 find 和 find_if find(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。 find_if(begin, end, predicate):查找…

20232420 2025-2026-1 《网络与系统攻防技术》实验五实验报告

1.实验内容 (1)选择一个DNS域名进行查询,获取如下信息:DNS注册人及联系方式、该域名对应IP地址、IP地址注册人及联系方式、IP地址所在国家、城市和具体地理位置。 (2)尝试获取QQ中某一好友的IP地址,并查询获取该…

kde neon: 配置国内源

编辑neon的源 # vi /etc/apt/sources.list.d/neon.list内容:// 注释原有内容,新增下面一行 sudo vi /etc/apt/sources.list.d/neon.list deb https://mirrors.bfsu.edu.cn/kde-neon/user noble main 完成后updatesu…

CF1606F Tree Queries

题目大意: 你有一棵 \(n\) 个点的树,你有一种操作,每次选择一个节点,将他的儿子全连向它的夫亲,然后把这个点删掉。 设 \(f_{u,m}\) 表示 \(u\) 这个点操作完 \(m\) 次之后最大的儿子数量,求 \(\max_{1 \le m \l…

2025.11.14总结

pycharm配置镜像源的方法,点击加号可以配置仓库,我这里使用的是清华的,大家也可以选择阿里等仓库

JWT笔记

JWT笔记 一、简单介绍 JWT由三部分组成: header,payload,Signature(头部,载荷,签证) 二、工具类 工具类是一个封装类,将一些对Jwt相关的操作进行整理,以便调用。 1. JwtToken创建 (不同版本,方法或有变动)调用…

2025藤校申请少走弯路!5家权威机构测评,从申请到就业一站式护航

2025藤校申请少走弯路!5家权威机构测评,从申请到就业一站式护航随着全球顶尖教育资源竞争的加剧,藤校申请已进入"精准规划+实力赋能"的新阶段。专业的藤校申请留学机构不仅能精准匹配院校录取偏好,深度挖…

词向量:开启自然语言处理的奇妙之旅 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

11.14日学习笔记

类图设计 text +------------------------+ | Computer | +------------------------+ | -memory: Memory | | -cpu: CPU | | -hardDisk: HardDisk | | -os: OS …

[Python刷题记录]-有效的括号-栈-简单

[Python刷题记录]-有效的括号-栈-简单链接:20. 有效的括号 - 力扣(LeetCode) python中list就可以直接当栈用1 class Solution(object):2 def isValid(self, s):3 """4 :type s:…