-
C++入口不是main?知乎上掐起来了!
所属栏目:[语言] 日期:2021-11-03 热度:105
你说main函数是入口,那main是被谁调用的呢? 他说mainCRTStartup是入口,那mainCRTStartup又是被谁调用的呢? 从进程创建说起 一切的一切,让我们从创建进程开始说起。 进程创建完成后,接着会创建主线程,这是进程中第一个开始执行代码的线程。 主线程创建后[详细]
-
记一次 .NET 某电商定向爬虫的内存碎片化解析
所属栏目:[语言] 日期:2021-11-03 热度:144
背景 1. 讲故事 上个月有位朋友wx找到我,说他的程序存在内存泄漏问题,寻求如何解决? 如下图所示: 从截图中可以看出,这位朋友对 windbg 的操作还是有些熟悉的,可能缺乏一定的实操经验,所以用了几个命令之后就不知道怎么排查下去了。 既然找到我,那就以[详细]
-
手把手带你学C++,Set是个啥,有何用?
所属栏目:[语言] 日期:2021-11-03 热度:194
今天我们继续来聊C++的STL,今天来聊聊set。为了写这篇文章,老梁花了一早上的时间把网上大部分关于set的博文都看了一遍。 看完之后发现不出所料的千篇一律,上来就是说怎么创建set,set里有哪些函数,标准的技术文档。 这些东西对于老鸟来说当然没问题,瞬[详细]
-
Java进阶之深入理解负载平均的五种算法实现原理
所属栏目:[语言] 日期:2021-11-03 热度:108
前言 什么是负载均衡: 指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种 负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务[详细]
-
ArrayList 重拳出招,把 LinkedList 干翻在地
所属栏目:[语言] 日期:2021-11-03 热度:90
如果再有人给你说 ArrayList 底层是数组,查询快、增删慢;LinkedList 底层是链表,查询慢、增删快,你可以让他滚了! 这是一个极其不负责任的总结,关键是你会在很多地方看到这样的结论。 害,我一开始学 Java 的时候,也问过一个大佬,ArrayList 和 LinkedLi[详细]
-
完全搞懂Channel原理之一
所属栏目:[语言] 日期:2021-11-03 热度:142
躺的太久,该起床了。 宁可我卷死别人,不能让别人卷我。 之前断断续续看过Go几个模块的源码,可从未下笔,导致有些细节记不起来了。打算写一系列文章重新记录。 channel源码解析的文章太多了。一篇文章的长篇大论大部分人没耐心看完,所以我打算分开写,最[详细]
-
Python中令人疑惑的操作符
所属栏目:[语言] 日期:2021-11-03 热度:129
操作符对于现代编程来说绝对是一个至关重要的组成部分。它们通常用于数学运算。Python编程语言有一系列不同的操作符,并且不断添加新的操作符。 有一个运算符具有一些相当有趣的功能和特点,那就是加等运算符。乍一看,这似乎只是加法和等于操作符的基本组合[详细]
-
从Java 9 至 Java 17之 Java 11
所属栏目:[语言] 日期:2021-11-02 热度:105
ava 11是自Java 8以来的又一个LTS版本,是目前全球使用最多的LTS版本之一。今天我们接着在Java 9 到 Java 17系列文章中来认识针对普通开发者的Java 11。 字符串API增强 在Java 11中,针对String的操作进一步得到加强。避免我们在很常见的场景中引入额外的、[详细]
-
应该学习练手的五个Python迷你程序附代码
所属栏目:[语言] 日期:2021-11-02 热度:72
在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作。 下面就给大家介绍5个通过Python构建的项目,以此来学习Python编程。 一、石头剪刀布游戏 目标:创建一个命令行游戏,游戏者可以在石头、剪刀和布之间进行选择,与计算机PK。[详细]
-
相见恨晚后的 Python 内置库:itertools
所属栏目:[语言] 日期:2021-11-02 热度:166
最近事情不是很多,想写一些技术文章分享给大家,同时也对自己一段时间来碎片化接受的知识进行一下梳理,所谓写清楚才能说清楚,说清楚才能想清楚,就是这个道理了。 很多人都致力于把Python代码写得更Pythonic,一来更符合规范且容易阅读,二来一般Pythonic[详细]
-
LayUI 走了,JDK17 来临
所属栏目:[语言] 日期:2021-11-02 热度:107
看到这条消息时充满了感慨,毕竟松哥虽然主业是 Java,但是也一直在关注着前端的发展。 2013 年还在大三的时候就玩过 TypeScript,2014 年的时候当时还买了一本书 NodeJS 的书,后来大学毕业,工作,慢慢的兴趣就集中在后端了,前端虽然也一直在关注,但是只[详细]
-
Go多协程并发环境下的错误治理
所属栏目:[语言] 日期:2021-11-02 热度:142
在Go语言中,我们通常会用到panic和recover来抛出错误和捕获错误,这一对操作在单协程环境下我们正常用就好了,并不会踩到什么坑。但是在多协程并发环境下,我们常常会碰到以下两个问题。假设我们现在有2个协程,我们叫它们协程A和B好了: 如果协程A发生了pa[详细]
-
浅析 Go 与 C 的指南
所属栏目:[语言] 日期:2021-11-02 热度:138
C 和 Go 都相同: 运算符取出变量所在的内存地址 * 运算符取出指针变量所指向的内存地址里面的值,也叫 解引用 C 语言版示例: #include stdio.h int main() { int bar = 1; // 声明一个指向 int 类型的值的指针 int *ptr; // 通过 取出 bar 变量所在的内存[详细]
-
如何引用Python对Gif进行压缩
所属栏目:[语言] 日期:2021-11-02 热度:60
前天在给微信公众号上传文章的时候,文章里面有一个图片是gif的,在上传的过程中报错了,说是图片超大了。搜索之后发现图片需要小于5m。 那么问题就转化为怎么把当前的gif给缩减到5m以内本着有轮子用轮子,没有轮子造轮子的精神,网上搜索一番。 发现一些现[详细]
-
Python 第三方库大全,看这一篇文章就可以了!
所属栏目:[语言] 日期:2021-11-02 热度:104
管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具。 pyenv:简单的 Python 版本管理工具。 Vex:可以在虚拟环境中执行命令。 virtualenv:创建独立 Python 环境的工具。 virtualenvwrapper:virtualenv 的一组扩展。 buildout:在隔离[详细]
-
人人都能看明白的Python装饰器入门教程!
所属栏目:[语言] 日期:2021-11-02 热度:160
之前的文章中提到,很多人认为理解了装饰器的概念和用法后,会觉得自己的 Python 水平有一个明显的提高。 但很多教程在一上来就会给出装饰器的定义以及基本用法,例如你一定会在很多文章中看到例如代码运行时间计时器等相关常用装饰器。 直接从应用入手这样[详细]
-
关于Go程序错误处理的一些提议
所属栏目:[语言] 日期:2021-11-02 热度:80
Go的错误处理这块是日常被大家吐槽较多的地方,我在工作中也观察到一些现象,比较严重的是在各层级的逻辑代码中对错误的处理有些重复。 比如,有人写代码就会在每一层都判断错误并记录日志,从代码层面看,貌似很严谨,但是如果看日志会发现一堆重复的信息,[详细]
-
一日一技:在 Python 里面如何实施一个抽象类
所属栏目:[语言] 日期:2021-11-02 热度:65
在某个在线教育的网站上设计模式相关的课程中,某老师说 Python 不支持抽象类和接口。 但实际上,Python 支持抽象类。Python 自带的abc模块用于实现抽象类相关的定义和操作。 我们通过一个简单的例子来说明,如何在 Python 中实现抽象类: from abc import A[详细]
-
Go Fiber 框架一系列:中间件
所属栏目:[语言] 日期:2021-11-02 热度:77
Middleware(中间件) 是一个 Web 框架重要的组成部分,通过这种模式,可以方便的扩展框架的功能。目前 Go Web 框架都提供了 Middleware 的功能,也有众多可用的 Middleware。 Fiber 也是如此,官方提供了众多的 Middleware,方便用户直接使用。本文先看看 Fib[详细]
-
八个字典常用的内置函数,一次性给你盘点了!
所属栏目:[语言] 日期:2021-11-02 热度:155
字典是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-02 热度:134
假设我们在Python中有两个列表,我们希望将它们合并为字典形式,其中一个列表的项目作为字典的键,另一个作为值。这是在用 Python 编写代码时经常遇到的一个非常常见的问题。 但是为了解决这个问题,我们需要考虑几个限制,比如两个列表的大小,两个列表中项[详细]
-
学习 Core Java 的 8 个缘由
所属栏目:[语言] 日期:2021-11-02 热度:116
不过,Java 是一种庞大的语言,有很多框架和变体可供选择。Core Java 是科技行业发展出来的术语,指的是 Java 语言的中心组件,人们用它来编写框架,并围绕 Java 发展了丰富的产业。我认为,Core Java 是你能获得的最强大的技能之一,因为在学习建立在它之上[详细]
-
通过写 猜数字游戏来学习 Fortran
所属栏目:[语言] 日期:2021-11-02 热度:109
Fortran 77 是我学习的第一门编译型编程语言。一开始时,我自学了如何在 Apple II 上用 BASIC 编写程序,后来又学会在 DOS 上用 QBasic 编写程序。但是当我去大学攻读物理学时,我又学习了 Fortran。 Fortran 曾经在科学计算中很常见。曾几何时,所有计算机[详细]
-
Go 中的可寻址和不可寻址怎样理解?
所属栏目:[语言] 日期:2021-11-02 热度:114
可直接使用 操作符取地址的对象,就是可寻址的(Addressable)。比如下面这个例子 func main() { name := iswbm fmt.Println(name) // output: 0xc000010200 } 程序运行不会报错,说明 name 这个变量是可寻址的。 但不能说 iswbm 这个字符串是可寻址的。 iswbm[详细]
-
10月份GitHub上热门Java开源项目榜单
所属栏目:[语言] 日期:2021-11-02 热度:192
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[详细]