能让你提升效率的「轮子」

DGX Spark上PyTorch GPU环境配置实战:CUDA 13.0与ARM架构全流程 在深度学习中,CUDA作为GPU加速计算的底层基础,其版本与深度学习框架(如PyTorch)的匹配直接影响模型训练的效率与稳定性。GPU环境配置不仅涉及驱动、CUDA工具链与框架运行时的协同,还依赖于硬件架构与预构建包的兼容性。在AI开发机Ubuntu系统上,正确对齐CUDA版本、计算能力架构及安装源,是避免环境故障、发挥硬件算力的关键。无论是面向个人AI超算还是通用GPU服务器,掌握版本对齐、路径隔离与验证方法,都能大幅提升开发效率。本文以DGX Spark为例,详解从环境摸底到PyTorch GPU版本 阅读详情

点击上方“芋道源码”,选择“设为星标”

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 10:33 更新文章,每天掉亿点点头发...

源码精品专栏

 

01、能让你提升效率的「轮子」

在 Java 的庞大体系里面,有太多的工具封装了我们常用的功能,这就是我们平常说的「轮子」。

如果工作中我们开始就知道这些「轮子」,那会极大的提升我们的效率,甚至别人还在 coding、搜索代码、找轮子。你因为熟知这些轮子,早早的写完了代码,提早下班、约妹子吃小龙虾。

这里给大家分享一些我工作中最常用的「轮子」,这都是经过我工作验证的,绝对是能让你提早下班的利器!

02、JDK 自带的常用工具类

JDK 本身就已提供了很多常用的工具类,这些工具类能覆盖到我们很多的业务开发场景。

以下是个人常用的一些工具类:Objects 、Collections 、Arrays 等。

以上三个是工作中使用非常高频的工具类,如果能熟练使用它们,就不需要在自己造轮子或者网上搜索实现了,Java 官方自带安全、可靠。

03、Objects

Objects 封装了对象的常用操作,包括不限于:比较、判空、计算哈希值等功能。

下面是日常使用 Objects 最多的一些 API 示例。

// 比较两个对象是否相同
Objects.equals(new Integer(128), new Integer(128));

// 返回对象的 hashCode
        Objects.hashCode(new Integer(128));

// 对象不为空则返回,否则抛出 NullPointerException
        Objects.requireNonNull(new Integer(128));

// 判断对象是否为空
        Objects.isNull(new Integer(128));

// 判断对象是否不为空
        Objects.nonNull(new Integer(128));

04、Arrays

Arrays 封装了数组的操作,包括不限于以下功能:全排序、指定排序、二分查找、比较、填充、复制等功能。

下面就是日常使用 Arrays 最多的一些 API 示例。

// 数组按照升序排序 [1, 3, 2, 5, 4] => [1, 2, 3, 4, 5]
Arrays.sort(array);

// 数组按照比较器(当前使用的是降序)排序 [1, 3, 2, 5, 4] => [5, 4, 3, 2, 1]
        Arrays.sort(array,(o1, o2) -> o2 - o1);

// 数组按照升序并行排序 [1, 3, 2, 5, 4] => [1, 2, 3, 4, 5]
        Arrays.parallelSort(array);

// 使用二分查找在数组内查找元素,然后返回对应的下标,如果没有找到,返回 -1
// [1, 2, 3, 4, 5] 3 => 2
        Arrays.binarySearch(array, 3);

// 比较两个数组是否相等 [1, 2, 3, 4, 5] [1, 2, 3, 4, 5] => true
        Arrays.equals(new Integer[]{1, 2, 2, 5, 4}, new Integer[]{1, 3, 2, 5, 4});

// 将指定元素填充到数组内,如果数组内元素已存在,则覆盖
// [0, 0, 0, 0] => [1, 1, 1, 1]
        Arrays.fill(new int[4],1);

