-
Java 问题排查技术共享
所属栏目:[语言] 日期:2021-12-06 热度:69
问题排查 可从三个方面入手 知识:有些问题,思考一下就有答案,就像传说中多隆那样,回忆下就知道第83行代码有问题~ 工具:当然不是每个人都能做到过目不忘,也有可能这代码完全不是你写的,这时就需要靠工具来定位问题 数据:程序运行时产生的数据,也能[详细]
-
HashMap面试常见的六连问,你可以扛得住吗?
所属栏目:[语言] 日期:2021-12-06 热度:107
高手过招,招招致命 JDK1.8 中 HashMap 的底层实现,我相信大家都能说上来个 一二,底层数据结构 数组 + 链表(或红黑树) ,源码如下: /** * 数组 */ transient NodeK,V[] table; /** * 链表结构 */ static class NodeK,V implements Map.EntryK,V { fin[详细]
-
一文带你搞明白 Python 的输入输出
所属栏目:[语言] 日期:2021-12-06 热度:88
为什么要输入和输出? 无论是从 一开始的hello world,还是前面的各种例子,基本都是些自说自话,展示类的代码片段。只有能够接收用户输入,根据输入代码生成结果,并输出到屏幕上展示出来,才算一个较为完整,简单的程序。 input输入函数 获取用户输入,保[详细]
-
你,也许没完全搞懂 Java 泛型
所属栏目:[语言] 日期:2021-12-06 热度:92
今天我们来谈谈泛型。其实在初学的时候,我就对泛型有点蒙,因为看到有人说 Java 的泛型不是真的泛型,我搞不懂。 还有人说 Java 的泛型在实际运行时候会把类型给擦除了,我想着擦除是什么意思?为什么要擦除? 那把类型给擦除了为什么反射的时候还能得到泛型[详细]
-
值得收藏的 C# 策划模式套路之三
所属栏目:[语言] 日期:2021-12-06 热度:134
行为设计模式跟前两种模式从内容上是有区别的。行为设计模式更关注对象之间的通信,以及职责和任务的交互。 一、责任链 名称起得很明显, 就是一个链式的责任或任务。为什么要链式呢?是因为请求要沿着多个处理程序往后传递。一个任务,可能要分很多步,又不[详细]
-
Go 企业应用案例共享 Go 用于支付和奖励系统
所属栏目:[语言] 日期:2021-12-06 热度:121
Go 与其他编程语言的不同之处在于认知负载。你可以用更少的代码做更多的事情,这样可以更容易地推理和理解你最终编写的代码。 大多数 Go 代码最终看起来非常相似,因此,即使你使用的是全新的代码库,你也可以非常快速地上手并运行。 总的一句话,他们认为[详细]
-
Go 泛型 Maps 包正式释出,当下可用!
所属栏目:[语言] 日期:2021-12-06 热度:143
给大家带来一个关于泛型的新消息,那就是:在几天前,Go 泛型的配套标准库 golang.org/x/exp/maps 包已经正式提交,放出来了,可以使用。 cs.opensource.google 包代码如下: package maps func Keys[M ~map[K]V, K comparable, V any](m M) []K { r := mak[详细]
-
Java 如何校验两个文件内容是同样的?
所属栏目:[语言] 日期:2021-12-06 热度:52
如果两个文件的内容相同,那么它们的摘要应该是相同的。这个原理能不能帮助我们鉴定两个文件是否相同呢? Java实现文件摘要 带着这个疑问,我写了一个文件摘要提取工具类: /** * 提取文件 checksum * * @param path 文件全路径 * @param algorithm 算法名[详细]
-
C# 使用 Npoi 操作Excel文件,你明白了吗?
所属栏目:[语言] 日期:2021-12-06 热度:77
C#使用NPOI操作excel 将DataTable数据导入到excel中 /// summary /// 将DataTable数据导入到excel中 /// /summary /// param name=data要导入的数据/param /// param name=isColumnWrittenDataTable的列名是否要导入/param /// param name=sheetName要导入[详细]
-
用 Python 搞一个按键记录器
所属栏目:[语言] 日期:2021-12-06 热度:120
按键记录器,就你在电脑上的每个按键,都会被记录下来,可以进行操作追踪,当然了,你在网站上输入的用户名密码等敏感信息也会被记录下来。用 Python 实现这个可以说非常简单,不过这玩意请不要用在别人的电脑上,哈哈。 教程 pynput 模块可以帮助我们实现[详细]
-
看明白 Go 对象内部细节的神器
所属栏目:[语言] 日期:2021-12-06 热度:51
在调式 Go 程序时,我们经常想知道对象的内部数据是什么样了,以便掌握程序的运行情况。 一般有两种做法:对于简单的代码测试,我们可以通过fmt包来打印一些对象信息;在稍复杂场景下,可以利用调式器来完成,例如 GDB、LLDB 和 Delve 等。 但是,这两种做法[详细]
-
2021年游戏开发编程语言 Top10:C++、Java、C# 霸排行前三
所属栏目:[语言] 日期:2021-12-06 热度:125
近日,analyticsinsight 就出炉了 2021 年游戏项目开发编程语言 Top10,其中 C++、Java、C# 霸榜前三,还有不少编程语言都属于当下备受开发者欢迎的编程语言。 下面就附上本次 2021 年游戏项目开发上榜的编程语言 Top10 列表,一起来看看吧! C++ 作为一种高[详细]
-
学编程,到底挑选哪个语言比较好?
所属栏目:[语言] 日期:2021-12-06 热度:151
薪酬(划重点) 作为即将踏入职场的萌新,而且是入坑程序员的萌新们,选择一门高薪的编程语言作为以后的主要职业方向(即技术方向),这一点是非常重要的,而这一个编程语言的初始薪酬一定程度上反映了,当下及未来几年内的火爆程度,某种程度上也决定了你以后[详细]
-
一篇学会 Java 问题排查科技
所属栏目:[语言] 日期:2021-12-06 热度:133
问题排查 可从三个方面入手 知识:有些问题,思考一下就有答案,就像传说中多隆那样,回忆下就知道第83行代码有问题~ 工具:当然不是每个人都能做到过目不忘,也有可能这代码完全不是你写的,这时就需要靠工具来定位问题 数据:程序运行时产生的数据,也能[详细]
-
EasyC++,函数与语言链接性
所属栏目:[语言] 日期:2021-12-06 热度:97
想要追求更好阅读体验的同学,可以点击「阅读原文」访问github仓库。 const 关于const的含义和使用我们之前已经讨论过了,但const限定符对于默认存储类型是有影响的。 在默认情况下,全局变量的链接性是外部的,也就是说所有文件均可使用。但const全局变量[详细]
-
你只能用 split?试试 StringTokenizer,性能可以快 4 倍!!
所属栏目:[语言] 日期:2021-12-06 热度:65
分割字符串要使用 String 的 split() 方法,split 方法虽然深入人心,使用也简单,但效率太低! 其实在 JDK 中,还有一个性能很强的纯字符串分割工具类:StringTokenizer。 这个类在 JDK 1.0 中就推出来了,但在实际工作却发现很少有人使用,网上有人说不建[详细]
-
GET 和 POST请求的本质差别是什么?看完觉得自己太无知了
所属栏目:[语言] 日期:2021-12-06 热度:76
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。 你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常[详细]
-
介绍一个C++中很有用的设计模式
所属栏目:[语言] 日期:2021-12-06 热度:58
大家好,今天介绍一个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-06 热度:134
final 介绍 final 是 Java 语言中的一个关键字,使用 final 修饰的对象不允许修改或替换其原始值或定义。 final 可以用来修饰:类、方法、变量和参数,其中可以用来修饰参数这一项,容易被人遗忘,这是 final 的 4 种用法。 1.1 final 用法说明 当 final 修[详细]
-
六个常用的 Python 自动化脚本,你学会了吗?
所属栏目:[语言] 日期:2021-12-06 热度:116
每天你都可能会执行许多重复的任务,例如阅读 pdf、播放音乐、查看天气、打开书签、清理文件夹等等,使用自动化脚本,就无需手动一次又一次地完成这些任务,非常方便。而在某种程度上,Python 就是自动化的代名词。今天分享 6 个非常有用的 Python 自动化脚[详细]
-
透过一个编译报错,总结两个Go程序编译的关键知识
所属栏目:[语言] 日期:2021-12-06 热度:177
调研了一下某个做 APM 的厂商的 Go 探针程序,说是引入一个包,全程不用再修改其他代码就能在项目里引入探针。没想到在刚引入包试着构建了一下就翻车了。 main.go:10:2: build constraints exclude all Go files in /xxx/github.com/xxx/agnet/xxxx 编译器[详细]
-
C# 多线程使用Parallel.ForEach并行循环,真的能提升效能?
所属栏目:[语言] 日期:2021-12-06 热度:53
Parallel类是.NET 4中新增的抽象线程类。Parallel.For()方法类似于C#的for循环语句,也是多次执行一个任务。但是使用Parallel.For()方法,可以并行运行。微软的并行运算平台(Microsofts Parallel Computing Platform (PCP))提供了这样一个工具,让软件开发[详细]
-
在 Go 中运用 Dockertest 进行集成测试
所属栏目:[语言] 日期:2021-12-06 热度:120
进行集成测试(或系统测试)通常意味着让数据库填充数据,像 redis、elasticsearch 等,通常,我们的软件与之交互的任何基础设施都可以工作。 最常见的方法是复制我们的生产基础设施,其实用容器来实现还是比较容易的,比如 docker 容器。 我们可以为需要复制[详细]
-
Golang 语言编程使用接口有哪些益处?
所属栏目:[语言] 日期:2021-12-06 热度:197
在 Golang 语言中,接口类型定义了一组方法签名,接口类型的值可以保存实现了这些方法的任何值。 Golang 语言的接口是隐式实现的,它不像其他某些编程语言,使用 implements 关键字显式实现接口,Golang 语言没有 implements 关键字,一个类型只要实现接口[详细]
-
用例子来学会 Stream
所属栏目:[语言] 日期:2021-12-06 热度:83
引言 先从一个例子开始,看看为什么在Java8中要引入流(Stream)? 比如实现这么一个需求:在学生集合中查找男生的数量。 传统的写法为: public long getCountsOfMaleStudent(ListStudent students) { long count = 0; for (Student student : students) { if[详细]