-
Java 进阶之字节码剖析
所属栏目:[语言] 日期:2021-12-12 热度:134
从今天起我打算整一个 Java 系列的进阶基础文章,万丈高楼平地起,打好基础我们才能走得更好,举个例子,之前我在武哥的 Kafka 文章中看到这样的一句话「除此之外,页缓存(pageCache)还有一个巨大的优势。用过 Java 的人都知道:如果不用页缓存,而是用 JVM[详细]
-
Mac 下如何打包 Playwright 程序
所属栏目:[语言] 日期:2021-12-12 热度:167
经常有朋友找我写个浏览器自动化工具,通常情况下我都是在 Windows 下打包,使用的方法就是 最简单的方式发布你的Python应用,然而也有朋友问我能否做一个 mac 版本,于是我就捣腾了一下,顺利完成,今天就分享下具体的做法。 使用 py2app 我首先采用了 py2ap[详细]
-
Python 中弱引用的神奇用法与原理探析
所属栏目:[语言] 日期:2021-12-12 热度:83
开始讨论弱引用( weakref )之前,我们先来看看什么是弱引用?它到底有什么作用? 假设我们有一个多线程程序,并发处理应用数据: # 占用大量资源,创建销毁成本很高 class Data: def __init__(self, key): pass 应用数据 Data 由一个 key 唯一标识,同一个[详细]
-
EasyC++,构造函数
所属栏目:[语言] 日期:2021-12-12 热度:56
构造函数 我们定义了类之后,在使用之前,往往还需要对类进行初始化。这篇介绍的就是对类进行初始化的方法。 像是结构体,我们可以使用列表初始化的方法进行初始化: struct Thing { char *pn; int m; }; Thing th = {hello, 23}; 但类不行,因为结构体当中的[详细]
-
Go 为什么不支持类和继承?
所属栏目:[语言] 日期:2021-12-12 热度:93
这门编程语言里没有类(class)、继承(extends),没法一把搜了,面试问啥面向对象(OOP)? 今天煎鱼就带大家一起来了解这之中的思考,Go 真的不支持吗? 类和继承 类是什么 类(class)在面向对象编程中是一种面向对象计算机编程语言的构造,是创建对象的蓝图,描述[详细]
-
那些用Go实现的分布式事务框架
所属栏目:[语言] 日期:2021-12-12 热度:132
开篇 不知不觉竟然一个月没更新了,人一旦懒下来只会越来越懒。 最近对分布式事务产生了一些兴趣,查阅了一些文章以及论文。这篇文章主要介绍我看的两个项目,不涉及一些理论知识。 阿里开源版本的Seata,主要看了Go实现的seata-golang(落后java版) 以及前段[详细]
-
Java操作PDF文件,竟然如此简单
所属栏目:[语言] 日期:2021-12-12 热度:116
maven 依赖 使用 iText 的时候需要用 maven 依赖如下: dependency groupIdcom.itextpdf/groupId artifactIditext7-core/artifactId version7.2.0/version typepom/type /dependency 简单实例 建立 PDF 需要 4 个步骤: 创建 一个 PdfWriter,用于定义 pdf 的[详细]
-
一篇学会 C# 集合类型
所属栏目:[语言] 日期:2021-12-12 热度:155
对于许多应用程序,你会想要创建和管理相关对象的组。有两种方法对对象进行分组:通过创建对象的数组,以及通过创建对象的集合。 数组最适用于创建和使用固定数量的强类型化对象。 集合提供更灵活的方式来使用对象组。与数组不同,你使用的对象组随着应用程序[详细]
-
Python协程知多少
所属栏目:[语言] 日期:2021-12-12 热度:53
从概念上来说,我们都知道多进程和多线程,而协程其实是在单线程中实现多并发。从句法上看,协程与生成器类似,都是定义体中包含yield关键字的函数。区别在于协程的yield通常出现在表达式的右边:datum = yield。这一下就让初学者瞬间觉得yield关键字不香了,[详细]
-
提高 Python代码的可读性,你需要知道的十个技巧
所属栏目:[语言] 日期:2021-12-12 热度:197
1. 字符串反转 字符串反转有很多方法,咱们再这里介绍两种:一种是切片,一种是python字符串的reversed方法。 # -!- coding: utf-8 -!- string = hello world # 方法1 new_str = string[::-1] ic(new_str) # 方法二 new_str2 = .join(reversed(string)) ic(ne[详细]
-
基于Python创建语音识别控制系统
所属栏目:[语言] 日期:2021-12-12 热度:160
这篇文章主要介绍了通过Python实现创建语音识别控制系统,能利用语音识别识别说出来的文字,根据文字的内容来控制图形移动,感兴趣的同学可以关注一下 利用语音识别识别说出来的文字,根据文字的内容来控制图形移动,例如说向上,识别出文字后,画布上的图形[详细]
-
Go 通过 io.Writer 将 JPEG 转为 JFIF
所属栏目:[语言] 日期:2021-12-12 热度:130
Go 的标准库可让你对 JPEG 图像进行编码。在 One of these JPEGs is not like the other[1] 一文中,Ben Cox 指出某些硬件不会解码这些 JPEG 图像,除非它们被增强为 JFIF 图像。JFIF 代表JPEG 文件交换格式,在概念上是原始 JPEG 格式的次要版本。 硬件缺乏[详细]
-
Python实现图像的全景拼接
所属栏目:[语言] 日期:2021-12-12 热度:129
基本介绍 图像的全景拼接,即缝合两张具有重叠区域的图来创建一张全景图。其中用到了计算机视觉和图像处理技术有:关键点特征检测、局部不变特征、关键特征点匹配、RANSAC(Random Sample Consensus,随机采样一致性)和透视变形。 具体步骤 (1)检测左右两张[详细]
-
看明白 Go 对象内部细节的神器
所属栏目:[语言] 日期:2021-12-08 热度:181
在调式 Go 程序时,我们经常想知道对象的内部数据是什么样了,以便掌握程序的运行情况。 一般有两种做法:对于简单的代码测试,我们可以通过fmt包来打印一些对象信息;在稍复杂场景下,可以利用调式器来完成,例如 GDB、LLDB 和 Delve 等。 但是,这两种做法都[详细]
-
2021年游戏开发编程语言 Top10:C++、Java、C# 霸排行前三
所属栏目:[语言] 日期:2021-12-08 热度:187
近日,analyticsinsight 就出炉了 2021 年游戏项目开发编程语言 Top10,其中 C++、Java、C# 霸榜前三,还有不少编程语言都属于当下备受开发者欢迎的编程语言。 下面就附上本次 2021 年游戏项目开发上榜的编程语言 Top10 列表,一起来看看吧! C++ 作为一种高级[详细]
-
学编程,到底挑选哪个语言比较好?
所属栏目:[语言] 日期:2021-12-08 热度:105
薪酬(划重点) 作为即将踏入职场的萌新,而且是入坑程序员的萌新们,选择一门高薪的编程语言作为以后的主要职业方向(即技术方向),这一点是非常重要的,而这一个编程语言的初始薪酬一定程度上反映了,当下及未来几年内的火爆程度,某种程度上也决定了你以后薪[详细]
-
一篇学会 Java 问题排查科技
所属栏目:[语言] 日期:2021-12-08 热度:100
问题排查 可从三个方面入手 知识:有些问题,思考一下就有答案,就像传说中多隆那样,回忆下就知道第83行代码有问题~ 工具:当然不是每个人都能做到过目不忘,也有可能这代码完全不是你写的,这时就需要靠工具来定位问题 数据:程序运行时产生的数据,也能提[详细]
-
EasyC++,函数与语言链接性
所属栏目:[语言] 日期:2021-12-08 热度:200
想要追求更好阅读体验的同学,可以点击「阅读原文」访问github仓库。 const 关于const的含义和使用我们之前已经讨论过了,但const限定符对于默认存储类型是有影响的。 在默认情况下,全局变量的链接性是外部的,也就是说所有文件均可使用。但const全局变量的[详细]
-
你只能用 split?试试 StringTokenizer,性能可以快 4 倍!!
所属栏目:[语言] 日期:2021-12-08 热度:119
分割字符串要使用 String 的 split() 方法,split 方法虽然深入人心,使用也简单,但效率太低! 其实在 JDK 中,还有一个性能很强的纯字符串分割工具类:StringTokenizer。 这个类在 JDK 1.0 中就推出来了,但在实际工作却发现很少有人使用,网上有人说不建议[详细]
-
GET 和 POST请求的本质差别是什么?看完觉得自己太无知了
所属栏目:[语言] 日期:2021-12-08 热度:133
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。 你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清[详细]
-
介绍一个C++中很有用的设计模式
所属栏目:[语言] 日期:2021-12-08 热度:76
大家好,今天介绍一个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-08 热度:150
final 介绍 final 是 Java 语言中的一个关键字,使用 final 修饰的对象不允许修改或替换其原始值或定义。 final 可以用来修饰:类、方法、变量和参数,其中可以用来修饰参数这一项,容易被人遗忘,这是 final 的 4 种用法。 1.1 final 用法说明 当 final 修饰[详细]
-
六个常用的 Python 自动化脚本,你学会了吗?
所属栏目:[语言] 日期:2021-12-08 热度:185
每天你都可能会执行许多重复的任务,例如阅读 pdf、播放音乐、查看天气、打开书签、清理文件夹等等,使用自动化脚本,就无需手动一次又一次地完成这些任务,非常方便。而在某种程度上,Python 就是自动化的代名词。今天分享 6 个非常有用的 Python 自动化脚本[详细]
-
透过一个编译报错,总结两个Go程序编译的关键知识
所属栏目:[语言] 日期:2021-12-07 热度:181
调研了一下某个做 APM 的厂商的 Go 探针程序,说是引入一个包,全程不用再修改其他代码就能在项目里引入探针。没想到在刚引入包试着构建了一下就翻车了。 main.go:10:2: build constraints exclude all Go files in /xxx/github.com/xxx/agnet/xxxx 编译器编[详细]
-
C# 多线程使用Parallel.ForEach并行循环,真的能提升效能?
所属栏目:[语言] 日期:2021-12-07 热度:129
Parallel类是.NET 4中新增的抽象线程类。Parallel.For()方法类似于C#的for循环语句,也是多次执行一个任务。但是使用Parallel.For()方法,可以并行运行。微软的并行运算平台(Microsofts Parallel Computing Platform (PCP))提供了这样一个工具,让软件开发人[详细]