// 从下标 0 开始复制指定长度的数组,并返回新的数组
// [1, 2, 3, 4, 5] => [1, 2, 3]
        Arrays.copyOf(new int[]{1, 2, 3, 4, 5}, 3);

// 复制指定范围内的数组元素,并返回新的数组
// [1, 2, 3, 4, 5] => [1, 2, 3]
        Arrays.copyOfRange(new int[]{1, 2, 3, 4, 5}, 0, 3);

// 将数组转换为固定大小的 List 对象,不能对返回的 List 对象进行增删操作
        Arrays.asList(1,2,3);

// 将数组转换为 Stream 流对象
        Arrays.stream(new int[]{1,2,3});

05、Collections

Collections 封装了集合的操作,包括不限于以下功能:排序、集合内的最大值/最小值、查找元素、替换元素等功能。

下面就是我日常使用 Collections 最多的一些 API 示例。

// 升序 [10, 4, 6, 1, 2] => [1, 2, 4, 6, 10]
Collections.sort(list);
// 自定义比较器排序(降序) [10, 4, 6, 1, 2] => [10, 6, 4, 2, 1]
        Collections.sort(list, (o1, o2) -> o2 - o1);

// 反转集合 [10, 4, 6, 1, 2] => [2, 1, 6, 4, 10]
        Collections.reverse(list);

// 获取集合内的最大值(必须是Comparable的子类,否则需要自己指定比较器) [10, 4, 6, 1, 2] => 10
        Collections.max(list);

// 获取集合内的最小值(必须是Comparable的子类,否则需要自己指定比较器) [10, 4, 6, 1, 2] => 1
        Collections.min(list);

// 返回空集合、空 Map、空 Set
        Collections.emptyList();
        Collections.emptyMap();
        Collections.emptySet();

// 二分查找集合内元素(集合必须是有序的)返回对应的下标
// [10, 4, 6, 1, 2] => [1, 2, 4, 6, 10] => 2
        Collections.binarySearch(list, 4);

// 转换为不可变集合,不可变集合不可以添加元素,但可以修改元素(针对引用类型),所有的操作都会返回新的集合。
// 所有 Collection 的子类都可以转换为不可变集合,包括:List、Set、Map、Queue、Deque、NavigableSet、NavigableMap、SortedSet、SortedMap
        Collections.unmodifiableList(list);

// 将一个先进先出的队列变为后进先出的队列
        Collections.asLifoQueue(new LinkedList<>(list));

// 打乱集合顺序
        Collections.shuffle(list);

// 交换集合内两个元素的位置 [1, 2, 4, 6, 10] => [4, 2, 1, 6, 10]
        Collections.swap(list,0,2);

// 将集合内的所有元素替换为指定的元素 [10, 4, 6, 1, 2] => [20, 20, 20, 20, 20]
        Collections.fill(list,20);

// 添加指定元素到集合内 [10, 4, 6, 1, 2] => [10, 4, 6, 1, 2, 1, 2, 3]
        Collections.addAll(list,1,2,3);

// 返回集合中指定元素的个数 [10, 4, 6, 1, 2] => 1
        Collections.frequency(list, 4);

// 替换集合内的指定元素(通过 equals 比较) [10, 4, 6, 1, 2] => [10, 4, 6, 20, 2]
        Collections.replaceAll(list,1,20);

06、Apache 工具类

Apache 基金会提供了另外的工具类,包含不限于:commons-collections4、common-lang3、commons-io 等工具依赖,能极大的补充 JDK 工具类没有覆盖到的常用功能。

以下是个人常用的一些工具类:CollectionUtils 、StringUtils 、IOUtils 等。

其实还有其它的工具类,比如:ListUtils、SetUtils、MapUtils、ComparatorUtils、ClassUtils等,有兴趣的可以自己进行查看,这里就不介绍了。

07、CollectionUtils

CollectionUtils 封装了集合的操作,包括不限于以下功能:判空、交集、并集、补集、差集等功能。

