Go语言中文网 为您找到相关结果 2150

advance magic in go?

<p>I like Go due to its simplicity and explicit, which making me wonder if there any magic (some sort of advance trick) similar to Java&#39;s reflection or bytecode manipulation.</p> <hr/>**评论:**<br/><br/>driusan: <pre><p>I&#39;m not sure what you&#39;re looking for exactly, but Go has its own r...阅读全文

资源 2016-08-31 21:00:02 polaris

面试必备!就凭借着这份Java 高频面试题,我拿下了阿里,字节的offer!

List 1. 为什么 arraylist 不安全? 我们查看源码发现 arraylist 的 CRUD 操作,并没有涉及到锁之类的东西。底层是数组,初始大小为 10。插入时会判断数组容量是否足够,不够的话会进行扩容。所谓扩容就是新建一个新的数组,然后将老的数据里面的元素复制到新的数组里面(所以增加较慢)。 2. CopyOnWriteArrayList 有什么特点? 它是 List 接口的一个实现类,在 java.util.concurrent(简称 JUC,后面我全部改成 juc,大家注意下)。 内部持有一个 ReentrantLock lock = new ReentrantLock(); 对于增删改操作都是先加锁再释放锁,线程安全。并且锁只有一把,而读操作不需要获得锁,支持并发。 读...阅读全文

博文 2020-06-02 17:32:50 前程有光

Can Go be a viable option for one-time-use scripts of the sort you might use Python for?

<p>I use Python basically every day for various tasks. In a lot of cases, it&#39;s for utility scripts that might process data files or modify a dataset so that it&#39;s easier to deal with, etc.</p> <p>For my master&#39;s thesis (in psycholinguistics), I&#39;ve written about 15,000 lines of Python so far across a...阅读全文

资源 2016-06-03 02:00:03 polaris

Fun GoLang Projects?

<p>What are some fun project where using GoLang is preferred?</p> <p>On a daily basis I work with .NET (through the whole stack), but have always loved Python. A few weeks back I started playing around with Erlang, for fun (I did some courses in the language during my university years). </p> <p>Recently I started loo...阅读全文

redis 基础数据结构

1 前言 Redis的5种数据类型(String,Hash,List,Set,Sorted Set),每种数据类型都提供了最少两种内部的编码格式,而且每个数据类型内部编码方式的选择对用户是完全透明的,Redis会根据数据量自适应地选择较优化的内部编码格式。 查看某个键的内部编码格式,使用命令object encoding keyname Reids的每个键值内部都是使用叫redisObject这个C语言结构体保存的,代码如下: type:表示键值的数据类型,也就是那5种基本数据类型。 encoding:表示键值的内部编码方式, #define OBJ_ENCODING_RAW 0 /* Raw representation */ #define OBJ_ENCODING_INT 1 /* E...阅读全文

博文 2019-12-17 18:32:48 LZhan

认识Java异步编程

一 、认识异步编程 通常Java开发人员喜欢使用同步代码编写程序,因为这种请求(request)/响应(response)的方式比较简单,并且比较符合编程人员的思维习惯;这种做法很好,直到系统出现性能瓶颈;在同步编程方式时由于每个线程同时只能发起一个请求并同步等待返回,所以为了提高系统性能,此时我们就需要引入更多的线程来实现并行化处理;但是多线程下对共享资源进行访问时,不可避免会引入资源争用和并发问题;另外操作系统层面对线程的个数是有限制的,不可能通过无限的增加线程数来提供系统性能;最后使用同步阻塞的编程方式还会导致浪费资源,比如发起网络IO请求时候,调用线程就会处于同步阻塞等待响应结果的状态,而这时候调用线程明明可以去做其他事情,等网络IO响应结果返回后在对结果进行处理。 可见通过增加单机...阅读全文

博文 2019-12-26 08:32:51 阿里云云栖号

顺时针打印矩阵

题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 示例1: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出: [1,2,3,6,9,8,7,4,5] 思路 1.这道题比较麻烦的就是边界值的界定,我们可以设置四个点的坐标来标识左上、左下、右上以及右下的位置。 2.我们可以通过二维数组的长和宽相乘获得数组内元素的个数,若数组内的元素没被遍历完成,就一直按照 左上-->右上,右上-->右下,右下-->左下,左下-->左上...阅读全文

博文 2020-01-13 13:32:44 youzhihua

五分钟学Java:如何才能学好Java Web里这么多的技术?

