-
你只能用 split?试试 StringTokenizer,性能可以快 4 倍!!
所属栏目:[语言] 日期:2021-12-06 热度:193
分割字符串要使用 String 的 split() 方法,split 方法虽然深入人心,使用也简单,但效率太低! 其实在 JDK 中,还有一个性能很强的纯字符串分割工具类:StringTokenizer。 这个类在 JDK 1.0 中就推出来了,但在实际工作却发现很少有人使用,网上有人说不建[详细]
-
GET 和 POST请求的本质差别是什么?看完觉得自己太无知了
所属栏目:[语言] 日期:2021-12-06 热度:87
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。 你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常[详细]
-
介绍一个C++中很有用的设计模式
所属栏目:[语言] 日期:2021-12-06 热度:148
大家好,今天介绍一个C++中非常常用的模式:pimpl 至于它有什么作用,直接看代码: // MyClass.h class MyClass { public: void func1(); void func2(); private: void func3(); void func4(); int a; int b; }; 假设我们在开发一个SDK,或者设计某个模块,[详细]
-
面试官 Final、Finally、Finalize 有什么差异?
所属栏目:[语言] 日期:2021-12-06 热度:148
final 介绍 final 是 Java 语言中的一个关键字,使用 final 修饰的对象不允许修改或替换其原始值或定义。 final 可以用来修饰:类、方法、变量和参数,其中可以用来修饰参数这一项,容易被人遗忘,这是 final 的 4 种用法。 1.1 final 用法说明 当 final 修[详细]
-
怎样写出令人惊叹的 Python 类
所属栏目:[语言] 日期:2021-12-06 热度:181
如何写出令人惊叹的 Python 类 本文分享了如何通过魔法方法编写一个非常优雅的类,魔术方法可在 Python 内置的函数或操作中自动调用,可以让我们编写出可读性、易用性更好的类,就像本文中的 DateTimeRange。 作者:somenzz 来源:Python七号|2021-11-29 07[详细]
-
C++ 控制台格式化打印技能
所属栏目:[语言] 日期:2021-12-06 热度:165
我写文章主要是为了给自己写文档。我在编程时非常健忘,所以我经常会写下有用的代码片段、特殊的特性,以及我使用的编程语言中的常见错误。这篇文章完全切合我最初的想法,因为它涵盖了从 C++ 控制台格式化打印时的常见用例。 像往常一样,这篇文章带有大量[详细]
-
PHP 8.1 发布,带来很多创新
所属栏目:[语言] 日期:2021-12-06 热度:82
PHP 是一种服务器端脚本语言,用于开发 Web 应用程序。根据 W3Techs 的数据,78.2% 的网站使用 PHP 并使用已知的服务器端编程语言。换句话说,您在 Internet 上访问的每 10 个网站中几乎有 8 个以某种方式使用 PHP。 在宣布成立PHP 基金会几天后,该语言通[详细]
-
面试官 线程池多余的线程是怎样回收的?问到我了!
所属栏目:[语言] 日期:2021-12-06 热度:188
JDK线程池ThreadPoolExecutor的源码,对线程池执行任务的流程有了大体了解,实际上这个流程也十分通俗易懂,就不再赘述了,别人写的比我好多了。 不过,我倒是对线程池是如何回收工作线程比较感兴趣,所以简单分析了一下,加深对线程池的理解吧。 下面以JDK[详细]
-
在 Go 中运用 Dockertest 进行集成测试
所属栏目:[语言] 日期:2021-12-06 热度:124
进行集成测试(或系统测试)通常意味着让数据库填充数据,像 redis、elasticsearch 等,通常,我们的软件与之交互的任何基础设施都可以工作。 最常见的方法是复制我们的生产基础设施,其实用容器来实现还是比较容易的,比如 docker 容器。 我们可以为需要复制[详细]
-
透过一个编译报错,总结两个Go程序编译的关键知识
所属栏目:[语言] 日期:2021-12-06 热度:119
调研了一下某个做 APM 的厂商的 Go 探针程序,说是引入一个包,全程不用再修改其他代码就能在项目里引入探针。没想到在刚引入包试着构建了一下就翻车了。 main.go:10:2: build constraints exclude all Go files in /xxx/github.com/xxx/agnet/xxxx 编译器[详细]
-
敏感词过滤算法达成
所属栏目:[语言] 日期:2021-12-06 热度:80
敏感词、文字过滤是一个网站必不可少的功能,如何设计一个好的、高效的过滤算法是非常有必要的。 在实现文字过滤的算法中,DFA是唯一比较好的实现算法。DFA即Deterministic Finite Automaton,也就是确定有穷自动机,它是是通过event和当前的state得到下一[详细]
-
Go泛型系列 Maps 包有哪些?
所属栏目:[语言] 日期:2021-12-06 热度:125
真实的场景 不少新手,对 map 的输出是随机的有迷惑,曾经,map 的输出顺序是固定的,但官方怕大家依赖这个顺序,之后故意让输出顺序不固定。 但实际场景中,会有按某种顺序输出 map 的需求,怎么办呢?这需要对 map 的 key 进行排序,伪代码如下: for k :=[详细]
-
Java9异步编程-反应式流运用
所属栏目:[语言] 日期:2021-12-06 热度:116
Reactive API总览 要构建一个流,主要使用三个抽象,并将它们组合成异步处理逻辑。 每个流都需要处理由Publisher实例发布给它的事件;发布者有一个subscribe()的方法。 如果某个订阅者希望接收发布者发布的事件,则需要使用subscribe()订阅发布者。 消息的接[详细]
-
EasyC++,名称空间其他特征
所属栏目:[语言] 日期:2021-12-06 热度:68
名称空间其他特性 嵌套 我们可以将名称空间声明进行嵌套: namespace elements { namespace fire { int flame; ... } float water; } 我们观察一下可以发现这里的flame位于elements::fire当中,所以当我们使用解析运算符使用它的时候写成:elements::fire::[详细]
-
长篇长论Python生成器
所属栏目:[语言] 日期:2021-12-06 热度:77
ython生成器是什么 一句话解释:包含了yield关键字的函数就是生成器,它的返回值是一个生成器对象。我简单画了个示意图: yield相当于return。 函数遇到yield就暂停,保存当前信息,返回yield的值。 在下次执行next()时,从当前位置继续执行。 比较有意思的[详细]
-
11月份Github上Java开源项目排行名单
所属栏目:[语言] 日期:2021-12-06 热度:58
QuestDB是一个高性能、开源的SQL数据库,适用于金融服务、物联网、机器学习 、DevOps和可观测性应用。它拥有支持PostgreSQL线协议的端点,使用InfluxDB线协议的模式无关的高吞吐数据获取方式,以及用于查询、批量导入和导出的REST API。QuestDB实现了ANSI[详细]
-
Go 1.18 中的 Any 是啥?
所属栏目:[语言] 日期:2021-12-06 热度:155
Go 1.18 因为泛型引入 any,这实际上是 interface{} 的别名: type any = interface{} 以下代码虽然不是泛型,但用 Go 1.18 可以正常运行,证明 any 和 interface{} 是一样的:(这里可以在线运行:https://gotipplay.golang.org/p/dPeNhe-7nkA) package mai[详细]
-
谈谈 Jmeter 如何并发执行 Python 脚本
所属栏目:[语言] 日期:2021-11-23 热度:119
1. 前言 大家好,我是安果! 最近有小伙伴后台给我留言,说自己用 Django 写了一个大文件上传的 Api 接口,现在想本地检验一下接口并发的稳定性,问我有没有好的方案 本篇文章以文件上传为例,聊聊 Jmeter 并发执行 Python 脚本的完整流程 2. Python 实现文[详细]
-
用Python解析大连景点,告诉你哪些景点性价比高
所属栏目:[语言] 日期:2021-11-23 热度:119
大家好,我是志斌~ 再过几天,志斌就要去大连开始为期三年的读研生活啦,当然在读书学习的同时,也要去体验一下魅力之都的魅力,所以志斌用Python爬取了去哪儿网上大连景点的相关数据,包括景点名称、城区、热度、价格、月销量等数据,对数据进行可视化并作[详细]
-
强!8个Python优化提速的小方法
所属栏目:[语言] 日期:2021-11-23 热度:134
Python 是一种脚本语言,相比 C/C++ 这样的编译语言,在效率和性能方面存在一些不足。但是,有很多时候,Python 的效率并没有想象中的那么夸张。本文对一些 Python 代码加速运行的技巧进行整理。 0. 代码优化原则 本文会介绍不少的 Python 代码加速运行的技[详细]
-
Dotnet 6.0,你值得获取
所属栏目:[语言] 日期:2021-11-23 热度:132
最近在研究 Dotnet 6.0 C# 10,一个字 - 爽! 下面,分享一下新的一些特性给大家。 一、编程语言方面 编程语言升到 C# 10,新东西不少。 1. 属性的 required 看一个简单的例子: public class User { public string name { get; set; } public DateTime date[详细]
-
深入分析 Dubbo 3.0 服务端暴露全流程
所属栏目:[语言] 日期:2021-11-23 热度:150
背景 随着云原生时代的到来,Dubbo 3.0 的一个很重要的目标就是全面拥抱云原生。正因如此,Dubbo 3.0 为了能够更好的适配云原生,将原来的接口级服务发现机制演进为应用级服务发现机制。 基于应用级服务发现机制,Dubbo 3.0 能大幅降低框架带来的额外资源消[详细]
-
我终究识破了这个 Go 编译器把戏
所属栏目:[语言] 日期:2021-11-23 热度:94
在 Go 语言的日常编码工作中,有一个非常普遍但诡异的编译错误,曾让我十分困惑。这个问题我相信不少 Gopher 都遇到过,不妨来看一下。 背景回顾 我们定义一个带有 WriteGoCode() 方法的 Gopher 接口,同时定义了 person 结构体,它存在 WriteGoCode() 方法[详细]
-
Go1.17 新特点 Go Get 变了
所属栏目:[语言] 日期:2021-11-23 热度:125
大家好,我是 polarisxu。 为什么把 Go 的一些小变化单独写文章,而不是一篇文章介绍所有的变化?主要是想让大家对某一个特性有更深的记忆。全部列出,很容易一眼而过,过段时间就忘记了。但一个变化,专门一篇文章介绍,更容易记[详细]
-
DDIA 对 Raft 的这种极端场景的描述,要怎样理解?
所属栏目:[语言] 日期:2021-11-23 热度:113
《设计数据密集型应用》(即 DDIA)中提到 Raft 的一个问题,即,Raft 算法存在一种失去活性(liveness)的极端情况:如果有一条网络连接不可靠,Raft 当前领导者会不断被迫下台导致系统实质上毫无进展。 我们先来具体描述一下该问题。 如图所示的 4 节点 Raft[详细]