从Go语言实现模板设计模式浅谈Go的抽象能力

首先抛出一个观点,那就是Go的抽象能力的确不如Java这种严格的OOP语言强。具体表现之一就是模板模式的实现。 模板的实现 模板模式是OOP编程中的一把神兵利器,用好了能够提高代码的复用程度,大大提高开发效率。例如,我们可以在父类中定义完成一个任务的几个步骤并分别给出一个默认实现,然后子类继承父类,子类只需要重写自己感兴趣的方法即可,剩余逻辑都可以复

  • 0
  • 3
  • 发布于 2020-01-09 21:51
  • 阅读 ( 458 )

想进大厂?50个多线程面试题,你会多少?(一)

最近看到网上流传着,各种面试经验及面试题,往往都是一大堆技术题目贴上去,而没有答案。 不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题

  • 0
  • 3
  • 发布于 2019-08-27 15:11
  • 阅读 ( 12059 )

Android 利用OpenCV 的Stitcher做全景图片拼接(支持平面和球面)

开发项目中遇到一个需求就是用手机按照顺序拍几张图片然后将图片拼接成一张全景的照片百度了一下看到OpenCV 的Stitcher工具支持全景图片拼接于是研究了一下OpenCV 花了差不多一周时间才研究出来呕心沥血的成果分享给大家 本篇文章将带给大家的知识点: (1).Windows上利用AndroidStudio进行ndk编译 (2).使用静态库的方式导入OpenCV(生成的包更小,传统的导入方式需要java的m

  • 0
  • 3
  • 发布于 2019-08-25 13:11
  • 阅读 ( 268 )

阿里部分面试题汇总,对想进阿里的同学非常实用

一、JVM与性能优化 描述一下 JVM 加载 Class 文件的原理机制?什么是类加载器?类加载器有哪些?什么是tomcat类加载机制?类加载器双亲委派模型机制?Java 内存分配?Java 堆的结构是什么样子的...

  • 0
  • 3
  • 发布于 2019-06-27 17:15
  • 阅读 ( 49027 )

支撑马蜂窝「双11」营销大战背后的技术架构

(马蜂窝技术原创内容,公众号ID:mfwtech) 引言 消费者的狂欢节「双11」刚刚过去。在电商竞争环境日益激烈的今天,为了抓住流量红利,双11打响的已经不仅仅是「促销战」,也是「营销战」,这对平台的技术支撑能力提出新的要求。 从2014年的「318大促」,到正在进行的「马蜂窝双11全球旅行蜂抢节」,马蜂窝旅游电商业务的大促已经走过5年时间,仅仅是双11、暑期、十一黄金

  • 0
  • 2
  • 发布于 2019-11-16 22:47
  • 阅读 ( 219743 )

学术论文参考文献格式

参考文献格式应符合GB7714-1987《文后参考文献著录规则》 欢迎点击查看我的博客原文 参考文献的类型 根据GB3469-83《文献类型与文献载体代码》规定,各类常用文献以单字母标识: M:专著 C:论文集 N:报纸文章 J:期刊文章 D:学位论文 R:研究报告 S:标准 P:专利 A:专著、论文集中的析出文献 Z:其他未说明的文献类型 电子文献类型以双字母作为标识: DB:数据库 CP:计算机程序 EB:电子

  • 0
  • 2
  • 发布于 2019-09-05 20:13
  • 阅读 ( 289 )

千万级规模高性能、高并发的网络架构经验分享

千万级规模高性能、高并发的网络架构经验分享 主题 :INTO100沙龙时间 :2015年11月21日下午地点 :梦想加联合办公空间分享人:卫向军(毕业于北京邮电大学,现任微博平台架构师,先后在微软、金山云、新浪微博从事技术研发工作,专注于系统架构设计、音视频通讯系统、分布式文件系统和数据挖掘等领域。) 架构以及我理解中架构的本质 在开始谈我对架构本质的理

  • 0
  • 2
  • 发布于 2019-08-27 21:33
  • 阅读 ( 19794 )

golang接口使用说明与经典案例

接口在golang中使用的特别多,在此加以简单的总结: golang接口使用说明: (1)空接口(没有任何方法的接口)可以看成是万能数据类型,可以接收任意类型的数据;如果是包含方法的接口,给该接口赋值,对应的值对象需要实现该接口的所有方法才可以。  (2)接口本身不能创建实例,但是可以指向一个实现了该接口的自定义类型的变量(实例) (3)接口中的所有方法

  • 0
  • 2
  • 发布于 2019-08-27 18:02
  • 阅读 ( 231 )

阿里云基于 Go 的微服务架构分享

作者介绍 花名聪心,阿里云技术专家,主要负责阿里云OpenAPI,Services architectre技术服务的实现。 云产品前端架构 众所周知,阿里是以Java开发为主,最近引用GO在微服务架构上面进行开发,本次分享也是围绕这个主题进行叙述。 图1 图1所示,是我们最早期的前端微服务架构图,当时不存在API网关服务、天象全链路监控以及外部服务这几个模块,并且蓝色这部分也并没有被应

  • 1
  • 2
  • 发布于 2019-08-27 16:00
  • 阅读 ( 13043 )

为什么要学习Go语言

为什么要学习Go Go是未来的服务端语言— TobiasLütke,Shopify。在过去的几年中,Golang逐步流行起来。还有什么能比一门新语言让码农们疯狂呢?因此,我开始学习了一段时间Golang,在这里我将告诉你为什么你也应该学习这种新语言。在本文里我不会告诉你怎么写helloworld。我要分析计算机硬件软件的当前阶段,以解释为什么我们需要像Go这样的新语言? 硬件限制 摩尔定律正在失

  • 0
  • 2
  • 发布于 2019-08-27 11:34
  • 阅读 ( 311 )

如何使用 Golang 日志监控你的应用程序?

你是否厌烦了那些使用复杂语言编写的、难以部署的、总是在不停构建的解决方案?Golang是解决这些问题的好方法,它和C语言一样快,又和Python一样简单。但是你是如何使用Golang日志监控你的应用程序的呢?Golang没有异常,只有错误。因此你的第一印象可能就是开发Golang日志策略并不是一件简单的事情。不支持异常事实上并不是什么问题,异常在很多编程语言中已经失去了其

  • 0
  • 2
  • 发布于 2019-08-26 20:04
  • 阅读 ( 302 )

java是否会被取代?Go会否给Java带来冲击?

根据最新的数据统计,Java和JavaScript主导了开发者,拥有大量忠实粉丝(开发者)。然而,随着更多的应用程序逐渐转移到云上,这种情况可能会发生变化。 当苹果公司和Facebook争相着去推出新的编程语言,以吸引开发者的想象力和创造力时,已经被证明可靠、屡试不爽的java语言作为开发者的首选语言,占据着至高无上的地位,有趣的是,虽然对Java的一般兴趣(类似c#、php)似

  • 0
  • 2
  • 发布于 2019-08-25 11:58
  • 阅读 ( 18864 )

Go语言中那些你未曾听说过的惊人优点

[译]Go语言中那些你未曾听说过的惊人优点2018-02-12Go中国在过去的几年里你可能多次听到Go这门编程语言。尽管它的历史能够追溯到2009年,但是在最近的几年它的人气才开始飙升。这篇文章并不介绍Go语言中那几个你经常看到的卖点。相反,我将向你展示Go里面那些微小但意义非凡的特性,这些特性只有你在决定尝试Go之后才能了解到。这些令人惊叹的特性在表面上看毫不起眼,

  • 0
  • 1
  • 发布于 2020-01-07 22:12
  • 阅读 ( 147 )

linux下云磁盘的分区与挂载总结(linux运维基础)

这篇文章主要介绍了linux如何永久挂载新硬盘和/etc/fstab配置文件的说明,磁盘格式化,磁盘管理、挂载新硬盘(linux下挂载磁盘和开机自动mount) 首先列出文件系统的整体磁盘空间使用情况。可以用来查看磁盘已被使用多少空间和还剩余多少空间。 df-h ​ lsblk 列出所有可用块设备的信息,显示他们之间的依赖关系 ​ 有一块3T的磁盘 vd

  • 0
  • 1
  • 发布于 2020-01-06 21:21
  • 阅读 ( 75 )

在 React 项目中引入 GG-Editor 编辑可视化流程

蚂蚁金服数据可视化团队曾经开源了一款G6-Editor,但后来停止了对外支持,学习成本太高 好在后来他们团队的大牛高力结合React+G6开源了一个GG-Editor(其实就是G6-Editor) 不过相关的文档还是太少,实际的使用依然是一个不断摸索的过程... 常见问题: https://github.com/gaoli/GGEditor/issues/130     一、引用GG-Editor 直接通过npm或yarn安装依赖&#1

  • 0
  • 1
  • 发布于 2019-11-17 16:23
  • 阅读 ( 243 )

reduce方法应用技巧

定义和用法 reduce()方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 注意:reduce()对于空数组是不会执行回调函数的。 浏览器支持 方法 Chrome Edge Firefox Safari Opera reduce() Yes 9.0 3.0 4 10.5 语法 array.reduce(function(total,currentValue,currentIndex,arr),initialValue) 基本用法 基本的数值运算,例如求和: varnum

  • 0
  • 1
  • 发布于 2019-11-17 12:57
  • 阅读 ( 169 )

作为阿里面试官,我究竟想问什么

原文链接地址:Nealyang/personalBlog 市面上有很多关于面试的文章,但是基本都是从应聘者的角度去分析问题的,从招聘官的角度去分享的着实不多。本文将从我的个人招聘经历分享下关于前端一面的一些思考和自己的感悟。以下所有感悟皆为笔者个人感悟,不代表任何。有不妥之处,欢迎指出 其实不得不说,找工作,真的七分实力,三分运气。不同的面试官有不同的看重点,

  • 0
  • 1
  • 发布于 2019-11-16 23:49
  • 阅读 ( 143 )

软件架构设计的七大原则

一、开闭原则(是面向对象开发中最基础的原则,它指导建立更加稳定灵活的系统)   开闭原则是对扩展和修改行为的一个原则,指的是软件中的函数、类、模块应该对扩展开放,对修改关闭。强调的是用抽象构建框架,用实现扩展细节。常用于解决的问题如:更新版本时,尽量在不修改源代码,但增加新功能。 二、依赖倒置   依赖倒置是指设计系统代码结

  • 0
  • 1
  • 发布于 2019-11-16 23:47
  • 阅读 ( 177 )

设计模式-建造者模式详解

一、建造者模式的概念   建造者模式属于创建型设计模式。   指的是将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。   建造者模式主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组

  • 0
  • 1
  • 发布于 2019-11-16 23:45
  • 阅读 ( 117 )

设计模式 - 七大设计原则(四)- 合成复用原则与设计原则总结

概述 简单介绍一下七大设计原则: 开闭原则:是所有面向对象设计的核心,对扩展开放,对修改关闭 依赖倒置原则:针对接口编程,依赖于抽象而不依赖于具体 单一职责原则:一个接口只负责一件事情,只能有一个原因导致类变化 接口隔离原则:使用多个专门的接口,而不是使用一个总接口 迪米特法则(最少知道原则):只和朋友交流(成员变量、方法输入输出参数),

  • 0
  • 1
  • 发布于 2019-11-16 23:44
  • 阅读 ( 65 )

精选优质文章、大厂面试题解读、社区微信小程序、扫一扫随时随地逛社区

逛一逛
社区小程序