副本_未命名.jpg 原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者。 系列文章介绍 本文是《五分钟学Java》系列文章的一篇 本系列文章主要围绕Java程序员必须掌握的核心技能,结合我个人三年多的Java学习和工作经历,总结和沉淀下来的方法论,希望能让Java学习这件事变得更简单,作者目前在阿里做Java,忙里偷闲分享一些技术文章,有兴趣看本系列更多文章可以关注我的公众号【Java技术江湖】 系列文章将会把一些技术学习方法、过程、要领与我的学习经验相结合,更加浅显易懂,并且我也会把我学习时用的资料,书籍和文章拿出来分享给大家,节省你我的时间。所谓授人以鱼也要授人以渔,是本系列文章希望达到的目标。 本文思维导图 什么是Java Web 不知道Java Web这个词是从什么时候...阅读全文

博文 2020-03-05 03:32:48 程序员黄小斜

The Goroutine Model

<p>Hello, I&#39;m learning golang and I read that Goroutines are not real threads. The are managed and scheduled by the runtime, which makes them very efficient. So why don&#39;t other languages (e.g. Java) do this? Any downside of this model?</p> <hr/>**评论:**<br/><br/>Crast: <pre><p>There are other...阅读全文

资源 2017-08-23 17:00:16 blov

Golang的strings.go源码解析 - Rabin-Karp了解一下?

前言 strings包是我们经常在处理字符串的时候要用的,这次我们来看看它其中的一些方法具体是如何实现的。我就找到其中常用的几个方法,然后针对其中比较难的部分还有应用到一些特别算法的部分进行分析。 ToUpper 先来看个简单的ToUpper,将所有字符转换成大写。这个如果让我们自己实现也没有什么难度,就是遍历每个字符转换成大写就可以。 // ToUpper returns a copy of the string s with all Unicode letters mapped to their upper case. func ToUpper(s string) string { isASCII, hasLower := true, false for i := 0; i < len(...阅读全文

博文 2019-06-20 17:32:51 LinkinStar

JDK14初体验

JDK14也发布挺长时间了,从使用JDK8来,一直就没有动过升级JDK的想法,想想这种也不符合自己的风格,所以这次正好拿自己平时弄的一个项目试试手。 Test blocks 其实就是文本块,在之前用Golang、python的时候都使用过,这次总算可以在Java中也同样的使用了。 image.png 相对之前需要使用+拼接确实能省去一些输入量。 Pattern Matching for the instanceof Operator image.png 使用instanceof做match操作时,如果match上就可以把t传成match上的class,同时使用一个引用指向match上的对象。 Switch Expressions image.png 在switch中可以使用新的语法case ...阅读全文

博文 2020-06-02 19:32:45 潭州三哥

437.路径总和III

题目描述 给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。 示例 root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8 10 / \ 5 -3 / \ \ 3 2 11 / \ \ 3 -2 1 返回 3。和等于 8 的路径有: 1. 5 -> 3 2. 5 -> 2 -> 1 3. -3 -> 11 思路 既然题目中说明不超过1000个结点,可以使用一个长度为1000的数组,用于保存所有结点的值。 2.可以抽象理解为v...阅读全文

博文 2020-01-11 14:32:42 youzhihua

I love this language

<p>I just want to say, I&#39;ve been following the go language for a while now and I love it. I&#39;m a systems engineer who fell into software development and love doing it. I came from a matlab and python background so I&#39;m not the typical software developer, but I&#39;ve learned a lot. I&#39;ve heard the old guards&...阅读全文

Go入门系列(一)伊始

欢迎来到Golang入门系列,说起这个系列出现的缘由,1、Golang的潜力无疑;2、笔者希望把所有有价值的主流语言全学一遍。 首先,我们来明确下定位,Go始于07年,在09年开源,官方团队来自Google。 然后是最耐人寻味的一点,它是一门面向对象的or面向过程的语言? Yes and no. Although Go has types and methods and allows an object-oriented style of programming, there is no type hierarchy. The concept of “interface” in Go provides a different approach that we believe is easy ...阅读全文

博文 2020-02-24 21:32:58 RabbitMask

让我们一起啃算法---- 实现 strStr

实现 strStr(Implement-StrStr) 题干如下: 实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1: 输入: haystack = "hello", needle = "ll" 输出: 2示例 2: 输入: haystack = "aaaaa", needle = "bba" 输出: -1说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与C语言的 strstr() 以及 Java的 indexOf() 定...阅读全文