下面就是我日常使用 CollectionUtils 最多的一些 API 示例。

// 判断集合是否为空
CollectionUtils.isEmpty(list);

// 判断集合是否不为空
        CollectionUtils.isNotEmpty(list);

// 获取两个可迭代对象的并集 [1, 2, 3]  [2, 3, 4] => [1, 2, 3, 4]
        CollectionUtils.union(list, list1);

// 获取两个可迭代对象的交集 [1, 2, 3]  [2, 3, 4] => [2, 3]
        CollectionUtils.intersection(list, list1);

// 获取两个可迭代对象的差集 [1, 2, 3]  [2, 3, 4] => [1]
        CollectionUtils.subtract(list, list1);

// 获取两个可迭代对象交集的补集 [1, 2, 3]  [2, 3, 4] => [1, 4]
        CollectionUtils.disjunction(list, list1);

// 判断是否是子集 [2, 3]  [1, 2, 3] => true
        CollectionUtils.isSubCollection(list, list1);

// 判断是否是父集 [1, 2, 3]  [2, 3] => true
        CollectionUtils.containsAll(list, list1);

// 判断两个集合的交集是否为空 [1, 2, 3]  [5, 6] => false
        CollectionUtils.containsAny(list, list1);

// 统计元素在可迭代对象中出现次数的 Map,key 为元素本身,value 是元素出现的次数
// [1, 2, 3, 2] => {1=1, 2=2, 3=1}
        CollectionUtils.getCardinalityMap(list);

// 通过 Predicate 接口过滤可迭代对象中的元素,Predicate 返回为 false 则删除元素
// [1, 2, 3, 2] => [3]
        CollectionUtils.filter(list,i -> i > 2);

// 对集合内的所有元素通过 Transformer 转换
// [1, 2, 3, 2] => [2, 3, 4, 3]
        CollectionUtils.transform(list, input -> input+1);

// 通过 Predicate 接口过滤可迭代对象中的元素,返回符合条件的集合
        CollectionUtils.select(list, i -> i > 1);

// 返回输入集合的所有排列的集合 [1, 2, 3] => [[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]]
        CollectionUtils.permutations(list);

// 返回两个集合中相同的元素集合 [1, 2, 3]  [2, 3, 4] => [2, 3]
        CollectionUtils.retainAll(list, list1);

// 从集合中删除移除共同的元素并且返回 [1, 2, 3]  [2, 3, 4] => [1]
        CollectionUtils.removeAll(list, list1);

08、StringUtils

StringUtils 封装了字符串的操作,包括不限于以下功能:判空、包含、比较、查找等功能。

下面就是我日常使用 StringUtils 最多的一些 API 示例。

// 字符串为空、空格、空字符串,则返回 true
StringUtils.isBlank("asd");

// 字符串不为空、不为空格、不为空字符串,则返回 true
        StringUtils.isNotBlank("asd");

// 字符串为空、空字符串,则返回 true
        StringUtils.isEmpty("asd");

// 字符串不为空、不为空字符串,则返回 true
        StringUtils.isNotEmpty("asd");

// 字符串是数字组成,则返回 true
        StringUtils.isNumeric("123");

// 字符串没有以指定后缀结尾,则追加一个后缀 100 => 100$
        StringUtils.appendIfMissing("100", "$", "¥","^");

// 移除字符串后面的换行符,"\n"、 "\r"、 "\r\n" 都会被移除
// "abc\n" => "abc"
        StringUtils.chomp("abc\n");

// 字符串是否包含另一个字符 "abc" "a"  => true
        StringUtils.contains("abc", "a");

// 字符串包含给定字符中的任意一个则返回 true
// "assddw" ['a', 'w'] => true
        StringUtils.containsAny("assddw","a","w");

// 字符串不包含给定字符中的任意一个则返回 true
// "abab" "xyz" => true
        StringUtils.containsNone("abz","xyz");

