-
ArrayList 重拳出招,把 LinkedList 干翻在地
所属栏目:[语言] 日期:2021-11-03 热度:72
如果再有人给你说 ArrayList 底层是数组,查询快、增删慢;LinkedList 底层是链表,查询慢、增删快,你可以让他滚了! 这是一个极其不负责任的总结,关键是你会在很多地方看到这样的结论。 害,我一开始学 Java 的时候,也问过一个大佬,ArrayList 和 LinkedLi[详细]
-
完全搞懂Channel原理之一
所属栏目:[语言] 日期:2021-11-03 热度:61
躺的太久,该起床了。 宁可我卷死别人,不能让别人卷我。 之前断断续续看过Go几个模块的源码,可从未下笔,导致有些细节记不起来了。打算写一系列文章重新记录。 channel源码解析的文章太多了。一篇文章的长篇大论大部分人没耐心看完,所以我打算分开写,最[详细]
-
Python中令人疑惑的操作符
所属栏目:[语言] 日期:2021-11-03 热度:73
操作符对于现代编程来说绝对是一个至关重要的组成部分。它们通常用于数学运算。Python编程语言有一系列不同的操作符,并且不断添加新的操作符。 有一个运算符具有一些相当有趣的功能和特点,那就是加等运算符。乍一看,这似乎只是加法和等于操作符的基本组合[详细]
-
手把手带你学C++,Set是个啥,有何用?
所属栏目:[语言] 日期:2021-11-03 热度:172
今天我们继续来聊C++的STL,今天来聊聊set。为了写这篇文章,老梁花了一早上的时间把网上大部分关于set的博文都看了一遍。 看完之后发现不出所料的千篇一律,上来就是说怎么创建set,set里有哪些函数,标准的技术文档。 这些东西对于老鸟来说当然没问题,瞬[详细]
-
记一次 .NET 某电商定向爬虫的内存碎片化解析
所属栏目:[语言] 日期:2021-11-03 热度:175
背景 1. 讲故事 上个月有位朋友wx找到我,说他的程序存在内存泄漏问题,寻求如何解决? 如下图所示: 从截图中可以看出,这位朋友对 windbg 的操作还是有些熟悉的,可能缺乏一定的实操经验,所以用了几个命令之后就不知道怎么排查下去了。 既然找到我,那就以[详细]
-
Go语言其程序符号重命名
所属栏目:[语言] 日期:2021-11-03 热度:104
Go程序源代码中,关键字、接口、类型、常量、变量、方法、函数、字段、标签(label)等等的名称都可以称为符号。 Go可执行程序中,符号表主要包含两种类型的符号: 数据对象(Data object) 函数(Function) 一般情况下(不是绝对的),在源代码编译为可执行程序的[详细]
-
C++入口不是main?知乎上掐起来了!
所属栏目:[语言] 日期:2021-11-03 热度:167
你说main函数是入口,那main是被谁调用的呢? 他说mainCRTStartup是入口,那mainCRTStartup又是被谁调用的呢? 从进程创建说起 一切的一切,让我们从创建进程开始说起。 进程创建完成后,接着会创建主线程,这是进程中第一个开始执行代码的线程。 主线程创建后[详细]
-
Python 3.10的几个好用的全新特性
所属栏目:[语言] 日期:2021-11-03 热度:122
Python 3.10已经在10月4日发布了,要不要更新呢? 3.10版没有添加新的模块,但是引入了很多新的并且有用的特性。让我们来一起看看吧。 更详细语法错误提示信息 在调试代码时,能够提供更多的错误新信息和提示了,报告可以指出错误的语法,而不仅仅是提供Synta[详细]
-
用 jconsole 在 Linux 上监控你的 Java
所属栏目:[语言] 日期:2021-11-03 热度:194
如何使用 Java 开发工具包中的 Java 监控和管理控制台。 Java 开发工具包(JDK)提供了开发 Java 应用程序的二进制文件、工具和编译器。其中一个有用的工具是 jconsole。 为了演示,我将使用 WildFly J2EE 应用服务器,它是 JBOSS 开源应用服务器项目的一部[详细]
-
10月份GitHub上热门Java开源项目榜单
所属栏目:[语言] 日期:2021-11-03 热度:172
Spring相关组件阅读笔记,涵盖以下内容: spring-core spring-aop spring-context spring-task spring-transaction spring-mvc guava-cache 2ruoyi-vue-pro 2ruoyi-vue-pro https://github.com/YunaiV/ruoyi-vue-pro Star 1363 这是一个基于SpringBoot,Spri[详细]
-
可视化打包 exe,这个Python神器绝绝子
所属栏目:[语言] 日期:2021-11-03 热度:197
什么是auto-py-to-exe auto-py-to-exe 是一个用于将Python程序打包成可执行文件的图形化工具。本文就是主要介绍如何使用 auto-py-to-exe 完成 python 程序打包。auto-py-to-exe 基于 pyinstaller ,相比于 pyinstaller ,它多了 GUI 界面,用起来更为简单方[详细]
-
Go 中的可寻址和不可寻址怎样理解?
所属栏目:[语言] 日期:2021-11-03 热度:97
可直接使用 操作符取地址的对象,就是可寻址的(Addressable)。比如下面这个例子 func main() { name := iswbm fmt.Println(name) // output: 0xc000010200 } 程序运行不会报错,说明 name 这个变量是可寻址的。 但不能说 iswbm 这个字符串是可寻址的。 iswbm[详细]
-
一日一技:在 Python 里面如何实施一个抽象类
所属栏目:[语言] 日期:2021-11-03 热度:98
在某个在线教育的网站上设计模式相关的课程中,某老师说 Python 不支持抽象类和接口。 但实际上,Python 支持抽象类。Python 自带的abc模块用于实现抽象类相关的定义和操作。 我们通过一个简单的例子来说明,如何在 Python 中实现抽象类: from abc import A[详细]
-
Go Fiber 框架一系列:中间件
所属栏目:[语言] 日期:2021-11-03 热度:172
Middleware(中间件) 是一个 Web 框架重要的组成部分,通过这种模式,可以方便的扩展框架的功能。目前 Go Web 框架都提供了 Middleware 的功能,也有众多可用的 Middleware。 Fiber 也是如此,官方提供了众多的 Middleware,方便用户直接使用。本文先看看 Fib[详细]
-
八个字典常用的内置函数,一次性给你盘点了!
所属栏目:[语言] 日期:2021-11-03 热度:111
字典是Python中很重要的数据类型,我们在日后的学习中,会经常遇到。因此,有8个常用的内置函数,我觉得你一定需要知道。 d.clear() 含义:清除字典。 d = {a: 10, b: 20, c: 30} d {a: 10, b: 20, c: 30} d.clear() d {} d.get() 含义:如果键存在于字典中[详细]
-
十三个好用到起飞的Python技能!
所属栏目:[语言] 日期:2021-11-03 热度:158
假设我们在Python中有两个列表,我们希望将它们合并为字典形式,其中一个列表的项目作为字典的键,另一个作为值。这是在用 Python 编写代码时经常遇到的一个非常常见的问题。 但是为了解决这个问题,我们需要考虑几个限制,比如两个列表的大小,两个列表中项[详细]
-
学习 Core Java 的 8 个缘由
所属栏目:[语言] 日期:2021-11-03 热度:121
不过,Java 是一种庞大的语言,有很多框架和变体可供选择。Core Java 是科技行业发展出来的术语,指的是 Java 语言的中心组件,人们用它来编写框架,并围绕 Java 发展了丰富的产业。我认为,Core Java 是你能获得的最强大的技能之一,因为在学习建立在它之上[详细]
-
通过写 猜数字游戏来学习 Fortran
所属栏目:[语言] 日期:2021-11-03 热度:185
Fortran 77 是我学习的第一门编译型编程语言。一开始时,我自学了如何在 Apple II 上用 BASIC 编写程序,后来又学会在 DOS 上用 QBasic 编写程序。但是当我去大学攻读物理学时,我又学习了 Fortran。 Fortran 曾经在科学计算中很常见。曾几何时,所有计算机[详细]
-
Go多协程并发环境下的错误治理
所属栏目:[语言] 日期:2021-11-02 热度:67
在Go语言中,我们通常会用到panic和recover来抛出错误和捕获错误,这一对操作在单协程环境下我们正常用就好了,并不会踩到什么坑。但是在多协程并发环境下,我们常常会碰到以下两个问题。假设我们现在有2个协程,我们叫它们协程A和B好了: 如果协程A发生了pa[详细]
-
浅析 Go 与 C 的指南
所属栏目:[语言] 日期:2021-11-02 热度:67
C 和 Go 都相同: 运算符取出变量所在的内存地址 * 运算符取出指针变量所指向的内存地址里面的值,也叫 解引用 C 语言版示例: #include stdio.h int main() { int bar = 1; // 声明一个指向 int 类型的值的指针 int *ptr; // 通过 取出 bar 变量所在的内存[详细]
-
如何引用Python对Gif进行压缩
所属栏目:[语言] 日期:2021-11-02 热度:153
前天在给微信公众号上传文章的时候,文章里面有一个图片是gif的,在上传的过程中报错了,说是图片超大了。搜索之后发现图片需要小于5m。 那么问题就转化为怎么把当前的gif给缩减到5m以内本着有轮子用轮子,没有轮子造轮子的精神,网上搜索一番。 发现一些现[详细]
-
Python 第三方库大全,看这一篇文章就可以了!
所属栏目:[语言] 日期:2021-11-02 热度:192
管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具。 pyenv:简单的 Python 版本管理工具。 Vex:可以在虚拟环境中执行命令。 virtualenv:创建独立 Python 环境的工具。 virtualenvwrapper:virtualenv 的一组扩展。 buildout:在隔离[详细]
-
人人都能看明白的Python装饰器入门教程!
所属栏目:[语言] 日期:2021-11-02 热度:100
之前的文章中提到,很多人认为理解了装饰器的概念和用法后,会觉得自己的 Python 水平有一个明显的提高。 但很多教程在一上来就会给出装饰器的定义以及基本用法,例如你一定会在很多文章中看到例如代码运行时间计时器等相关常用装饰器。 直接从应用入手这样[详细]
-
关于Go程序错误处理的一些提议
所属栏目:[语言] 日期:2021-11-02 热度:93
Go的错误处理这块是日常被大家吐槽较多的地方,我在工作中也观察到一些现象,比较严重的是在各层级的逻辑代码中对错误的处理有些重复。 比如,有人写代码就会在每一层都判断错误并记录日志,从代码层面看,貌似很严谨,但是如果看日志会发现一堆重复的信息,[详细]
-
从Java 9 至 Java 17之 Java 11
所属栏目:[语言] 日期:2021-11-02 热度:110
ava 11是自Java 8以来的又一个LTS版本,是目前全球使用最多的LTS版本之一。今天我们接着在Java 9 到 Java 17系列文章中来认识针对普通开发者的Java 11。 字符串API增强 在Java 11中,针对String的操作进一步得到加强。避免我们在很常见的场景中引入额外的、[详细]