博文 2020-05-08 15:32:58 三斤和他的朋友们

两个链表的第一个公共结点

题目描述 输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) 思路 假设两个链表的第一个公共结点为c。 链表1可以表示为a+c,链表2可以表示为b+c。 可以通过a+c+b+c = b+c+a+c来快速求出c的值,若没有公共结点,那c便是null。 可以根据下图,简单理解下这个过程。 Java代码实现 public class Solution { public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) { ListNode p1 = pHead1; ListNode p2 = pHead2; while(p1 != p2){ p...阅读全文

博文 2020-02-27 12:32:41 youzhihua

给Java程序员的Go私房菜(二) Hello Golang

vscode 安装go环境 还是抵不住vscode的诱惑,我还是选择了它,但是由于国内网络环境,大部分插件还是安装失败,即使科学上网了,还是失败,但是我运气好,全部successful。但办法还是有的,把对应的vscode的go插件,下载下来直接放到gopath的bin目录下就可以了,具体操作我这里不详细解释了,直接传送门:vscode搭建go开发环境 GO的HelloWord 相信大家学习的每一门语言都是从HelloWord开始的吧。这里我们依旧这个规矩开始,首先回顾一下gopath目录 goworks //工作空间名,自己随便取(gopath目录) -- bin //golang编译后生成的可执行文件 -- pkg //golang编译时生成的中间文件(比如:.a)golang编译包时 ...阅读全文

博文 2020-03-19 11:34:28 HarryZhang6

构建更小Docker镜像的一些建议

背景: 前两天在群里看到有人提到说,自己构建了一个镜像,明明就只往base镜像中增加了tomcat,但是构建好的镜像大小最终却是两倍的tomcat包的大小,最后看到Dockerfile后才发现作者在把tomcat包拷贝进去之后,又使用RUN指令,执行了一次chmod a+x tomcat,我想说,这么搞镜像不大那是不可能的。另外一件事就是前段时间,同事说让搞一个公司级别的base镜像,要稳定并且尽量小,借着这两个事,和大家分享几点Docker镜像相关的事情。 首先,镜像的大小最终取决于如下几点: 1.业务需求和debug的便利性(比如科学计算和普通的java或者golang程序) 2.业务镜像构建的依赖特性(构建过程和交付物的依赖关系) 3.交付物的定义过程(Dockerfile分层过程中的...阅读全文

博文 2020-03-22 22:32:47 BGbiao

探索 Go 语言数据类型的内部实现

向新程序员讲解 Go 语言的时候,必要的是解释 Go 各种数据值在内存中的组织来给他们建立正确的思想,知道哪些操作是开销昂贵的,哪些是不昂贵的。这篇文章就是关于基本类型,结构,数组和切片的内部实现原理。基本类型让我们从一个简单的例子开始​图1 变量 i 的类型是 int, 在内存中用一个32比特位的字来表示。j 的类型是 int32 ,由于显示类型转换。即使 i 和 j 由相同的内存布局,他们本质上还是不同的类型:在 Go 中直接 i = j 赋值将会产生一个错误,我们必须显示的转化 j,i = int(j)。 值 f 的类型是 float,在内存中用 32 比特位的浮点值格式表示,它和 int32 有相同的内存使用量但是内部布局是不同的,感兴趣的可以去了解一个浮点数如何在内存中表示。结构体...阅读全文

使用 MaxCompute(原ODPS) java sdk 运行安全相关命令

摘要: 使用 odps console 的同学,可能都使用过 odps 安全相关的命令。 转自zhenhong 使用 MaxCompute console 的同学,可能都使用过 odps 安全相关的命令。官方文档上有详细的 odps [安全指南](https://help.aliyun.com/document_detail/27924.html?spm=a2c4e.11153959.blogcont62331.18.297126631sJdNX),并给出了[安全相关命令列表](https://help.aliyun.com/document_detail/27939.html?spm=a2c4e.11153959.blogcont62331.19.297126631sJ...阅读全文

Is it reasonable to use Go as a backend among other backend languages?

<p>With the nature of concurrency and low-level, it is tempting to make an backend API server with Go Lang and do some computation. However, I see that the problem for Go is not a &#34;big&#34; community and limited number of libraries. Should I transition to Go, or just wait? Any opinion is welcome!</p> <hr/>**评论:**<br...阅读全文

资源 2017-09-02 16:30:03 xuanbao