// 字符串只包含给定字符则返回 true
// "abab" 'abc' => true
        StringUtils.containsOnly("abab", 'a', 'b','c');

// 字符串否包含空格则返回 true
// "abc " => true
        StringUtils.containsWhitespace("abc ");

// 删除字符串中的空格
// "a bc " => "abc"
        StringUtils.deleteWhitespace("a bc ");

// 删除字符串中的前后空格 " a bc " => "a bc"
        StringUtils.strip(" a bc ");

// 统计字符串中包含指定字符的个数
// "aabb" 'a' => 2
        StringUtils.countMatches("aabb",'a');

// 比较两个字符串,返回后者字符串没有在前者字符串中出现的字符
// "abc" "abcd" => "d"
        StringUtils.difference("abc","abcd");

// 字符串是否以指定字符串结尾
// "abc" "c" => true
        StringUtils.endsWith("abc","c");

// 字符串是否以指定字符串中的任意一个结尾
// "abc" "c" => true
        StringUtils.endsWithAny("abc","c","d");

// 两个字符串相等则返回 true
// "abc" "abcd" => false
        StringUtils.equals("abc","abcd");

// 字符串跟跟任意一个相等则返回 true
// "abc" ["abc", "abcd"] => true
        StringUtils.equalsAny("abc", "abc", "abcd");

// 反转字符串,返回新的字符串 "abc" => "cba"
        StringUtils.reverse("abc");

// 字符串分割,返回字符串数组 "a,b,c" => ["a", "b", "c"]
        StringUtils.split("a,b,c",",");

// 将字符串的大小写转换 "Abc" => "aBC"
        StringUtils.swapCase("Abc");

09、IOUtils

IOUtils 封装了 IO 的操作,包括不限于以下功能:读取文件内容、写入文件内容、复制等功能。

需要注意一下,IOUtils 并不会关闭 IO 流,因为不知道调用方是否还会使用,防止关闭流出现问题,因此需要调用方手动关闭 IO 流。

下面就是我日常使用 IOUtils 最多的一些 API 示例。

// 将文件内容读取出来
IOUtils.toString(new FileInputStream("/temp/ws/a.txt"), StandardCharsets.UTF_8);

// 将内容写入文件
        IOUtils.write("IOUtils#write test",new FileOutputStream("/temp/ws/a.txt"),StandardCharsets.UTF_8);

// 文件复制
        IOUtils.copy(new FileInputStream("/temp/ws/a.txt"),new FileOutputStream("/temp/ws/b.txt"));

10、Google 工具类

Google 提供的工具类,包含不限于:guava 依赖,能极大的补充 JDK 工具类没有覆盖到的常用功能。

以下是个人常用的一些工具类:Lists 、Maps 、Sets 等。

其实还有其它的工具类,比如:Queues、SetUtils、MapUtils、ComparatorUtils、ClassUtils等,有兴趣的可以自己进行查看,这里就不介绍了。

11、Lists、Sets、Maps

因为工作中都是用这三个的工程方法来创建对应的实现,偶尔会用到其它的一些方法,因此发一起介绍了

下面就是我日常使用 Lists 最多的一些 API 示例。

// 创建一个空的 ArrayList
Lists.newArrayList();

// 创建一个空的 LinkedList
        Lists.newLinkedList();

// 将集合按照指定大小分区
        Lists.partition(list,3);

// 创建一个 HashMap
        Maps.newHashMap();

// 根据过滤条件过滤 map#key 的映射,返回一个新的 map
// {1=1, 2=2, 3=3, 4=4, 5=5, 6=6} => {1=1, 2=2, 3=3}
        Maps.filterKeys(new HashMap<Integer,Integer>(), key -> key <= 3);

// 根据过滤条件过滤 map#value 的映射,返回一个新的 map
// {1=1, 2=2, 3=3, 4=4, 5=5, 6=6} => {1=1, 2=2, 3=3}
        Maps.filterValues(new HashMap<Integer,Integer>(), value -> value <= 3);

