Java和.NET(C#)的开发用到的技术对比总结

前言

声明:我指的是一般的Java和.NET(C#)的后台开发用到的技术总结

最近一直在应聘ing,楼主的项目还是.NET(C#)项目居多,Java项目相对少,在这也吐槽下,招.NET(C#)的公司实在是少的可怜,其实非常喜欢C#语法和VS宇宙第一编辑器的,虽然.NET Core口碑不错,但无奈于生态不如Java,所以发展的还是太慢了,介于此,秋招楼主投的还是Java技术后台的岗位居多,但遇到招.NET(C#)的公司还是心里一动,肯定要投一下的。

好了不水了,下面我从“大局观”的角度来比较一下一般的Java和.NET(C#)的项目后台用到的技术。以便在面试的时候可以系统的和面试官介(chui)绍(niu)下。

当然,由于是应对秋招,这里所说到的技术是非常初级,简单的。大牛级别的绕过忽略此文haha。

总结

开发

 1. 视图层技术

HTML,CSS,JS,AJAX,Tiles,Velocity,FreeMarker

 2. 持久层技术

 Java

Hibernate,Ibatis,Mybatis,DBUtils,SimpleJDBC等

 .NET(C#)

EF、Dapper、NHibernate(很多还有好多国产的,比如SqlSugar 、Chloe )

 详见:https://www.cnblogs.com/jackytang/p/9111980.html

 3. web框架

 Java

Spring MVC、Spring Boot 、Spring Cloud、Struts等

 .NET(C#)

WebForm、ASP.NET MVC(主流)、ASP.NET Core(跨平台)

 4. 包管理工具

 Java

Maven

 .NET(C#)

Nuget

 5. 日志框架

 Java

JDKLog、Log4J、LogBack、SLF4J、SLF4J

 详见此文:https://www.cnblogs.com/baizhanshi/p/7911123.html

 .NET(C#)

 Log4Net.dll:轻量级的免费开源.NET日志记录框架。

 Enterprise Library Log Application Black:微软企业库日志记录。

 Elmah:实现最流行的ASP.NET应用异常日志记录框架。

 NLog:是一个简单灵活的日志记录类库,性能比Log4Net高,使用和维护难度低。

 6. 版本控制 Git

数据库技术

 1. SQL语句

 2. 参数调优

操作系统

 1. 熟练掌握一种Linux系统,原理,Shell命令

 2. Windows操作系统基础必须了解下。 

服务器技术

 Java

 1. 熟练使用并理解一个Web应用服务器技术的原理(Tomcat)

 2. 熟练使用并理解一个Web服务器技术的原理(Nginx)

 .NET(C#)

 1. 熟练使用并理解一个Web应用服务器技术的原理(IIS+.NET Framework(开源之前))

 2. 熟练使用并理解一个Web服务器技术的原理(IIS、Kestrel)

注1:关于Web应用服务器和Web服务器技术可以读读这两篇文章:

http://www.cnblogs.com/dudu/p/dotnet-application-server.html

https://www.cnblogs.com/vipyoumay/archive/2017/08/31/7455431.html

注2:在这里我还要罗嗦几句,.Net 开源之后和之前还是有很大区别的,不懂。NET 技术的JAVA 同学想要转.NET 的还是直接转.NET Core吧(haha ,有么?)。

比如:

.NET的Web服务器:包括 IIS Express、Internet Information Services (IIS)、外部主机或自定义 Web 服务器

.NET Core的Web服务器:与ASP.NET不同,ASP.netCore使用的是自托管web服务器Kestrel,所以IIS目前对于ASP.netCore只充当转发请求的代理而已,反向代理到ASP.netCore就需要iis之前没有的模块称为:AspNetCoreModule,此模块包含在ANCM(官网说明:ANCM)中,下载地址:.NET Core Windows Server Hosting

缓存技术

1. 熟练使用并理解一种缓存技术(Redis, Memcache,EhCache)

非关系型数据库

2. 熟练使用并理解一种非关系型数据库(MongoDB)

.NET(C#)专用:

Microsoft Velocity:微软自家分布式缓存服务框架。 

EnyimMemcached:访问Memcached最优秀的.NET客户端,集成不错的分布式均衡算法。

中间件技术

Java

1. JMS:activeMQ和kafka

2. RPC: Dubbo

.NET Core

内在的中间件就有挺多了。

Authentication 提供身份验证支持 

CORS 配置跨域资源共享

Response Caching 提供缓存响应支持

Response Compression 提供响应压缩支持

Routing 定义和约束请求路由

Session 提供用户会话管理

Static Files 为静态文件和目录浏览提供服务提供支持

URL Rewriting Middleware 用于重写 Url,并将请求重定向的支持

设计模式

1. 了解并能够使用几种最主要的设计模式,这个是基础,必学

网络

1. 熟悉http,TCP协议等网络基础,必学

虚拟机

Java

Java虚拟机:

1. 熟悉jvm运行原理,内存分布

2. jvm参数调优

.NET(C#)


CLR 

公共语言运行时。

确切含义取决于上下文,但它通常指 .NET Framework 的运行时。 CLR 处理内存分配和管理。 CLR 也是一个虚拟机,不仅可执行应用,还可使用 JIT 编译器快速生成和编译代码。 当前的 Microsoft CLR 实现仅限 Windows。

CoreCLR

.NET Core 公共语言运行时。

此 CLR 是采用与 CLR 相同的基本代码生成的。 最初,CoreCLR 是 Silverlight 的运行时,专为在多个平台(特别是 Windows 和 OS X)上运行而开发。CoreCLR 现属于 .NET Core 并表示 CLR 的简化版本。 它仍是跨平台运行时,现包括针对许多 Linux 分发的支持。 CoreCLR 也是具有 JIT 和代码执行功能的虚拟机。

呃,好吧,就这么多了,希望博友们多多指点。 

最后感叹一句,秋招啊秋招,怎么这么难。

转载于:https://www.cnblogs.com/mhq-martin/p/9510765.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266269.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python测试用例管理模块_python-selenium并发执行测试用例(方法一 各模块每一条并发执行)...

总执行代码: # codingutf-8 import unittest,os,time import HTMLTestRunner import threading import sys sys.path.append(C:/Users/Dell/Desktop/CARE/program)#使用编辑器,要指定当前目录,不然无法执行第20行代码 def creatsuite(): casedir [] lis…

全国计算机等级考试题库二级C操作题100套(第71套)

第71套: 给定程序中,函数fun的功能是:将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。 例如,s所指字符串为:asd123fgh5##43df&#xff0…

修改oracle用户资源限制,RHEL5中安装Oracle11gR2修改用户SHELL限制、环境配置、内核参数...

修改用户的SHELL的限制[rootlocalhost ~]# vi /etc/security/limits.conf# /etc/security/limits.conf##Each line describes a limit for a user in the form:## ##Where:# can be:# - an user name# - a group name, with group syntax#…

input 赋值_FPGA基础设计:Verilog行为级建模(过程赋值)

来源:CSDN文章使用逻辑门和连续赋值对电路建模,是相对详细的描述硬件的方法。使用过程块可以从更高层次的角度描述一个系统,称作行为级建模(behavirol modeling)。1. 过程赋值阻塞赋值和非阻塞赋值的区别都很熟悉了。这里记录两个特性。1.1 特…

本地配置DNS服务器(MAC版)

转自https://www.cnblogs.com/skylor/p/7483959.html作为一个前端开发者,会遇到使用cookie的情况,常见的如:登录,权限控制,视频播放,图形验证码等,这时候本地开发者在PC上会使用修改hosts的方式…

全国计算机等级考试题库二级C操作题100套(第72套)

第72套: 给定程序中,函数fun的功能是计算下式 例如,若形参e的值为1e-3,函数的返回值2.735678。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中…

JAVA操作Excel表格

一、JExcelApi 可以从文件或者输入流进行读取操作。 基本步骤: 1.由文件或者输入流创建一个workbook; 2.由workbook的getSheet()方法创建一个工作表Sheet(两种方法,下标和名字,下标从0开始); 3.由Sheet的ge…

Oracle监听注册和sqlnet,Oracle监听的动态注册与静态注册

Oracle监听介于Oracle的数据库和客户端之间的通道。因为数据库本身不对外提供服务,所以需要通过监听器来实现。几个相关的参数:local_listenerdb_domainremote_listenerservice_names相关命令:监听命令:lsnrctl参数:1、…

mme设备内部错误_华为拟安装“俄版安卓”;百度回应内部贪腐;Android Studio 3.5 RC2 发布 | 极客头条...

快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持。「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道。风里雨里,我们将每天为朋友们,播报最新鲜有料的新闻资讯&#x…

[spring mvc]Hello World入门

1.新建项目 File->New->Other,选择Dynamic web project&#xff1a; 项目建好之后&#xff0c;目录结构如下&#xff1a; 2.WEB-INF/web.xml 中配置 dispatcherServlet <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns:xsi"ht…

Mysql日期函数使用大全

为什么80%的码农都做不了架构师&#xff1f;>>> 1.1 获得当前日期时间&#xff08;date time&#xff09;函数&#xff1a;now() 除了 now() 函数能获得当前的日期时间外&#xff0c;MySQL 中还有下面的函数&#xff1a; current_timestamp() current_timestamp …

全国计算机等级考试题库二级C操作题100套(第73套)

第73套&#xff1a; 给定程序中&#xff0c;函数fun的功能是计算下式 例如&#xff1a;若形参e的值为1e-3&#xff0c;函数的返回值为0.551690。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意&#xff1a;源程序存放在考生文件夹下的BLANK1.C…

oracle修改数据库国际字符集,Oracle修改数据库字符集

1.(Window&#xff1a;)cmd下输入set ORACLE_SID你想进入的数据库的那个sid(Linux&#xff1a;)切换到oracle用户&#xff1a;export ORACLE_SID你想进入的数据库的那个sid2.输入 sqlplus /nolog3.将数据库启动到RESTRICTED模式下做字符集更改&#xff1a;SQL> conn /as sy…

input点击事件不能用_用js简单写一个计算器

嗨&#xff0c;大家好&#xff0c;今天给大家带来的是一个计算器首先要知道我们常用的计算器都有哪些按键&#xff0c;有0~9&#xff0c; , - , *, /&#xff0c;还有 和.&#xff0c;基本是这些按键&#xff0c;然后我们去创建一些按键。之后我们去设置样式&#xff0c;设置完…

全国计算机等级考试题库二级C操作题100套(第74套)

第74套&#xff1a; 人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是&#xff1a;找出指定出生年份的人员&#xff0c;将其数据放在形参k所指的数组中&#xff0c;由主函数输出&#xff0c;同时由函数值返回满足指定条件…

入驻支付宝开放平台并创建应用的基本流程

https://www.csweigou.com/article/1990.html 转载于:https://www.cnblogs.com/DixinFan/p/9519876.html

php判断信用卡,php校验信用卡卡号代码

[php]代码库// This function will take a credit card number and check to make sure it// contains the right amount of digits and uses the Luhn Algorithm to// weed out made up numbersfunction validateCreditcard_number($credit_card_number){// Get the first dig…

浮点数的表示和基本运算 【转载】

1 浮点数的表示通常&#xff0c;我们可以用下面的格式来表示浮点数 SPM其中S是符号位&#xff0c;P是阶码&#xff0c;M是尾数对于IBM-PC而言&#xff0c;单精度浮点数是32位&#xff08;即4字节&#xff09;的&#xff0c;双精度浮点数是64位&#xff08;即8字节&#xff09;的…

python list长度_python的入门阶段 编程思维100题 我跟罗志祥没关系

"""python的入门阶段 编程思维100题&#xff08;适合学习了1周--1个月的新人&#xff09; 第五题&#xff1a;我跟罗志祥没关系 朋友圈大家每天都看&#xff0c;那用python如何实现它那&#xff1f; 很简单&#xff0c;朋友的信息&#xff08;名字&#xff0c;头…

全国计算机等级考试题库二级C操作题100套(第75套)

第75套&#xff1a; 给定程序中&#xff0c;函数fun的功能是&#xff1a;对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。ss所指字符串数组中共有M个字符串&#xff0c;且串长<N。请在程序的下划线处填入正确的内容并把下划线删除&#xff0c;使程序得出正确…