ZKX's LAB

用什么语言做项目好啊?MFC?C#?Java?(说明详细理由吧,搞掂了追加100分都可以) java c 非托管内存

2020-07-21知识11

现在开发JAVA后台,主要用哪些技术? 你系统有多大,你的技术就有多猛!就我们公司来看,使用JAVA开发后台服务用了下面这些东西!1,微服务框架:springboot和springcloud!包括eureka,zuul,hysrix,consul等等!2,数据库映射框架:mybatis!3,数据库连接池:druid!4,日志框架:slf4j!5,项目构建工具:maven!6,版本控制工具:svn和git!7,缓存:redis!8,消息系统:ons和kafka!9,工作流引擎:activiti!10,规则引擎:drools!11,微服务容器:docker!12,图片,文件等上传工具oss!13,持续集成工具:jinkens!14,原型图查看工具:Axure RP!15,后台服务模拟访问:postMan!16,脚本:shell或者python!17,语言:JAVA8!这些都是工作中用到的后端技术,可以说程序员都是全才啊!可能还有更多,未完待续.托管代码和非托管代码有什么区别 广义的说,托管代码就是集成在你所使用的开发平台内的编程语言。例如:目前最常见的.Net 运行库里集成了VC+,C#,VB,F#.等20多种语言的构件和处理功能。托管代码:托管“的含义就是,这些语言的后台(隐性的)操作都由这个管理系统(.Net)完成了,你把你的编程委托给了开发平台(库)来完成。当你使用这些语言时,一些系统资源的调用、回收、编译…各种工作都由它来完成,你只需要专注于程序功能的实现即可。非托管代码:就是指不在你这个集成开发环境里,而是使用其它的开发平台写出的程序(代码)。比如说java语言(不是jscript),basic语言(不是VB),C语言(不是VC/C++/C#)等等…它们也有自己的开发平台和程序,用这些语言写出的程序就属于”非托管。当非托管的代码在你的托管平台上运行时,你的托管平台就不能很好地处理一些后台(隐性的)操作,就需要编写额外的代码来使它们变得和谐并且安全。举个最简单的例子:C和汇编语言,它们是最早期进入计算机领域的高级语言(汇编已经不能算高级语言了:)),它们可以直接对CPU、内存、总线、I/O、硬盘等硬件进行操作(读/写),像DOS、Windows、iOs这些操作系统都是用它们写的。所以你在.Net集成环境中直接使用这些。.Net托管代码与非托管代码的区别是什么? 如果用简单的说法,托管代码是类似于Java那种伪编译代码,用JIT运行,非托管代码就是传统的编译代码。在.net中,C++和C#都可以两种代码同时混合编程,后者仍然可以使用指针。托管代码的运行,是程序在设备部署后第一次运行时进行优化编译(此编译器是针对设备和平台独特优化的,不是传统C/C++那种普遍型编译代码),此后不用再编译的,故只有在第一次运行时会显慢(提示正在准备首次运行),以后完全就是标准编译程序的效果(除非使用了反射等动态特性)。至于屡屡有人提到的GC问题,其实对内存的使用也是程序员自己可控的,熟悉C/C++的内存管理,也一样可以用于.net程序的预防,前者管理不好,内存碎片一样可以迅速耗尽系统堆资源,不要把自己掌控资源的能力想象得比GC的设计者高人一等,GC再差,管理能力也比市面上绝大多数程序员要强。托管代码与非托管代码的区别 其实整个.NET项目都是运行在.NET Framework上的托管代码,这个道理和JAVA虚拟机的机制是类似的。最简单的说呢,受托管的代码不能直接写内存,是安全的,而非托管代码是非安全代码,可以使用指针操作内存。一般的项目使用托管代码都行了,也就是说在程序里面不需要用到非安全代码。对于一些对速度要求高的部分功能可以考虑使用非安全代码,使用指针等读写内存,而对于真个项目来说还是受托管的安全代码。有关非安全代码的信息请查阅MSDN unsafe。如何评价王垠的 《讨厌的 C# IDisposable 接口》? 知乎“温赵轮”三大软狗之一。73 人赞同了该回答 有一半道理。其实IDisposable接口现在已经和非托管结构没必然联系了,其实就是一个释放资源的意思,例如需要unsubscribe。.NEt Framework的4个核心对象极其作用是什么? .NET Framework 旨在实现下列目标:·提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。提供一个将软件部署和版本控制冲突最小化的代码执行环境。提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致。按照工业标准生成所有通信,以确保基于.NET Framework 的代码可与任何其他代码集成。NET Framework 具有两个主要组件:公共语言运行库和.NET Framework 类库。公共语言运行库是.NET Framework 的基础。您可以将公共语言运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。这类似于Java的虚拟机。事实上,代码管理的概念是公共语言运行库的基本原则。以公共语言运行库为目标的代码称为托管代码,而不以公共语言运行库为目标的代码称为非托管代码。国内Java面试总是问StringBuffer,StringBuilder区别是啥?档次为什么这么低? 这么多赞,受宠若惊了。大家可以关注我的公众号:Hollis,和我交流。关注后,在后台回复:成神导图,可以…

#mfc#托管代码#运行库#c#

随机阅读

qrcode
访问手机版