-
Go 1.18 中的 Any 是啥?
所属栏目:[语言] 日期:2021-12-06 热度:58
Go 1.18 因为泛型引入 any,这实际上是 interface{} 的别名: type any = interface{} 以下代码虽然不是泛型,但用 Go 1.18 可以正常运行,证明 any 和 interface{} 是一样的:(这里可以在线运行:https://gotipplay.golang.org/p/dPeNhe-7nkA) package main[详细]
-
C语言 | 函数执行成功时,return 1 还是return 0?
所属栏目:[语言] 日期:2021-11-08 热度:176
今天分享的内容是关于函数执行成功,返回0还是1的讨论~ 基本上,没有人会将大段的C语言代码全部塞入 main() 函数,更好的做法是按照复用率高,耦合性低的原则,尽可能的将代码拆分不同的功能模块,并封装成函数。C语言代码的组合千变万化,因此函数的功能可能[详细]
-
Python 处理 JSON 我选择 ujson 和 orjson
所属栏目:[语言] 日期:2021-11-08 热度:198
在 Python 使用用 json.dumps(data) 时突然发现特别慢,data 本身不大,但是一个包含很多元素的列表,所以促使本人寻找一个替代的 JSON 处理库。大概对比了一个 ujson(UtltraJSON), python-rapidjson(RapidJSON) 和 Python 自带的 json 库。还有一个 simplejs[详细]
-
在SQLite中插入10亿条Python VS Rust
所属栏目:[语言] 日期:2021-11-08 热度:157
在实际生活中,市场有这样的案例:写脚本来进行数据处理,比如说给数据库导入导出数据,这种任务一般来说最方便的方法是用python脚本,但是如果数据量比较大时候(比如上亿条)时候Python就会超级慢,看到无法忍受。在这种案例时候该怎么做呢,有一个外国老哥分[详细]
-
面试官提问什么是 Java 注解?
所属栏目:[语言] 日期:2021-11-08 热度:195
哈喽,我是狗哥。随着开发经验的累积,我越发觉得基础真的非常重要。比如:大部分框架 (如 Spring) 都使用了注解简化代码并提高编码的效率,掌握注解是一名 JAVA 程序员必备的技能。 但我发现很多工作 2、3 年的同学居然还没写过自定义注解,问起注解的原理也[详细]
-
【C++】内存中的字符串
所属栏目:[语言] 日期:2021-11-08 热度:106
前文 内存中的字符串类型 学习研究了Go的字符串在内存中的结构和数据类型。 文本是两年多前的一篇学习笔记,研究的是C++字符串在内存中的结构。 环境 1. 操作系统:Ubuntu 16.04。 2. 调试软件:GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1。 3. 编译工具[详细]
-
一文讲清C/C++ Const/Const_Cast/Constexpr
所属栏目:[语言] 日期:2021-11-08 热度:133
很多人搞不清const、const_cast、constexpr的用法,稀里糊涂地用。一般而言,即使乱用,问题也不大,因为错大发了会崩,崩了自然会被修正,不崩自然也就没事。但作为一个有追求的专业程序员,自当闻过则喜,搞清楚弄明白。 一、const C语言的const用法 先讲co[详细]
-
详解Python集合Set,建议珍藏!!
所属栏目:[语言] 日期:2021-11-08 热度:84
大家好,我是Peter~ 在前面的几篇Python的文章中,我们介绍了Python的多种不同类型的对象:字符串、列表、元组、字典。它们有各自的特点: 字符串str:存在索引,字符串中的元素是可以重复的,元素是不可变,不能修改的 列表list:也能够进行索引和切片操作,[详细]
-
用了Stream后,代码反而越写越丑?
所属栏目:[语言] 日期:2021-11-08 热度:64
Java8的stream流,加上lambda表达式,可以让代码变短变美,已经得到了广泛的应用。我们在写一些复杂代码的时候,也有了更多的选择。 代码首先是给人看的,其次才是给机器执行的。代码写的是否简洁明了,是否写的漂亮,对后续的bug修复和功能扩展,意义重大。[详细]
-
C#基础 理解装箱与拆箱
所属栏目:[语言] 日期:2021-11-08 热度:125
前面我们讲到 .NET 平台支持的两大数据类型:值类型和引用类型。值类型比引用类型更高效,因为它没有指针引用,不用分配在托管堆中,也不用被 GC 回收。但有时候你可能偶尔需要将一种类型的变量表示为另一种类型的变量。为此,C# 提供了装箱和拆箱的机制。 1[详细]
-
Golang channel 使用结论
所属栏目:[语言] 日期:2021-11-08 热度:156
不同于传统的多线程并发模型使用共享内存来实现线程间通信的方式,golang 的哲学是通过 channel 进行协程 (goroutine) 之间的通信来实现数据共享: Do not communicate by sharing memory; instead, share memory by communicating. 这种方式的优点是通过提供[详细]
-
揭秘Python list 深/浅拷贝原理
所属栏目:[语言] 日期:2021-11-07 热度:58
1. python list的深/浅拷贝 python 有一种常用数据类型:list,使用list时经常需要考虑一件事件,那就是:浅拷贝与深拷贝。 至于什么是深浅拷贝,先从一个示例代码来分析一下: import copy # list 测试使用的源数据 lists = [[1, 2, 3], 4, 5, 6] def low_co[详细]
-
怎样在 Java 中使用外部库
所属栏目:[语言] 日期:2021-11-07 热度:95
外部库填补了 Java 核心库中的一些功能空白。 Java 自带有一组核心库,其中包含了定义常用数据类型和相关行为的库(例如 String 和 Date)、与主机操作系统交互的实用程序(例如 System 和 File),以及一些用来管理安全性、处理网络通信、创建或解析 XML的有用的[详细]
-
Python太好用了!AI初学者快速体验人脸检查
所属栏目:[语言] 日期:2021-11-07 热度:107
我们使用python进行AI识别测试,具体方式是是开启本地电脑的摄像头进行实时的识别,或者直接传入一张图片进行行人检测,在分析代码把数据源传入到识别,看到的是source=0,但是这个参数是打开本地电脑的摄像头流,再进行行人检测。 但我们需要对此处进行修改[详细]
-
我近日偶遇的六个很酷的Python库
所属栏目:[语言] 日期:2021-11-07 热度:133
Python是机器学习不可或缺的一部分,库让我们的生活更简单。最近,我在处理机器学习项目时遇到了6个很棒的库。它们帮我节省了大量时间,本文将介绍它们。 1. clean-text clean-text是真正很出色的库,如果您需要处理抓取内容或社交媒体数据,它应该是您的首[详细]
-
什么是可中断锁?有什么用?怎么达成?
所属栏目:[语言] 日期:2021-11-07 热度:99
在 Java 中有两种锁,一种是内置锁 synchronized,一种是显示锁 Lock,其中 Lock 锁是可中断锁,而 synchronized 则为不可中断锁。 所谓的中断锁指的是锁在执行时可被中断,也就是在执行时可以接收 interrupt 的通知,从而中断锁执行。 PS:默认情况下 Lock[详细]
-
从 Hotspot 虚拟机角度来分析 Java 线程开启
所属栏目:[语言] 日期:2021-11-07 热度:77
基本概念 Java 线程其实是映射到操作系统的内核线程上的,所以 Java 线程基本上也就是操作系统在进行管理。在 Linux系统中,线程和进程用的是同一个结构体进行描述的,只不过进程拥有自己独立的地址空间,而同一个进程的多个线程之间是共享资源的。 简单说明[详细]
-
你清楚JDK版本相关特性吗?结果令人尴尬!
所属栏目:[语言] 日期:2021-11-07 热度:58
关于版本意识,尤其是初学者,很少有人会关注(很多三五年了,照样没怎么关注)。 为什么不关注呢?因为他们关注都是功能点或者知识点。 后来,逐渐的,一部分人在开发中就会遇到各种各样的问题,于是就开始关注版本了,而另外一部分人完全就是为了应付面试。 接[详细]
-
一文掌握 C++ 智能指针的应用
所属栏目:[语言] 日期:2021-11-07 热度:158
RAII 与引用计数 了解 Objective-C/Swift 的程序员应该知道引用计数的概念。引用计数这种计数是为了防止内存泄露而产生的。 基本想法是对于动态分配的对象,进行引用计数,每当增加一次对同一个对象的引用,那么引用对象的引用计数就会增加一次, 每删除一次[详细]
-
看完后让你成为武松,手把手教你打败Java中的纸老虎
所属栏目:[语言] 日期:2021-11-07 热度:171
泛型,其实算是Java当中比较难的语法了,很多人一开始都对其一知半解,也很害怕阅读带泛型的源码,虽然看起来语法很难,但当你理解后会觉得很简单,其实只是一个纸老虎罢了。下面,我将会用非常简单易懂的方式带你去理解它,相信你在认真看完后会有非常大的收[详细]
-
Gin 源码阅读之 Gin 与 Net/Http的联系
所属栏目:[语言] 日期:2021-11-07 热度:165
gin 是目前 Go 里面使用最广泛的框架之一了,弄清楚 gin 框架的原理,有助于我们更好的使用 gin。这个系列 gin 源码阅读会逐步讲明白 gin 的原理,欢迎关注后续文章。 gin 概览 想弄清楚 gin, 需要弄明白以下几个问题: request数据是如何流转的 gin框架到底扮[详细]
-
会诱发 Goroutine 挂起的 27个因素
所属栏目:[语言] 日期:2021-11-07 热度:128
上个月面向读者的提问,我们针对 goroutine 泄露中都会看到的大头 runtime.gopark 函数进行了学习和了解,输出了 《Goroutine 一泄露就看到他,这是个什么?》。 有小伙伴提到,虽然我们知道了 runtime.gopark 函数的缘起和内在,但其实没有提到 runtime.gopar[详细]
-
Python项目实操篇-常用验证码标注和识别
所属栏目:[语言] 日期:2021-11-07 热度:93
大家好,我是Snowball。 一、前言 今天给大家分享的实战项目是常用验证码标注识别,从想法诞生到实现思路,再到编码实战的整体过程,这个过程我前后整理了上万字,计划分章节来发布。言归正传,一起来看看今天的内容吧!今天这篇内容主要讲解这篇文章的创作灵[详细]
-
适合开发者的十大优质Python编译器
所属栏目:[语言] 日期:2021-11-07 热度:69
由Guido van Rossum于1991年创建的Python,如今已是发展最快、使用最广的编程语言之一。它可以在诸如:Web应用、桌面开发、机器学习、人工智能、数据分析、以及数据可视化等领域,得到广泛的使用。 值得注意的是,近年来,随着Python生态系统的不断发展壮大,[详细]
-
C#多线程研发之任务并行库
所属栏目:[语言] 日期:2021-11-07 热度:85
之前学习了线程池,知道了它有很多好处。 使用线程池可以使我们在减少并行度花销时节省操作系统资源。可认为线程池是一个抽象层,其向程序员隐藏了使用线程的细节,使我们可以专心处理程序逻辑,而不是各种线程问题。 但也不是说我们所有的项目中都上线程池,[详细]