大家好,今天小编关注到一个比较有意思的话题,就是关于java语言开源的问题,于是小编就整理了3个相关介绍Java语言开源的解答,让我们一起看看吧。
什么叫开源,都说JAVA是开源的?
开源就是开放程序源代码。就是把程序源代码发放出来,让程序的用户可以获得。
编程语言本身没有开不开源的问题。开不开源的是把语言编译成可执行程序的编译器或者是执行这种语言写的脚本的解释器软件。
也有编译j***a的编译器是不开源的。当然,常用的j***a的编译/解释器都是开源的。
所有常见的编程语言,像C, C++, Basic, Pascal, Php, python等等都有开源的编译器或解释器。
对自己懂编写软件的语言的用户而言,水平高的可以对软件做修改以满足自己的特殊需要。水平低的可以学习。
因为软件有很多人知道源代码,有问题也容易发现。其它不懂编程的用户也相对放心一点。
对于软件编写者而言,他有可能得到看他软件源代码的高手的指导,别人也可能帮他发现软件中的问题,甚至有人帮他修正源程序中的错误。
国内有什么好的J***a开源支付系统?
随着产业的发展,越来越多的人进行网络支付。说到网络支付,在国内到有几款开源的支付系统。
1.龙果开源支付系统。它是国内最早的一款开源支付项目。目前支持微信支付,支付宝支付。支持直连和间连两种支付模式,根据个人需要,进行选择。且在***有教学视频,有详细的开发文档,还可以进行在线支付的演示。这款系统荣获过各种奖项。是一款很不错的支付系统。
2.XxPay分布式开源聚合支付系统
此款项目除了支持微信,支付宝支付外,还支持京东,银联等支付。它具有微服务,易于二次开发,多种架构等特点。此系统主要为中小型公司服务。此系统是由J***a语言开发,代码完全开源。具体细节可去***查看其开发文档。
3.虽然以上两种系统均为开源系统,但支付项目与大量金钱有关。如果开源系统造成了一些损失,也没有好的方法进行弥补。所以我建议你们可以自己团队去对接支付宝以及微信接口,我原先的公司我师父一个人从开始申请接口到调通运行接口大概用了半个月的时间(现在的花时间应该更短),支付宝,微信接口的费用大概是每年300元。
希望我的回答对你有用。
net Core已经开源好几年了, 为什么不像JVM那样很多人研究和调优其GC算法?
优化肯定是需要的,再好的程序都是有优化空间的。只是现在dotnet平台上目前缺少大型的应用。正常的业务场景下,难以达到框架性能的瓶颈。
dotnet 虽然开源了,但是开源太晚。要是早几年,在Android兴起之前,在大数据兴起之前,现在还会是这般场景吗。眼看着国内的大企业一波波地转向了J***a和其他语言,作为一名dotnet程序员心里是大大的不甘心。
dotnet 在语言层面相比 J***a 有太多优势,J***a 新版新增的一些语言特性也都是照抄的 dotnet。但即便是这样,依然是叫好不叫座。
开源太晚,错过了几波行业发展红利。以至于现在,大数据领域缺 Hadoop,搜索领域缺 Elasticsearch ,移动端虽有xamarin,但依然是鸡肋般的存在。要是有这些杀手级应用在,dotnet 生态肯定会繁荣起来,向着更强的方向优化。
还能说什么呢,只能期望即将到来的dotnet 5 能一统现在混乱的局面,发挥好自己的特长,繁荣dotnet的生态环境。
我们已经上线了好几个.net core的项目,基本上都是docker+.net core 2/3。说实话,
.net core的GC非常的优秀,基本上不需要像做J***a时候,还要做很多的优化。因此没有多少人研究很正常。换句话,如果一个GC还要做很多优化,这肯定不是好的一个GC。当然平时编程的时候,常用的非托管的对象处理等等还是要必须掌握的。
这和国内的开发环境有很大关系。
一方面,这里有个路径依赖的问题,这个问题在国内尤为突出。这几年,国内其他语言的开发者多一些,生态好一些,转换则意味着成本。
另一方面,浮躁之风过盛,拿来主义盛行。这里举两个例子来说明。一个是国产操作系统的内核问题。为什么要[_a***_]linux内核而不是重新写一个呢?给出的理由无非是linux生态好,稳定,没有必要进行重复制作。真的没必要吗?那国外为什么流行要用rust重新写几个,而且开源呢?“没必要”是***,“不想”才是真,毕竟基础建设周期长,成本高,没有拿来主义好呀。另一个例子是最近matlab在国内停止授权的事情。在这件事情上,很多人都觉得问题不大,问题不大的原因在于还有一个开源的scilab可以拿来用。
举这两个例子,也许不太妥切,但是,管中窥豹,略见一斑,也足以说明时下的浮躁氛围了。
既然这里说到net core底层问题,今年新出的《.NET Core底层入门》,也许值得一读。这是国内的研究者写的,从中可以看出国内在这方面的进展,也说不定。总而言之,虽然net core已经开源了几年,但是在国内,开发者的成长和生态的建设,还需要更长的时间。
不只是netcore,golang,rust等等很多语言都没有好多人研究gc,所以这个问题应该问,为什么jvm会有很多人研究。
简单的回答是,jvm的历史负担太沉重,J***a社区对jvm的改进十分的保守,新的特性必须要保持向下兼容,导致只能从gc入手优化性能。而netcore不一样,微软主导的netcore社区对clr的改进激进的多,新特性很多情况下是不会向下兼容的,性能优化可以在clr中解决掉,自然就不会过多关注gc了
很简单:没有关键业务跑在 net core 上。
曾经,jd 业务用 .net,但几年后就全换成 J***a 了。这足以说明问题了。
像 zhihu 这种小厂,开始用 Python,业务量大了之后就转 golang ,而不是转 net core 。足以说明问题了。
有人说,netcore 如何如何好,根本不用自己优化……。实际上根本没达到极限,不到优化的时候。
到此,以上就是小编对于j***a语言开源的问题就介绍到这了,希望介绍关于j***a语言开源的3点解答对大家有用。