1.go对比java

go通过结构体嵌套+接口实现类似面向对象中的继承和多态。个人认为尤其是go的接口抓住了多态的本质。而Go提倡的面向接口的思想也可能使得架构上更加解耦。

2.关于Go不要通过共享内存来通信,而应通过通信来共享内存的个人理解:

go通过channel来实现通信。按照大佬的说法,chan传递的是对数据的访问权限。chan底层是一个队列,传入时为值拷贝【如果传入的是指针则拷贝指针的值】,因此在map,slice,chan时理解为传递的对同一份数据的访问权限,即传入chan后不应在原goroutine中操作数据。而当传入其它类型时是真正的值传递,此时相当于内存拷贝了。这种情况下对比MQ,从某种意义上讲上都是通过数据拷贝来共享内存了,用数据的冗余使得结构上更加解耦同时使CPU能更充分的利用,仍然是尽可能压榨CPU的思想的体现。
正如Go官方所说的,Go更像面向21世纪的带网络和并发的C。使用了面向过程的结构体,加方法接收者,接口实现了类似面向对象需要的功能。

最新文章

  1. mybatis_开发篇
  2. ecshop后台 计划任务
  3. Android 学习 (一)
  4. SQL Server分布式数据库技术(LinkedServer,CT,SSB)
  5. 技术分享:WIFI钓鱼的入门姿势
  6. grep与find
  7. 收藏本网站兼容火狐IE
  8. 【CC评网】2013.第44周 把握每天的第一个小时
  9. PHP截取IE浏览器并缩小原图的方法
  10. dfa最小化,上一个版本采用的是moore的打表法,这个版本采用的是hopcroft的方法,但是实现中采用链表而不是栈来优化。
  11. C#实现对Word文件读写[转]
  12. Little shop of flowers - SGU 104 (DP)
  13. 内置在虚拟机上64位操作系统:该主机支持 Intel VT-x,但 Intel VT-x 残
  14. iOS UICollectionView 长按移动cell
  15. python IDLE中反斜杠显示为人民币符号¥的解决办法
  16. 201421123042 《Java程序设计》第9周学习总结
  17. js实现表格无缝滚动效果
  18. go chan 入门代码
  19. 洛谷[LnOI2019]长脖子鹿省选模拟赛 简要题解
  20. 新SQL temp

热门文章

  1. [LC] 142. Linked List Cycle II
  2. 为什么jdk1.8 HashMap的容量一定要是2的n次幂
  3. 4k高分屏下,chm帮助文档,api文档打开后字体过小的解决
  4. Archlinux安装与出现的问题
  5. caffe之mac环境下通过XCode调试C++程序
  6. 有用户及目录判断的删除文件内容的Shell脚本
  7. Java Servlet和Java Filter简介
  8. 导入项目@override 报错处理
  9. 8.2.2 使用Java8增强的Iterator遍历集合元素
  10. sms短信服务