- 第一章 概述正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种【文本模式(Pattern)】。正则表达式使用单个字符串来描述、匹配具有相同规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式的核心功能就是处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。 第二章 正则表达... 第一章 概述正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种【文本模式(Pattern)】。正则表达式使用单个字符串来描述、匹配具有相同规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式的核心功能就是处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。 第二章 正则表达...
- 字符串的拆分用什么方法好?有一半程序员都掉过split坑 字符串的拆分用什么方法好?有一半程序员都掉过split坑
- > 我们将字符串操作分为下面6种: > > 1. 基本操作方法 > 2. 字符串判空、比较 > 3. 字符串截取和拆分 > 4. 字符串查找和替换 > 5. 字符串和其他类型数据的转换 > 6. 字符串拼接和格式化 > 我们将字符串操作分为下面6种: > > 1. 基本操作方法 > 2. 字符串判空、比较 > 3. 字符串截取和拆分 > 4. 字符串查找和替换 > 5. 字符串和其他类型数据的转换 > 6. 字符串拼接和格式化
- 基数排序1.基本介绍基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sor)或bin sort,顾名思义,它是通过键值的各个位的值,将安排序的元素分配至某些“桶”中,达到排序的作用基数排序法是属于稳定性的排序,基数排序法的是效率高的稳定性排序法基数排序(Radix Sort)是桶排序的扩展基数排序是1887年赫尔曼何乐礼... 基数排序1.基本介绍基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sor)或bin sort,顾名思义,它是通过键值的各个位的值,将安排序的元素分配至某些“桶”中,达到排序的作用基数排序法是属于稳定性的排序,基数排序法的是效率高的稳定性排序法基数排序(Radix Sort)是桶排序的扩展基数排序是1887年赫尔曼何乐礼...
- 《深入理解高并发编程》系列第2册—《深入理解高并发编程:JDK核心技术》来了,结合《深入理解高并发编程:核心原理与案例实战》一书,深入理解并发编程的核心原理、案例实战和系统架构,再熟悉或精通JDK中提供的各种并发编程类库和线程池,再加上自己能够手写线程池,这应该能超越大部分人吧?更重要的是这次冰河会亲自指导你如何更好的学习并发编程 《深入理解高并发编程》系列第2册—《深入理解高并发编程:JDK核心技术》来了,结合《深入理解高并发编程:核心原理与案例实战》一书,深入理解并发编程的核心原理、案例实战和系统架构,再熟悉或精通JDK中提供的各种并发编程类库和线程池,再加上自己能够手写线程池,这应该能超越大部分人吧?更重要的是这次冰河会亲自指导你如何更好的学习并发编程
- 常见的Web攻击手段SQL注入介绍SQL注入,就是在我们执行Sql的时候,拼接了一些不可控的入参,导致执行的sql偏离了我们预期的效果,从而被攻击者所利用。错误代码示例// 错误1 任意拼接sql// 说明:当name值为 1’ or 1=1时,造成注入String sql = “select * from user where name =”+name+" and password="+p... 常见的Web攻击手段SQL注入介绍SQL注入,就是在我们执行Sql的时候,拼接了一些不可控的入参,导致执行的sql偏离了我们预期的效果,从而被攻击者所利用。错误代码示例// 错误1 任意拼接sql// 说明:当name值为 1’ or 1=1时,造成注入String sql = “select * from user where name =”+name+" and password="+p...
- 业务场景查询商品详情页的逻辑比较复杂,有些数据还需要远程调用,必然需要花费更多的时间。编辑假如商品详情页的每个查询,需要如下标注的时间才能完成 那么,用户需要 5.5s 后才能看到商品详情页的内容。很显然是不能接受的。 如果有多个线程同时完成这 6 步操作,也许只需要 1.5s 即可完成响应。 需求产生 Future 是 Java 5 添加的类,用来描述一个异步计算的结果。你可以使用`... 业务场景查询商品详情页的逻辑比较复杂,有些数据还需要远程调用,必然需要花费更多的时间。编辑假如商品详情页的每个查询,需要如下标注的时间才能完成 那么,用户需要 5.5s 后才能看到商品详情页的内容。很显然是不能接受的。 如果有多个线程同时完成这 6 步操作,也许只需要 1.5s 即可完成响应。 需求产生 Future 是 Java 5 添加的类,用来描述一个异步计算的结果。你可以使用`...
- 快速排序1.基本介绍快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列2.思路分析3.需求引入要求:对[-9,78,0,23,-567,70]进行从小到大的排序,要求使用快速排序法... 快速排序1.基本介绍快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列2.思路分析3.需求引入要求:对[-9,78,0,23,-567,70]进行从小到大的排序,要求使用快速排序法...
- 数据结构包括:线性结构和非线性结构。所以博主会通过这两个角度来对线性结构和非线性结构进行梳理归纳。1.稀疏(sparse array)数组需求引入编写的五子棋程序中,有存盘退出和续上盘的功能。分析问题因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据->稀疏数组1.1介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:1)记... 数据结构包括:线性结构和非线性结构。所以博主会通过这两个角度来对线性结构和非线性结构进行梳理归纳。1.稀疏(sparse array)数组需求引入编写的五子棋程序中,有存盘退出和续上盘的功能。分析问题因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据->稀疏数组1.1介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:1)记...
- 本文是学习Java所做的笔记,包括JDK的下载,java基础语法,面向对象的有关内容,异常处理和Java的常用API原是自己记录的笔记,为了更适宜阅读,会不断进行优化修改编辑更羡慕街边咖啡座里的目光,只一闪。便觉得日月悠长、山河无恙。 ——余秋雨 ... 本文是学习Java所做的笔记,包括JDK的下载,java基础语法,面向对象的有关内容,异常处理和Java的常用API原是自己记录的笔记,为了更适宜阅读,会不断进行优化修改编辑更羡慕街边咖啡座里的目光,只一闪。便觉得日月悠长、山河无恙。 ——余秋雨 ...
- 业务场景查询商品详情页的逻辑比较复杂,有些数据还需要远程调用,必然需要花费更多的时间。编辑假如商品详情页的每个查询,需要如下标注的时间才能完成 那么,用户需要 5.5s 后才能看到商品详情页的内容。很显然是不能接受的。 如果有多个线程同时完成这 6 步操作,也许只需要 1.5s 即可完成响应。 需求产生 Future 是 Java 5 添加的类,用来描述一个异步计算的结果。你可以使用`... 业务场景查询商品详情页的逻辑比较复杂,有些数据还需要远程调用,必然需要花费更多的时间。编辑假如商品详情页的每个查询,需要如下标注的时间才能完成 那么,用户需要 5.5s 后才能看到商品详情页的内容。很显然是不能接受的。 如果有多个线程同时完成这 6 步操作,也许只需要 1.5s 即可完成响应。 需求产生 Future 是 Java 5 添加的类,用来描述一个异步计算的结果。你可以使用`...
- @[toc] 前言涉及到BigDecimal类型的比较,最好使用compareTo()方法,不要用equals()方法(除非对精度有要求)。 关键方法:修饰符方法描述BigDecimalcompareTo(BigDecimal val)将此 BigDecimal与指定的BigDecimal进行 比较,小于返回-1,等于返回0,大于返回1 代码测试:import java.math.BigDe... @[toc] 前言涉及到BigDecimal类型的比较,最好使用compareTo()方法,不要用equals()方法(除非对精度有要求)。 关键方法:修饰符方法描述BigDecimalcompareTo(BigDecimal val)将此 BigDecimal与指定的BigDecimal进行 比较,小于返回-1,等于返回0,大于返回1 代码测试:import java.math.BigDe...
- 处理InterruptedException异常时要小心,如果在调用执行线程的interrupt()方法中断执行线程时,抛出了InterruptedException异常,则在触发InterruptedException异常的同时,JVM会同时把执行线程的中断标志位清除,此时调用执行线程的isInterrupted()方法时,会返回false。此时,正确的处理方式是在执行线程的run()方法中捕获 处理InterruptedException异常时要小心,如果在调用执行线程的interrupt()方法中断执行线程时,抛出了InterruptedException异常,则在触发InterruptedException异常的同时,JVM会同时把执行线程的中断标志位清除,此时调用执行线程的isInterrupted()方法时,会返回false。此时,正确的处理方式是在执行线程的run()方法中捕获
- tcp_nodelay参数并不是在操作系统级别进行配置的,而是在TCP套接字上添加tcp_nodelay参数来关闭粘包算法,以便使数据包能够立即投递出去。tcp_nodelay参数主要是对TCP套接字来说的,那对于服务器硬件,如果要使其能够支撑上百万甚至上千万的并发,我们该如何对其进行优化呢? tcp_nodelay参数并不是在操作系统级别进行配置的,而是在TCP套接字上添加tcp_nodelay参数来关闭粘包算法,以便使数据包能够立即投递出去。tcp_nodelay参数主要是对TCP套接字来说的,那对于服务器硬件,如果要使其能够支撑上百万甚至上千万的并发,我们该如何对其进行优化呢?
- new Thread弊端: (1)每次new Thread新建对象,性能差。 (2)线程缺乏统一管理,可能无限制的新建线程,相互竞争,有可能占用过多系统资源导致死机或OOM。 (3)缺少更多的功能,如更多执行、定期执行、线程中断。 new Thread弊端: (1)每次new Thread新建对象,性能差。 (2)线程缺乏统一管理,可能无限制的新建线程,相互竞争,有可能占用过多系统资源导致死机或OOM。 (3)缺少更多的功能,如更多执行、定期执行、线程中断。
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签