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

只做二手奢侈品的网站漳州市芗城区建设局网站

只做二手奢侈品的网站,漳州市芗城区建设局网站,上海的公司地址有哪些,常用wordpress搭建环境概述 很多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.yayakq.cn/news/844271/

相关文章:

  • 网站几个关键词做网站设计用什么软件最好
  • 做拍福利爱福利视频网站免费建立网站步骤
  • wordpress虚拟商场如何优化培训体系
  • 如何在解决方案中新建网站网站栏目框架
  • 食品公司网站模板石家庄网站制作模板
  • 临淄网站推广创建网站目录权限
  • 网站聊天怎么做推广营销平台
  • 网站开发那家好工地接活应该去哪个平台
  • 企业网站托管外包方式国外模板wordpress
  • 北京网站ui设计公司wordpress添加媒体库
  • 网站视频源码地址网站建设的ppt模板
  • 小企业做网站怎么做温州网站建设方案报价
  • 内含各种专业的网站搭建模板潍坊网站建设推荐
  • 宜昌网站排名优化怎样构建自己的网站
  • 如何做静态网站外贸电商网站制作
  • 织梦 网站栏目管理wordpress友情链接推荐
  • 福州专业做网站免费找客户网站
  • 有没有专业做淘宝网站wordpress交流插件
  • 怎么做彩票网站的代理上海seo外包
  • 建设部网站资质公示网站页面设计报告
  • 网站模板有什么用重庆企业
  • 怎么建设国字形网站河南郑州网站制作公司
  • 铁道部建设监理协会网站广东建设厅官网证件查询
  • 重庆网站建设推广服务做网站增加流量
  • 晋城网站建设电话图片转二维码在线制作生成器
  • 响应式网站是个坑广告投放方案
  • 系部网站开发项目的目的嘉兴网红桥在哪里
  • 益阳网站建设方案做网签合同的网站是
  • 天马网络 网站建设泰安人才市场最新招聘信息
  • 如何做百度网站推广wordpress lens