-
Go 结构体函数调用底层实现
所属栏目:[语言] 日期:2021-11-03 热度:188
《Go 语言嵌入和多态机制对比》一文中我们了解了 Go 语言的类型系统。下面,我们就来了解一下 Go 语言是如何实现类型系统特性,我们将会深入到 Go 语言运行时和最终机器码层面对 Go 语言的结构体、函数调用进行了解。 上文已经提及,Go 语言结构体并非 Java[详细]
-
如何组织 Go 代码?Go 作者的回答惊呆了
所属栏目:[语言] 日期:2021-11-03 热度:143
这是最常见的问题之一。你可以通过互联网寻找这个问题的答案。不过,我不确认我的设计是否 100% 正确,但希望给你一些参考。 前段时间,我有幸见到了 Robert Griesemer[1](Go 的作者之一)。我们问了他这个问题:如何组织 Go 代码?。他说:我不知道。 - 这很[详细]
-
基础篇 Java集合,面试专用
所属栏目:[语言] 日期:2021-11-03 热度:151
没啥好说的,在座的各位都是靓仔 List 数组 Vector 向量 Stack 栈 Map 映射字典 Set 集合 Queue 队列 Deque 双向队列 一般队列的通用方法 操作方法 抛出异常 阻塞线程 返回特殊值 超时退出 插入元素 add(e) put(e) offer(e) offer(e, timeout, unit) 移除元[详细]
-
10月份 Github 上 Java 开源项目排行
所属栏目:[语言] 日期:2021-11-03 热度:188
10月份GitHub上最热门的开源项目排行已经出炉啦,一起来看看上榜详情吧: 1gop https://github.com/goplus/gop Star 7510 2miaosha https://github.com/qiurunze123/miaosha Star 22763 秒杀系统设计与实现,互联网工程师进阶与分析,创建者对高并发大流量如[详细]
-
阿里高频面试题 如何快速判断元素是不是在集合里?
所属栏目:[语言] 日期:2021-11-03 热度:186
何快速判断一个元素是不是在一个集合里?这个题目是我最近面试的时候常问的一个问题,这个问题不同人都有很多不同的回答。 今天想介绍一个很少有人会提及到的方案,那就是借助布隆过滤器。 什么叫布隆过滤器 布隆过滤器(Bloom Filter)是一个叫做 Bloom 的[详细]
-
三个提升Python运行速度的方法,都很实用!
所属栏目:[语言] 日期:2021-11-03 热度:60
今天总结三个提升Python运行速度的方法,只从代码本身考虑,提升运行速度并不会从编写C 扩展的代码、基于JIT的编译器技术考虑。 关于代码执行效率的第一个方法是减少频繁的方法访问,尤其是在多层循环内层、且循环次数较多的操作,差距尤为明显。 # 真是模块[详细]
-
一篇文章带你了解Go语言基础之函数
所属栏目:[语言] 日期:2021-11-03 热度:91
前言 Hey,大家好呀,我是星期八,上篇文章学了些基础:一篇文章带你了解Go语言基础之函数(上篇),这次咱们继续学习Go基础之函数进阶叭。 Go函数内存分配图 Go的函数内存分配,有点像堆分配,有点像,但是本质不是。 可以理解像堆内存一样,栈中保存的是堆的[详细]
-
C++如何调用写好的C接口?
所属栏目:[语言] 日期:2021-11-03 热度:59
前言 如何在C++代码中调用写好的C接口?你可能会奇怪,C++不是兼容C吗?直接调用不就可以了,那么我们来测试一下,先看看C++如何调用C代码接口的。 C++调用C文件 一个C语言文件test.c #include stdio.h void print(int a,int b) { printf(这里调用的是C语言的[详细]
-
在 Linux 上使用 jps 命令检查 Java 进程
所属栏目:[语言] 日期:2021-11-03 热度:135
系统上运行着诸多进程,通过 jps 命令能够快速有效识别 Java 进程。 在 Linux 中,有一些用于查看系统上运行进程的命令。进程是指由内核管理的正在进行的事件。每启动一个应用程序时,就会产生一个进程,但也有许多在计算机后台运行的进程,如保持系统时间准[详细]
-
方向盘版本历史代码示例之:JavaMail、JDBC
所属栏目:[语言] 日期:2021-11-03 热度:175
若你还不太清楚Java EE是什么,可先移步这里:什么是Java EE? 发邮件是企业级应用开发的刚性需求,如:每晚定时任务跑完后自动将结果数据发封邮件到领导邮箱供以查阅。邮件虽然古老,但相较于IM消息具有很多不可替代的优势: 更为正式:相对重要的场合/数据[详细]
-
Python异常还能写得如此优雅!
所属栏目:[语言] 日期:2021-11-03 热度:174
在写程序时,我们会经常碰到程序出现异常,这时候我们就不得不处理这些异常,以保证程序的健壮性。 处理异常的版本有以下几种,你通常的做法是哪种? 不负责任版本 这种情况下,不作任何处理,任由程序报错,从而导致程序中断。 针对简单的程序,这样做没什么[详细]
-
采用Python可视化图表分析行程数据
所属栏目:[语言] 日期:2021-11-03 热度:194
最近一直在想怎么分析一下个人的行程数据,看看能够从行程数据里面分析出点什么来。最开始我的期望还是蛮高的,有如下的一些预期: 根据出行时间范围,可以基本确定他的生活节奏,工作强度 能够通过行程时间范围来猜测汽车尾号 根据出行的耗时历史来建议出行[详细]
-
Golang 语言怎么编写检测代码?
所属栏目:[语言] 日期:2021-11-03 热度:128
介绍 我们使用 Golang 语言开发的项目,怎么保证逻辑正确和性能要求呢?也就是说我们如何测试我们的 Golang 代码呢?在 Golang 语言中,可以使用标准库 testing 包编写单元测试和基准测试,使用 go test 命令执行单元测试和基准测试的代码。本文我们介绍在 Gol[详细]
-
Go:对象选择器自动解引用是什么?
所属栏目:[语言] 日期:2021-11-03 热度:171
从一个结构体实例对象中获取字段的值,通常都是使用 . 这个操作符,该操作符叫做 选择器。 选择器有一个妙用,可能大多数人都不清楚。 当你对象是结构体对象的指针时,你想要获取字段属性时,按照常规理解应该这么做 type Profile struct { Name string } fu[详细]
-
如何在 Linux 上手动安装 Java
所属栏目:[语言] 日期:2021-11-03 热度:181
手动安装可以让用户更好的控制 Java 运行时环境。 使用 Linux 发行版的软件包管理工具来安装 Java 软件包 是很容易的。然而,有时你需要手动安装 Java。这对基于 Java 的应用服务器(如 Tomcat 或 JBoss)的管理员特别重要。许多开源和专有软件产品都依赖于[详细]
-
Go之奇闻 · Go源码里面隐藏着这么大的瓜
所属栏目:[语言] 日期:2021-11-03 热度:193
今天无意间发现Github上的go[1]代码仓库有一个很有意思的# issue 48886[2],这不知道是不是吃了Golang的一个瓜? 这么重量级的项目,肯定有人会紧急修复,尝试提交PR的,看看PR中记录貌似已经有人尝试修复了。动作很快啊!! 像这种古老级别的代码,估计当时也[详细]
-
Go之奇闻 · Go源码里面私藏着这么大的瓜!
所属栏目:[语言] 日期:2021-11-03 热度:69
今天无意间发现Github上的go[1]代码仓库有一个很有意思的# issue 48886[2],这不知道是不是吃了Golang的一个瓜? 这么重量级的项目,肯定有人会紧急修复,尝试提交PR的,看看PR中记录貌似已经有人尝试修复了。动作很快啊!! 像这种古老级别的代码,估计当时也[详细]
-
用 jconsole 在 Linux 上监控你的 Java
所属栏目:[语言] 日期:2021-11-03 热度:109
如何使用 Java 开发工具包中的 Java 监控和管理控制台。 Java 开发工具包(JDK)提供了开发 Java 应用程序的二进制文件、工具和编译器。其中一个有用的工具是 jconsole。 为了演示,我将使用 WildFly J2EE 应用服务器,它是 JBOSS 开源应用服务器项目的一部[详细]
-
Python 3.10的几个好用的全新特性
所属栏目:[语言] 日期:2021-11-03 热度:183
Python 3.10已经在10月4日发布了,要不要更新呢? 3.10版没有添加新的模块,但是引入了很多新的并且有用的特性。让我们来一起看看吧。 更详细语法错误提示信息 在调试代码时,能够提供更多的错误新信息和提示了,报告可以指出错误的语法,而不仅仅是提供Synta[详细]
-
C++入口不是main?知乎上掐起来了!
所属栏目:[语言] 日期:2021-11-03 热度:60
你说main函数是入口,那main是被谁调用的呢? 他说mainCRTStartup是入口,那mainCRTStartup又是被谁调用的呢? 从进程创建说起 一切的一切,让我们从创建进程开始说起。 进程创建完成后,接着会创建主线程,这是进程中第一个开始执行代码的线程。 主线程创建后[详细]
-
Go语言其程序符号重命名
所属栏目:[语言] 日期:2021-11-03 热度:194
Go程序源代码中,关键字、接口、类型、常量、变量、方法、函数、字段、标签(label)等等的名称都可以称为符号。 Go可执行程序中,符号表主要包含两种类型的符号: 数据对象(Data object) 函数(Function) 一般情况下(不是绝对的),在源代码编译为可执行程序的[详细]
-
记一次 .NET 某电商定向爬虫的内存碎片化解析
所属栏目:[语言] 日期:2021-11-03 热度:71
背景 1. 讲故事 上个月有位朋友wx找到我,说他的程序存在内存泄漏问题,寻求如何解决? 如下图所示: 从截图中可以看出,这位朋友对 windbg 的操作还是有些熟悉的,可能缺乏一定的实操经验,所以用了几个命令之后就不知道怎么排查下去了。 既然找到我,那就以[详细]
-
手把手带你学C++,Set是个啥,有何用?
所属栏目:[语言] 日期:2021-11-03 热度:127
今天我们继续来聊C++的STL,今天来聊聊set。为了写这篇文章,老梁花了一早上的时间把网上大部分关于set的博文都看了一遍。 看完之后发现不出所料的千篇一律,上来就是说怎么创建set,set里有哪些函数,标准的技术文档。 这些东西对于老鸟来说当然没问题,瞬[详细]
-
Python中令人疑惑的操作符
所属栏目:[语言] 日期:2021-11-03 热度:90
操作符对于现代编程来说绝对是一个至关重要的组成部分。它们通常用于数学运算。Python编程语言有一系列不同的操作符,并且不断添加新的操作符。 有一个运算符具有一些相当有趣的功能和特点,那就是加等运算符。乍一看,这似乎只是加法和等于操作符的基本组合[详细]
-
完全搞懂Channel原理之一
所属栏目:[语言] 日期:2021-11-03 热度:168
躺的太久,该起床了。 宁可我卷死别人,不能让别人卷我。 之前断断续续看过Go几个模块的源码,可从未下笔,导致有些细节记不起来了。打算写一系列文章重新记录。 channel源码解析的文章太多了。一篇文章的长篇大论大部分人没耐心看完,所以我打算分开写,最[详细]