// 创建一个 HashSet
        Sets.newHashSet();

// 获取两个 set 的差集
// [1, 2, 3] [3, 4, 5] => [1, 2]
        Sets.difference(Sets.newHashSet(1, 2, 3), Sets.newHashSet(3, 4, 5));

// 获取两个 set 的笛卡尔积,返回一个新的 set
// [1, 2] [3, 4] => [1, 3], [1, 4], [2, 3], [2, 4]
        Sets.cartesianProduct(Sets.newHashSet(1,2), Sets.newHashSet(3,4));

12、总结

以上就是个人在工作中最常用的工具类了,包括不限于 JDK、Apache、Google 提供的,如果能熟悉已经有的轮子,可以大大的提高效率,比同事早下班 2 个小时不是梦。



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢:

dc64116e6868026cb89205fc6a653d51.png

已在知识星球更新源码解析如下:

5468e51406d8a3e290b2e0db38410486.png

e087f80e367cbf5d231c211c7a6fe4e1.png

ce516689c678ec93d12b5ccddd5ed5b6.png

0a27d25573e6aa891788025faf908389.png

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
半导体关键系统之RMS浅谈 这种系统还要求设备在设备上的配方发生变化时通知工厂主机,并需要与EAP(Equipment Automation Process)联结,旨在实时管控自动化系统所用配方与用户当初的设定是否匹配,从而使得自动化系统所用的配方更加趋于安全。例如,制药行业中的药品生产管理系统(GMP),它对药品的生产过程进行严格控制,包括原材料的采购、生产工艺流程、质量控制等方面。这些系统通常与企业的生产系统集成,能够对产品的配方进行精细化管理,包括配方的设计、试验、验证、生产等环节。 阅读详情

相关推荐

比亚迪开放平台接口实战:车身状态监测与智能车联应用开发

本文详细介绍了如何利用比亚迪开放平台的车身状态接口进行智能车联应用开发。通过核心类BYDAutoBodyworkDevice,开发者可以安全获取车辆VIN、车门车窗状态、蓄电池电压、方向盘转角等实时数据,并利用监听器实现状态实时响应。文章提供了从SDK集成、接口调用到典型应用场景(如远程车况检查、车队管理)的完整实战指南,助力开发者快速构建基于比亚迪车辆数据的创新应用。

weixin_29176179的博客 725

推荐17个提升开发效率的“轮子”

在java的庞大体系中,其实有很多不错的小工具,也就是我们平常说的:轮子。 如果在我们的日常工作当中,能够将这些轮子用户,再配合一下idea的快捷键,可以极大得提升我们的开发效率。

shiyidianshuibu的博客 266

openEuler 22.03 安装及配置Gitlab容器

在 openEuler 22.03 上安装及配置Gitlab容器

轻步玉阶 3314

CollectionUtils select方法 详解 用途~~~

我在作一个项目时规定不让用复杂的SQL如多表联接子查询等,在作一个报表时没有办法只有生成多个List结果集再用一大堆的if,for组合成一个List。其中有很都是从一个List中查找符合一定条件的对象,当时就用for+if 查找出后再放到一个新的List中,后来发现有更好的方法实现,方便多了。  Java代码   package mypackage;      im

洪文聊架构 9804

FFmpeg硬件加速实战:VAAPI驱动配置全攻略(含NVIDIA/Intel避坑指南)

本文详细解析了在Linux环境下配置FFmpeg使用VAAPI接口实现硬件加速的完整流程。针对NVIDIA、Intel等主流显卡,提供了从驱动安装、环境变量设置到多显卡切换的实战指南,并重点解决了闭源驱动冲突、国产系统适配等常见问题,帮助用户有效提升视频处理性能。

weixin_29306011的博客 456

STM32异常与中断过程详解

