• 对java面试文章的技术漫谈的C#技术理解


    .NET人技术太菜的话,要好好学习啊,所以看到Java届的面试对话文章,不经意想用C#的知识想做一些回应(其实也没有什么了不起的)。

    楼下知识文章扩展一览,外加自己接触到的扩展。水太深!

     static void Main(string[] args)
            {
                /*
                 对这篇java文章的C#引申扩展(不要以为java很高深,C#的水才是深的不要不要的,颠覆者有几人?)
                 * http://www.cnblogs.com/zuoxiaolong/p/life51.html
                 */
    
                //以下就是在C#中的对应和作用
    
                /*
                 java中的LinkedList,ArrayList,HashMap,TreeMap
                 */
                /*
                 using System.Collections.Generic; 该命名空间
                 */
                //http://my.oschina.net/Tsybius2014/blog/227365
                LinkedList<string> list1 = new LinkedList<string>();//双向链表
                //http://www.cnblogs.com/linlf03/archive/2011/12/09/2282574.html
                Dictionary<string,string> list2 = new Dictionary<string,string>();
                //http://www.cnblogs.com/hkncd/archive/2011/05/30/2063124.html
                //源码https://github.com/dotnet/corefx/blob/master/src/System.Collections/src/System/Collections/Generic/SortedDictionary.cs
                SortedDictionary<string, string> list3 = new SortedDictionary<string, string>();//内部使用红黑表实现,性能优越
                //扩展延伸 SortedList<string,string> 性能逊于 SortedDictionary 但是各有优缺点
                //扩展说明
                /*
                 System.Collections.Concurrent 其实在集合的class有很多,这里提一下多线程并发下的集合。都是在这个命名空间下面
                 ConcurrentDictionary
                 ConcurrentQueue
                 ConcurrentStack
                 * 字典,队列,栈都是队友的并发class
                 */
    
    
                /*
                 Java并发包当中的类,它们都有哪些作用,以及它们的实现原理,这些类就是java.concurrent包下面的。
                 */
                /*比如面试官可能会先问你,如果想实现所有的线程一起等待某个事件的发生,当某个事件发生时,所有线程一起开始往下执行的话,有什么好的办法吗?*/
                //http://blog.csdn.net/wangqiuyun/article/details/13509225 
                AutoResetEvent[] resets = new AutoResetEvent[5];
                //AutoResetEvent ones = new AutoResetEvent();
                //System.Threading.WaitHandle.WaitOne; //使线程一直等待,直到单个事件变为终止状态;
                System.Threading.WaitHandle.WaitAny(resets); //阻止线程,直到一个或多个指示的事件变为终止状态;
                System.Threading.WaitHandle.WaitAll(resets); //阻止线程,直到所有指示的事件都变为终止状态。
                //Thread.Sleep(1000);
    
    
                /*
                 IO包和NIO包中的内容。这部分里面NIO会是重点,IO包大部分都会比较熟悉,因此可能会直接略过,直接问你NIO的内容。
                 */
                //http://kb.cnblogs.com/page/94729/
    
                /*
                 Java的虚拟机的内容。这部分主要包括三部分,GC、类加载机制,以及内存。
                 */
                //GC
                //http://kb.cnblogs.com/page/106720/
                //类加载机制
                //http://www.cnblogs.com/baihmpgy/archive/2013/02/27/CLR_Loader_And_OSGi.html
                //编程上的内存管理细节
                //http://www.cnblogs.com/guodapeng/archive/2008/04/02/1134005.html
    
                //引申扩展
                //EMIT,CodeDom,OWIN
                //OWIN 是Open Web Server Interface for .NET的首字母缩写,就是开放的web服务接口
                //http://www.cnblogs.com/OceanEyes/p/thinking-in-asp-net-mvc-what-is-owin.html
                //IL的Emit,有大神用来写框架提高性能(https://github.com/qldsrx/OwinFramework 基于OWIN的框架)
                //http://www.csharpwin.com/csharpspace/10973r3457.shtml(基础介绍)
                //System.CodeDom
                //http://www.cnblogs.com/whitewolf/archive/2010/06/19/1760708.html
                
                //如果楼上看不懂就是自己学艺不精,自己菜逼,好好学习,天天向上。
    
                Console.ReadKey();
            }

    自己也太菜,只能写这些了。

    .NET技术文章的源码地址:

    corefx 框架集 :https://github.com/dotnet/corefx

    MVC 框架: https://github.com/aspnet/Mvc

    Cache 组件 :https://github.com/aspnet/Caching

    想要知道源码自己查,不怕你看,就怕你看不懂。

    很多算法一看直接就懵逼了。

    还有mono框架:https://github.com/mono/mono

    自从14年MS开源开始,mono就开始吸收MS的代码,现在16了,基本吸收了查不到了(可以说已经有了windows上.NETFramework的性能,也许还有过之而无不及),这是社区幸事。

    如果是长久混mono社区的(很多.NET逆向高手据说也常混,看雪论坛的大神如是说),发现mono从3开始,就开始发展迅猛,现在的4版本,更是性能加强。以前早年ASP.NET的代码就可以通过Jexus承载于mono,完美运行(只要你确定你写的代码可以跨平台)。

    看看Core的里程(地址:https://github.com/dotnet/corefx/milestones),今年夏季就会到来的RTM和即将发布的RC2。以后是全平台的时代,.NET人应该广泛的在各个平台发挥实力!。(终于筹够了博客园的150字)

  • 相关阅读:
    从零开始学android -- dialog
    Java学习笔记之equals和Objects.equals
    windows svchost.exe 引起的出现的莫名其妙的窗口失去焦点
    android.util.AndroidRuntimeException Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? com.uethinking.microvideo.manag
    从零开始搭建android框架系列(转)
    js-ES6学习笔记-编程风格(1)
    js-ES6学习笔记-module(4)
    js-ES6学习笔记-module(3)
    js-ES6学习笔记-module(2)
    js-ES6学习笔记-module(1)
  • 原文地址:https://www.cnblogs.com/RainbowInTheSky/p/5421011.html
Copyright © 2020-2023  润新知