《Java并发核心知识体系精讲【完整无密】》百度网盘下载

​Java并发编程精讲本门并发课程与市面上课程最大差异是:体系化,是并发编程“道”与“术”的解析。涵盖并发必须跨越的“三座大山”:多线程并发的8大核心基础+Java内存模型+并发场景下的“死锁”问题。“第一座大山”八大核心基础分为8个章节讲解,分而治之,逐个攻克,为翻越第二座大山“Java内存模型”做铺垫,最后一座大山“死锁”落点到常见的并发问题和企业级解决方案上,传授并发编程技巧,工作面试无忧。适合人群求职Java开发的小伙伴系统学习Java的在校大学生提升个人实力的的Java程序员任何一个希...阅读全文

Go语言中文网 2019-10-15 02:08:45 zhangnala

Golang 实现 批量 jpg png 格式图片转webp

随着需求的增加,App 体积逐渐增大,精简App的最简单便捷的办法就是从资源文件(icon)入手. 谷歌推出的WEBP是个很好的选择,所以,我们需要把项目中用到的资源文件(icon)转换成webp格式 WebP是一种现代图像格式,可为Web上的图像提供出色的无损和有损压缩。使用WebP,网站管理员和Web开发人员可以创建更小,更丰富的图像,从而使Web更快。 与PNG相比,WebP无损图像的尺寸要小26%。在同等的SSIM质量指标下,WebP有损图像比同类JPEG图像 小25-34%。 无损We...阅读全文

简书 2019.10.14 23:06:39 aside section . 等

链表表示数字相加 go语言版本