1. 异常与中断概念引入 异常主要是指来自CPU内部的意外事件,比如执行了未定义指令、算术溢出、除零运算等发生在CPU内部的意外事件,这些异常的发生,会引起CPU运行相应的异常处理程序;中断一般来自硬件(如片上外设、外部I/O输入等)发生的事件,当这些硬件产生中断信号时,CPU会暂停当前运行的程序,转而去处理相关硬件的中断服务程序。但无论是异常还是中断,都会引起程序执行偏离正常的流程,转而去执行异常/中断的处理函数。 下面对异常和中断的介绍,如果中断信号的产生原因来自CPU内部,则称之为异常;如果中断信号来

luobeihai的博客 1万+

Java工具类StringUtils的equals、equalsIgnoreCase、equalsAny、equalsAnyIgnoreCase方法详解

4.equalsAnyIgnoreCase方法比较字符串与给定的数组中任何一个字符串相等就返回true。3.equalsAny方法比较字符串与给定的数组中的任何一个字符串相等就返回true。2.equalsIgnoreCase方法比较两个字符串是否相等并且忽略大小写。若需要判断传入的值是否与在下面数组中。方法比较两个字符串是否相等。定义一个默认选项数值的数组。

鹏神丶明月天 6960

北理计算机考研复试经验贴

很早就想写一篇复试经验贴,因为关于复试,消息相对初试少很多,尤其北理,关于具体怎么考,网上信息更是匮乏,之前自己也是死缠烂打,一路追着各位学姐学长问经验,求助老师才一路走过来,至今还没有看过系统完整的北理计算机的复试经验贴,后又经过老师提醒,借此机会开始好好总结一下,希望帮到你们。 首先希望学弟学妹不管初试成绩是高是低对复试都要足够的重视,因为复试1分相当于初试的5分,而且去年今年都有初试前几名...

wusiji8121的博客 2万+

MyBatis中 collection 的两种使用方法,及效率比较

方案一 &lt;resultMap type="Student" id="StudentMap"&gt; &lt;id column="id" property="id" /&gt; &lt;result column="name" property="name" /&gt;

hlz5857475的博客 2万+

RouterOS网桥VLAN实战:从零构建安全隔离的二层虚拟网络

本文详细讲解了如何在RouterOS上利用网桥和VLAN功能,从零开始构建安全隔离的二层虚拟网络。通过分步实战演示,涵盖核心概念、网桥创建、PVID设置、VLAN规则配置及安全过滤,帮助网络管理员实现办公、访客与服务器网络的逻辑隔离与灵活管理,提升网络安全性。

u9v0w的博客 504

Calibre PEX提取HSPICE网表时如何避免‘net 0‘错误?实测解决方案分享

本文详细解析了Calibre PEX提取HSPICE网表时出现的'net 0'错误,提供了从规则文件修改到网表后处理的四步解决方案。通过实战案例和进阶调试技巧,帮助工程师有效避免节点映射错误,确保后仿真精度。特别针对SPICE netlist生成机制提出了优化建议。

weixin_29279153的博客 387

【Leetcode】46. 全排列(Permutations)

Leetcode - 46 Permutations (Medium) 题目描述: 给定无重复的整数序列,返回所有全排列的可能。 Input: [1,2,3] Output: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] public List<List<Integer>> per...

厉兵秣码 264

不用SE63逐个翻译!ABAP函数LXE_OBJ_TEXT_PAIR_WRITE批量处理TCODE描述的3种姿势

本文介绍了三种利用ABAP函数LXE_OBJ_TEXT_PAIR_WRITE批量翻译SAP事务码(TCODE)描述的高效方案,旨在替代SE63逐个翻译的低效操作。内容涵盖从基础循环、Excel导入到全自动程序集成的实现方法,帮助开发者显著提升批量翻译效率,并深入解析了SAP翻译体系的核心原理与实战技巧。

weixin_42593130的博客 660

提升开发效率的“轮子”

