当前位置: 首页 > news >正文

推荐做幻灯片搜图网站广州抖音seo

推荐做幻灯片搜图网站,广州抖音seo,效果图网站源码,在线网页爬虫工具概述 很多Java开发如果想转Golang的话,比较让Java开发蛋疼的第一是语法,第二是一些思想和设计哲学的Gap,所以我这儿强行整理一波Java和Golang的对比,但是由于GO和Java在很多方面都有不同的设计,所以这些对比的项可以更…

概述

很多Java开发如果想转Golang的话,比较让Java开发蛋疼的第一是语法,第二是一些思想和设计哲学的Gap,所以我这儿强行整理一波Java和Golang的对比,但是由于GO和Java在很多方面都有不同的设计,所以这些对比的项可以更好的让Java开发理解是什么。

主题和概念对比

Go 概念/主题Go 示例Java 对应Java 示例
调试源代码使用 delve 等调试器进行调试使用 IDE 或 JDB 进行调试在 Eclipse、IntelliJ 等 IDE 中设定断点或使用 jdb 命令行工具
编译过程go build 命令编译 .java 文件到 .class 文件使用 javac ClassName.java
词法分析和语法分析go/parser 包ANTLR, JavaCC 等库使用 ANTLR 生成的解析器解析代码
类型检查go/types 包Java 编译器自带的类型检查编译过程中自动完成
中间代码生成Java ByteCode 是中间表示形式使用 javac 编译时自动生成
机器码生成Go 编译器生成机器码JVM 执行 Java ByteCode 生成机器码JVM 在运行时完成
数组var a [5]intJava 数组int[] a = new int[5];
切片var s []intList 接口实现类,如 ArrayList
[学习链接](逐步学习Go-集合(Arrays, Slices,Map,Set))
List<Integer> s = new ArrayList<>();
哈希表map[string]intMap 接口实现类,如 HashMapMap<String, Integer> m = new HashMap<>();
字符串var str stringString 类String str = "example";
函数调用func callFunction(a int) {}Java 方法调用public void callFunction(int a) {}
接口type Reader interface { Read(p []byte) (n int, err error) }Java 接口interface Reader { int read(byte[] p) throws IOException; }
反射reflect 包java.lang.reflect 包使用 Class.forName() 等方法
for 和 rangefor i, v := range slice { ... }for-each 循环for (Type v : iterable) { ... }
select (多路复用)select { case <-ch1: ... case <-ch2: ... }
学习链接
N/A无直接对等,可使用 Selector 和 NIO
channelch := make(chan int, 1)
go channel可以认为是同步和队列,无缓冲为同步,有缓冲为队列。 学习链接
BlockingQueueBlockingQueue q = new ArrayBlockingQueue(1024);
协程(goroutine)go func(){println("hello world")}(), 轻量级线程,学习
Virtual Thread, JDK 19引入, Thread thread = Thread.startVirtualThread(() -> {
defer (延迟执行)defer fmt.Println("done")try-finallytry { ... } finally { System.out.println("done"); }
panic 和 recoverfunc() { defer recover(); panic("error") }()抛出异常和捕获异常try { throw new Exception("error"); } catch (Exception e) { ... }
make 和 new (内存分配)make([]int, 0) 和 new(int)new 关键字,以及集合类的构造器new int[0] 和 Integer i = new Integer(0);
上下文 Contextcontext 包无直接对等,可以创建自定义类或使用线程本地变量使用 ThreadLocal<T> 存储上下文相关数据
同步原语和锁sync 包中的 Mutex 和 WaitGroupjava.util.concurrent 包中的 Locks等ReentrantLock 和 CountDownLatch 类
定时器time.After 和 time.NewTickerjava.util.Timer 和 ScheduledThreadPoolExecutorTimer 和 ScheduledExecutorService
Channel (协程间通信)ch := make(chan int)java.util.concurrent 中的 BlockingQueueBlockingQueue<Integer> queue = new LinkedBlockingQueue<>();
调度器Go 语言运行时调度器Java 线程调度器(JVM运行时管理)JVM负责线程调度
网络轮询器net 包NIO 的 SelectorSelector selector = Selector.open();
系统监控runtime 和 expvar 包JMX (Java Management Extensions)使用 MBeanServer 监控应用
内存分配器Go 语言运行时内存分配JVM内存分配JVM自动管理
垃圾收集器Go 语言的垃圾收集器JVM 的 GCJVM自动管理,可以使用 -XX:+UseG1GC 等JVM参数
栈内存管理Go 语言运行时栈管理JVM栈管理JVM自动管理
插件系统plugin 包OSGi 或者自定义 ClassLoader使用 OSGi 框架
代码生成go generate 和 AST 操作Annotation Processing Tool (APT)使用 Java 注解处理器生成代码
JSONencoding/json 包org.json 或 Jackson 等库使用 Jackson 的 ObjectMapper
HTTPnet/http 包java.net.HttpURLConnection 或 HttpClient使用 HttpURLConnection 或 Apache HttpClient
数据库database/sql 包JDBC使用 java.sql.Connection 等类
GinWeb框架Spring Boot
BeegoWeb框架Spring Boot
OOPinterface/ struct, Go中interface是一个类型,接口定义方法,struct只要实现了interface定义的所有方法就实现了这个interface 学习链接interface / classJava直接定义一个接口,一个class implements 接口,比如: class Person implements Human
sync.WaitGroup等待一组操作完成的同步原语
学习链接1
学习链接2
CountDownLatch, CyclicBarrier,Semaphore
sync.Once整个应用声明周期中只执行一次
学习连接
AtomicBooleanJava中没有直接对应,但是根据sync.Once的底层实现,其实就是原子变量+锁来保证的,所以使用AtomicBoolean来对应是没有问题的
sync.MutexReentrantLock
sync.RWMutex读写锁ReentrantReadWriteLock
http://www.hengruixuexiao.com/news/53659.html

相关文章:

  • 北京中国建设工程造价管理协会网站宁波seo外包引流推广
  • 网站百度不到痘痘怎么去除效果好
  • 拖拽网站怎么做的seo推广培训课程
  • 汤阴做网站网站seo重庆
  • 电脑记事本做网站网站统计哪个好用
  • 营销策划与运营的书淘宝网站的推广与优化
  • 多语言网站 自助seo的形式有哪些
  • 广州网站开发外包公司北京网站建设优化
  • 常德政府采购网官网晋中网站seo
  • 网站的开发工具有哪些曹操博客seo
  • 沧州营销型网站建设环球资源网官方网站
  • 公司网站建设大概多少钱seo免费优化工具
  • 网站独立店铺系统搜狗推广开户
  • 信息门户网站是什么青岛百度竞价
  • 俄语网站建设公司google推广公司
  • 大型的网站建设千锋教育培训机构可靠吗
  • 做网站需要vps吗免费网站安全软件下载
  • 2015做哪个网站致富班级优化大师免费下载安装
  • 平板电脑 做网站开发上海百度推广公司
  • 白和黑人做网站河北seo公司
  • 做奢侈品网站有哪些站外推广
  • 珠海柏泰教育官方网站建设批量关键词排名查询工具
  • m开头的手机网站怎么做如何自建网站
  • 全国城建中心官方网站seo服务外包
  • 福州seo优化排名推广网站怎么优化排名的方法
  • 柳州市城市建设局网站百度应用商店官网
  • 域名停靠网站免费进入google推广及广告优缺点
  • wordpress 页面 权限做seo推广一年大概的费用
  • 有关网站建设的文章句子优化网站标题名词解释
  • 做网站一定要公司备案吗武汉大学人民医院精神卫生中心