链表表示数字相加 go语言版本给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807package main import "fmt" import "strconv" import "reflect" type ListNode struct {...阅读全文

51CTO博客 2019-10-14 21:59:53 雷顿学院

Go使用SWIG调用C/C++代码快速入门

简介 SWIG是一个软件开发工具,它将用C和c++编写的程序与各种高级编程语言连接起来(为其他需要生成库)。 准确地说,SWIG生成了两个文件,一个文件是_wrapper.cpp文件,一个是.go文件。*_wrapper.cpp文件将C++接口封装为C接口。go文件通过上一节说的import "C"来引用C接口,并把对这些C接口的调用,封装为不涉及任何C特性的Go函数或方法。 Demo Go使用SWIG的例子 参考资料 项目地址 项目自带Examples 文档阅读全文

Segmentfault 2019-10-15 02:32:41 frank2020

Jaeger 全链路实战

链路追踪 当今互联网正在往微服务化发展,复杂的模块,繁琐的层级调度。数不清的机器,看不尽的日志,各样的语言开发,形形色色的团队。排查问题难上加难,这就导致了链路追踪的出现。今天来分享下实战 预期收益 1、一键查询上下游业务2、链路耗时实时性反馈 服务安装启动 首先去https://www.jaegertracing.io/download/ 下载对应操作系统镜像。本地测试的话 建议直接运行./jaeger-all-in-one如果是线上环境建议分开操作 Agent 我先简单说下 Agent是干什...阅读全文

Segmentfault 2019-10-15 02:32:40 xiaowei520

RocketMQ主从同步源码分析

微信公众号「后端进阶」,专注后端技术分享:Java、Golang、WEB框架、分布式中间件、服务治理等等。 之前写了一篇关于 RocketMQ 队列与 Kafka 分区副本的区别文章,里面提到了 RocketMQ 的消息冗余主要是通过主备同步机制实现的,这跟 Kafka 分区副本的 Leader-Follower 模型不同,HA(High Available) 指的是高可用性,而 RocketMQ 的HA机制是通过主备同步实现消息的高可用。 HA 核心类 HA 的实现逻辑放在了 store 存储...阅读全文

简书 2019.10.14 19:28:19 aside section . 等

golang之Json

1. json字符串解析: json.Unmarshal(b, &f) json字符串解析到结构体中: package main import ( "encoding/json" "fmt" ) type Server struct { ServerName string ServerIP string } type Serverslice struct { Servers []Server } func main() { var s Serverslice str := `{"servers"...阅读全文

简书 2019.10.14 19:53:01 aside section . 等

滴滴出行JAVA面经

自我结束+项目介绍Http的请求方法http三次握手四次挥手,为什么这么设计?http与https区别UDP 和 TCP 的区别滑动窗口说一下?作用以及流程?数据库索引索引在使用时有哪些原则数据库的隔离级别B+树 B树的区别MyISAM,InnoDB你说一下redis数据结构跳跃表说下剑指offer 二叉树的按层遍历线程池如何使用,参数说明锁:悲观锁和乐观锁:有什么区别数据库的共享锁,互斥锁说说Netty怎么用数据库分表怎么做的滑动窗口说一下?作用以及流程?进程切换?java线程切换?协程知道吗...阅读全文

简书 2019.10.14 20:09:35 aside section . 等

Go 模块存在的意义与解决的问题

作者:William Kennedy | 原文:Modules Part 01: Why And What 最近,我在尝试整理一篇关于 Go 包管理发展历史的文章,希望能加深自己对这一块知识的认识。在搜集资料的时候,发现了这篇文章,顺手翻译了一下。 本文是该系列的第一篇,主要介绍包依赖管理中一些基础知识。文中提出了 Go 开发中的三个痛点,如何解决只能在 GOPATH 指定路径开发,如何实现有效的版本管理,以及如何支持 Go 原生工具集依赖管理。针对它们,Go Module 都提供了相应的解决方...阅读全文

掘金 2019年10月14日 波罗学

Go Module 存在的意义与解决的问题

作者:William Kennedy | 原文:Modules Part 01: Why And What 最近,我在尝试整理一篇关于 Go 包管理发展历史的文章,希望能加深自己对这一块知识的认识。在搜集资料的时候,发现了这篇文章,顺手翻译了一下。 本文是该系列的第一篇,主要介绍包依赖管理中一些基础知识。文中提出了 Go 开发中的三个痛点,如何解决只能在 GOPATH 指定路径开发,如何实现有效的版本管理,以及如何支持 Go 原生工具集依赖管理。针对它们,Go Module 都提供了相应的解决方...阅读全文

Segmentfault 2019-10-15 02:32:41 波罗学

golang之channels

以下是web application with golang 书里的笔记。 1.channels 和 Buffered Channels channels channel是goroutine之间通信的一种机制。 定义方式如下: ci := make(chan int) cs := make(chan string) Buffered Channels channel 还可以定义缓冲区大小,比如: ci := make(chan int, 2) 存取数据 使用<-来存入/获取数据,箭头方向代表数据...阅读全文

简书 2019.10.14 17:57:45 aside section . 等

Uber Go 风格指南(译)

博客地址:note.mogutou.xyz/articles/20… Uber Go 风格指南 译文:github.com/Allenxuxu/u… 原文:github.com/uber-go/gui… 简介 风格是指规范代码的共同约定。风格一词其实是有点用词不当的,因为共同约定的范畴远远不止 gofmt 所做的源代码格式化这些。 本指南旨在通过详尽描述 Uber 在编写 Go 代码中的注意事项(规定)来解释其中复杂之处。制定这些注意事项(规定)是为了提高代码可维护性同时也让工程师们高效的使用 ...阅读全文

掘金 2019年10月13日 惜朝_

使用纯python单次循环和pandas多次循环哪个会更快?

[纯python和pandas速度比较] [一百万数据做测试, 六个统计量] [或许多计算几个不是放到list里再计算一遍会更快点? 算了, 反正纯python太慢都用pandas了, 不再测试了] [那么多几个统计量呢? 比如20个? 30个? 会有追平的情况么?] [是只有基本类型会这样还是所有的统计都是pandas快?] [尝试使用纯python多次循环, 单次循环与pandas对比, go 单次与多次循环对比] 纯python和pandas速度比较 有个数据分析的任务, 本来打算用pan...阅读全文

简书 2019.10.14 15:53:45 aside section . 等

Go语言之基准测试

在Go语言中,提供了测试函数性能(CPU和Memory)的测试方法,基准测试。基准测试主要用来测试CPU和内存的效率问题,来评估被测代码的性能。测试人员可以根据这些性能指标的反馈,来优化我们的代码,进而提高性能问题。本篇文章主要来介绍,基准测试的使用方法和性能指标的分析。1. 使用规则如下所示: 1.基准测试的代码文件必须以_test.go结尾。 2.基准测试的函数必须以Benchmark开头。 3.基准测试函数必须接受一个指向testing.B类型的指针作为唯一参数。 4.在测试执行之前,需要...阅读全文

简书 2019.10.14 17:25:08 aside section . 等

用Python写爬虫就很low ? 你赞同嘛 ?

之前换了份工作,不再是单纯的Web开发了,要学习的东西真的挺多的。入职的第1天,就让我入手写个爬虫,只是这个爬虫没有采集几个亿数据量的业务场景。于是,整理了下需求,简单的设计了下方案就草草开始了。小B是我大学时候的舍友,那天这哥们约我吃饭,想看下能否顺带介绍几个妹子。酒过三巡,不胜酒力,于是便聊起了最近的工作。当他知晓我竟然在写爬虫,便起了怜悯之心,觉得我怀才不遇。仿佛写爬虫是件很低级很low的技术活。在他那家公司,招进来的实习生就多多少少会点爬虫,什么nodejs、golang,哪个不是爬虫的...阅读全文

简书 2019.10.14 14:44:20 aside section . 等

互融云数字货币永续合约交易系统搭建-永续合约交易APP出售

互融云数字货币永续合约交易系统搭建-永续合约交易APP出售永续合约是一种不会进行最终交割的期货合约,目前的主要形式是滚动合约,当日结算并自动展期,并由多头向空投支付资金费用。互融云作为国内领先的数字资产交易所系统开发商,用实际行动践行着安全创新可信赖的理念,前进的脚步从不停歇。在合约产品上,凭借着深厚的底蕴经验加完美的交易机制,互融云合约交易系统已经成为企业手中必不可少的亮点产品,永续合约交易系统便是其中之一:1)系统特点经过多轮测试,保证了K线的稳定性永续合约采用的是springboot提供微...阅读全文

简书 2019.10.14 15:16:54 aside section . 等

golang 1.13 errors 包来了,不用写“err 气功波”代码

引 这篇是对 errors 包 的姿势挖掘 气功波错误代码 从 http.Get()返回的错误 判断 syscall.ECONNREFUSED 错误.以前要对 go 标准库 error 结构有点熟悉,才能写出下面的代码 func CmdErr(err error) { if err == nil { return } if uerr, ok := err.(*url.Error); ok { if noerr, ok := uerr.Err.(*net.OpError); ok { if sce...阅读全文

简书 2019.10.14 12:54:44 aside section . 等

golang中之strconv包

在编程过程中,我们常常需要用到字符串与其它类型的转换,strconv包可以帮我们实现此功能。 1.string -> int 使用方法:func Atoi(s string) (i int, err error) 测试代码: numStr := "999" num, err := strconv.Atoi(numStr) if err != nil { fmt.Println("can't convert to int") } else { fmt.Printf("type:%T value:%...阅读全文

简书 2019.10.14 10:45:54 aside section . 等