在java的庞大体系中,其实有很多不错的小工具,也就是我们平常说的轮子。如果在我们的日常工作当中,能够将这些轮子用户,再配合一下idea的快捷键,可以极大得提升我们的开发效率。今天我决定把一些压箱底的小工具,分享给大家,希望对你有所帮助。...............

加油,努力,认真 698

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

吐血推荐17个提升开发效率的“轮子”

在java的庞大体系中,其实有很多不错的小工具,也就是我们平常说的:轮子。如果在我们的日常工作当中,能够将这些轮子用户,再配合一下idea的快捷键,可以极大得提升我们的开发效率。今天我决定把一些压箱底的小工具,分享给大家,希望对你有所帮助。本文会分享17个我们日常工作中一定会用得到的小工具,主要内容如下:首先出场的是java.util包下的Collections类,该类主要用于操作集合或者返回集合,我个人非常喜欢用它。在工作中经常有对集合排序的需求。看看使用Collections工具是如何实现升序和降序的:

a6636656的博客 165

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

推荐17个提升Java开发效率的“轮子”

在java的庞大体系中,其实有很多不错的小工具,也就是我们平常说的:轮子。如果在我们的日常工作当中,能够将这些轮子用户,再配合一下idea的快捷键,可以极大得提升我们的开发效率。

田埂、の技术博客 1841

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

分享17个提升开发效率的工具“轮子”

本文是向大家介绍平时在开发中经常用到的小工具,它能够极大得提升我们的开发效率,能够解决平时开发中遇到的问题。

weixin_43805705的博客 569

吐血整理Springboot开发过程中17个提升开发效率的“轮子”

前言 在java的庞大体系中,其实有很多不错的小工具,也就是我们平常说的:轮子。 如果在我们的日常工作当中,能够将这些轮子用户,再配合一下idea的快捷键,可以极大得提升我们的开发效率。 今天我决定把一些压箱底的小工具,分享给大家,希望对你有所帮助。 本文会分享17个我们日常工作中一定会用得到的小工具,主要内容如下: 1. Collections 首先出场的是java.util包下的Collections类,该类主要用于操作集合或者返回集合,我个人非常喜欢用它。 1.1 排序 在工作中经常有对集合排序的需求

LoveSummer 5449

11.17个提升开发效率的“轮子”

前言 在java的庞大体系中,其实有很多不错的小工具,也就是我们平常说的:轮子。 如果在我们的日常工作当中,能够将这些轮子用户,再配合一下idea的快捷键,可以极大得提升我们的开发效率。 今天我决定把一些压箱底的小工具,分享给大家,希望对你有所帮助。 本文会分享17个我们日常工作中一定会用得到的小工具,主要内容如下: 1. Collections 首先出场的是java.util包下的Colle...

cs123HL的博客 102

Java常用17个工具类方法,提升开发效率的“轮子”,避免重复造轮子

首先出场的是java.util包下的Collections类,该类主要用于操作集合或者返回集合,我个人非常喜欢用它。在工作中经常有对集合排序的需求。看看使用Collections工具是如何实现升序和降序的: 执行结果: 1.2 获取最大或最小值 有时候需要找出集合中的最大值或者最小值,这时可以使用Collections的max和min方法。例如: 执行结果: 1.3 转换线程安全集合 我们都知道,java中的很多集合,比如:ArrayList、LinkedList、HashMap、HashSet等,都是线程

代码时光 5278

推荐17个提升开发效率的“轮子”(荣耀典藏版)

在java的庞大体系中,其实有很多不错的小工具,也就是我们平常说的:轮子。 如果在我们的日常工作当中,能够将这些轮子用户,再配合一下idea的快捷键,可以极大得提升我们的开发效率。 今天我决定把一些压箱底的小工具,分享给大家,希望对你有所帮助。...

人生若只初相见@的博客 1万+
上一篇: 如何优雅的写 Controller 层代码?
下一篇: 微服务架构及设计模式
公众号-芋道源码
博客等级 码龄10年 1631粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值