博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java和.NET(C#)的开发用到的技术对比总结
阅读量:4308 次
发布时间:2019-06-06

本文共 2569 字,大约阅读时间需要 8 分钟。

前言

声明:我指的是一般的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 )

 详见:

 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

 详见此文:

 .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服务器技术可以读读这两篇文章:

注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)中,下载地址:

缓存技术

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

你可能感兴趣的文章
Xilinx Jtag Access/svf文件/BSCANE2
查看>>
NoC片上网络
查看>>
开源SoC整理
查看>>
【2020-3-21】Mac安装Homebrew慢,解决办法
查看>>
influxdb 命令行输出时间为 yyyy-MM-dd HH:mm:ss(年月日时分秒)的方法
查看>>
已知子网掩码,确定ip地址范围
查看>>
判断时间或者数字是否连续
查看>>
docker-daemon.json各配置详解
查看>>
Docker(一)使用阿里云容器镜像服务
查看>>
Docker(三) 构建镜像
查看>>
FFmpeg 是如何实现多态的?
查看>>
FFmpeg 源码分析 - avcodec_send_packet 和 avcodec_receive_frame
查看>>
FFmpeg 新旧版本编码 API 的区别
查看>>
RecyclerView 源码深入解析——绘制流程、缓存机制、动画等
查看>>
Android 面试题整理总结(一)Java 基础
查看>>
Android 面试题整理总结(二)Java 集合
查看>>
学习笔记_vnpy实战培训day02
查看>>
学习笔记_vnpy实战培训day03
查看>>
VNPY- VnTrader基本使用
查看>>
VNPY - CTA策略模块策略开发
查看>>