学习笔记之编程
文章平均质量分 72
haobaworenle
这个作者很懒,什么都没留下…
展开
-
c#反射中Assembly类动态加载程序集
参考文章:C#反射中Assembly.Load及Assembly.Load.CreateInstance方法介绍加载程序集的方式有三种:1、Assembly.Load("程序集");//程序集名称即dll名称 用Assembly.Load加载程序集的顺序是怎样的呢?首先它会去全局程序集缓存查找,然后到应用程序的根目录查找,最后会到应用程序的私有路径查找当翻译 2016-12-09 13:07:58 · 3596 阅读 · 0 评论 -
命名空间(C# 参考)
原文:命名空间(C# 参考)namespace 关键字用于声明一组相关对象的大小。 可以使用命名空间组织代码元素和创建全局唯一类型。C#namespace SampleNamespace{ class SampleClass { } interface SampleInter转载 2016-12-26 21:39:58 · 385 阅读 · 0 评论 -
命名空间与程序集
1.命名控件与程序集的区别。 命名空间用于对类型进行逻辑分组。程序集则是程序的物理分组,对应于一个dll或exe文件。2.为什么要使用两种方式分组?把逻辑分组作为物理分组不是更简单吗? 逻辑分组主要针对开发人员,而物理分组主要针对安装和部署。 除此之外,以下情况也需要使用两种方式分组,否则会很不方便。 1)团队开发。一个公司转载 2016-12-09 15:28:30 · 265 阅读 · 0 评论 -
单例模式
参考文章:单例/单体模式(Singleton)单例模式的七种写法一、什么是单例单例模式是对象的创建模式之一,此外还包括工厂模式。r单例模式的三个特点:1,该类只有一个实例2,该类自行创建该实例(在该类内部创建自身的实例对象)3,向整个系统公开这个实例接口翻译 2016-12-27 12:43:36 · 244 阅读 · 0 评论 -
求素数的几种算法
1、根据质数的定义求 质数定义:只能被1或者自身整除的自然数(不包括1),称为质数。 利用它的定义可以循环判断该数除以比它小的每个自然数(大于1),如果有能被它整除的,则它就不是质数。对应代码是:void printPrime(int n){//判断n是否是质数 boolean isPrime=true;//是否是质数的标志 for(int i=翻译 2017-03-09 13:05:12 · 874 阅读 · 0 评论 -
面向过程和面向对象的static关键字区别
参看文章:static-搜狗百科static的作用一、面向过程语言的static(例如C)在面向过程语言中,static主要有这几个作用:(1)分配内存时持久化;(2)控制文件间指定数据的访问权限;(3)自动初始化为0。1、静态全局变量对于一个完整的程序,在内存中的分布情况如下图: ————————————| 代码区 //low翻译 2016-12-26 16:16:21 · 605 阅读 · 0 评论 -
静态变量和常量的区别
共同点:1、static和const在编译时直接分配内存。区别:1、(本质)static是类型引用,const是实例引用。2、(初始化)静态变量的初始值必须是一个常量。静态初始值默认为0,而常量也默认为0(吗?)。3、(赋值)静态变量的值在运行时可以更改赋值,而常量的值是不可改变的,运行一开始已经固定,之后修改会报错。4、(内存)静态变量存放在全局数据区中,伴随着这翻译 2017-03-25 22:55:58 · 20832 阅读 · 0 评论 -
闭包
(个人理解,欢迎各位指正)定义最通俗直接的定义,如果一个函数访问了它的外部变量(upvalue),那么这个函数和外部变量就形成了一个闭包。放宽部分严谨性的更容易理解的定义,如果外部函数中嵌套的内部函数,内部函数调用外部函数的变量,并且该内部函数作为外部函数的return值,那么return的这个内部函数和调用的外部变量就是一个闭包。(当然,外部函数不是闭包的必需品)关键词upvalue: (原创 2017-04-18 19:34:22 · 287 阅读 · 0 评论 -
Java抽象类和接口的区别
1、Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供某些方法的部分实现,而Java接口不可以,这大概就是Java抽象类唯一的优点吧,但这个优点非常有用。如果向一个抽象类里加入一个新的具体方法时,那么它所有的子类都一下子都得到了这个新方法,而Java接口做不到这一点,如果向一个Java接口里加入一个新方法,所有实现这个接口的类就无法成功通过编译了,因为转载 2017-05-10 19:55:24 · 283 阅读 · 0 评论 -
sealed关键字
sealed的中文意思是密封,就是由它修饰的类或方法将不能被继承或是重写。 sealed关键字的作用:1、在类声明中使用sealed可防止其它类继承此类;在方法声明中使用sealed修饰符可防止扩充类重写此方法。 2、它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。转载 2017-06-02 15:02:49 · 657 阅读 · 0 评论 -
委托与事件
事件就是一个特殊的委托,委托和事件就类似于字段和属性的关系,事件是对委托做了一个封装(这是个人理解)委托是引用类型,如果委托绑定多个方法,只会返回最后一个方法的返回值。委托 定义委托的语法和定义方法比较相似,只是比方法多了一个关键字delegate ,我们都知道方法就是将类型参数化,所谓的类型参数化就是说该方法接受一个参数,而该参数是某种类型的参数,比如转载 2017-07-10 17:24:37 · 318 阅读 · 1 评论 -
调用函数时出现NullReferenceException的一个可能原因
原文:[Unity3D]调用函数时出现NullReferenceException的一个可能原因今天遇到一个报错,如下图:NullReferenceException UnityEngine.MonoBehaviour.StartCoroutine (IEnumerator routine) (at C:/BuildAgent/work/d3d49558转载 2016-12-26 10:22:33 · 4607 阅读 · 0 评论 -
从头到尾彻底解析哈希表算法(1)
原文:从头到尾彻底解析哈希表算法参考文章:最小堆。最大堆。外排序说明:本文分为三部分内容,第一部分为一道百度面试题Top K算法的详解;第二部分为关于Hash表算法的详细阐述;第三部分为打造一个最快的Hash表算法。 第一部分:Top K 算法详解 问题描述 百度面试题: 搜索引擎会通过日志文件把用户每次检索使转载 2016-12-19 11:00:01 · 364 阅读 · 0 评论 -
利用反射机制访问父类私有变量和属性
参考文章:子类用反射可以访问父类中的私有成员变量及方法、C#如何通过反射调用父类的私有方法、用反射的方式获取父类中的所有属性和方法、(来自知乎)Unity反射机制的理解1、反射是动态执行的(和oc的动态性类似),使用反射是开销非常大的调用方式,效率会比直接引用低,也可能会存在很多的异常,用时需谨慎。一般情况下,可以在父类设置虚方法,也可以增加一个翻译 2016-12-07 16:26:24 · 4947 阅读 · 0 评论 -
print和Debug.log区别
参考文章:雨松微博http://weibo.com/2332920021/DaXMabLqA?type=comment#_rnd1481079258439print仅仅把信息传递给Debug.log,都是输出到控制台,以后还是直接用log代替print就行了。翻译 2016-12-07 10:57:28 · 1741 阅读 · 0 评论 -
private、final和internal区别
参考文章:final方法和private方法的区别private,protected,public和internal的区别static private 与 final 的用法总结1、private表示私有的,只在本类内可见。private的属性或方法对子类来说不能够继承。2、final表示最终的,不允许派生和重写,所以抽象类不能声明为final。翻译 2016-12-16 20:48:26 · 3246 阅读 · 0 评论 -
C#反射机制概述与应用
参考文章:反射-百科java反射机制-百科c#反射机制总结1、反射是什么Java理解:程序重点内容运行时,允许改变程序结构或变量类型,这种语言称为动态语言。从这个观点看,Perl、Python、Ruby是动态语言,C++、Java、C#不是动态语言。但是JAVA有着一个非常突出的动态相关机制——Reflection,用在Java身上指的是可以于运行时加载、探翻译 2016-12-08 22:52:14 · 417 阅读 · 1 评论 -
transient关键字
参考文章:Java transient关键字使用小记1. transient的作用及使用方法 一个对象实现了Serilizable接口,那么这个对象的所有属性和方法都会自动序列化,java的这种序列化模式为开发者提供了很多便利。 然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化。打个比方翻译 2016-12-22 09:44:22 · 452 阅读 · 0 评论 -
从头到尾彻底解析哈希表算法(3)
原文:从头到尾彻底解析哈希表算法从头到尾彻底解析哈希表算法第三部分、最快的Hash表算法 接下来,咱们来具体分析一下一个最快的Hasb表算法。 我们由一个简单的问题逐步入手:有一个庞大的字符串数组,然后给你一个单独的字符串,让你从这个数组中查找是否有这个字符串并找到它,你会怎么做? 有一个 方法最简单,老老实实从头查到尾,一个一个比较,直到找转载 2016-12-19 11:10:33 · 445 阅读 · 0 评论 -
java本地方法
原文:java方法和本地方法java本地方法一. 什么是Native Method 简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用ex转载 2016-12-22 19:46:03 · 227 阅读 · 0 评论 -
从一道面试题彻底搞懂hashCode与equals的作用与区别及应当注意的细节
参考文章:从一道面试题彻底搞懂hashCode与equals的作用与区别及应当注意的细节 最近去面试了几家公司,被问到hashCode的作用,虽然回答出来了,但是自己还是对hashCode和equals的作用一知半解的,所以决定把它们研究一下。以前写程序一直没有注意hashCode的作用,一般都是覆盖了equals,缺没有覆盖hashCode,现在发转载 2016-12-22 20:47:32 · 19037 阅读 · 11 评论 -
Java中的hashCode()和equals()
参考文章:浅谈Java中的hashcode方法关于 hashCode() 你需要了解的 3 件事java中hashcode()方法有什么作用呢?最好举个例子啊!很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:public native int hashCode();这是本地方法,因此在Object类中并没有给出具体翻译 2016-12-22 19:12:47 · 224 阅读 · 0 评论 -
从头到尾彻底解析哈希表算法(2)
原文:从头到尾彻底解析哈希表算法第二部分:Hash表算法的详细解析 什么是Hash Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不 同的输入可能会散列成相同的输转载 2016-12-19 11:06:34 · 352 阅读 · 0 评论 -
简单工厂模式,工厂方法模式和抽象工厂模式
创建型设计模式有简单工厂模式,工厂方法模式和抽象工厂模式,工厂模式的好处需要对比获得。简单工厂模式,工厂方法模式和抽象工厂模式都是属于创建型设计模式,这三种创建型模式都不需要知道具体类。我们掌握一种思想,就是在创建一个对象时,需要把容易发生变化的地方给封装起来,来控制变化(哪里变化,封装哪里),以适应客户的变动,项目的扩展。用这三种设计模式都可以实现.下面根据这三者之间的特点,优点,缺点,适用转载 2017-07-27 11:15:52 · 527 阅读 · 0 评论