自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

喵叔

主业程序员,副业写写技术文章,顺带搞搞服务器

原创 Java面试题之运算符(一)

零、单选 若有 a=3,则执行下列语句为a的值为? a+=a*=a; A. 3 B. 12 C. 9 D. 18 答案:B 解析:参考解析赋值运算从右向左执行,故a=a*a=9,a+=9,a=a+9=3+9=12 对于一个三位的正整数n=789,以下结果为8的是? A. n/10%2 B...

2020-07-05 23:18:43 136 0

原创 Java面试题之变量与常量(二)

零、单选 以下字符型字面值中,不合法的是? A. ‘@’ B. ‘&’ C. “M” D. ‘课’ 答案与解析:本题考查字符型字面值的表示,字符型字面值是用单引号引起来的,并且单引号里面只能有一个字符,可以是汉字。因此ABD选项的内容是正确的。用双引号引起来的是字符串字面值,因此C选...

2020-06-30 23:29:11 120 0

原创 Java面试题之变量与常量(一)

零、单选 下列哪一选项不是Java的关键字? A. class B. package C. Void D. static 答案与解析:本题考查的是Java的关键字,Java语言是区分大小写的,因此Void不是关键字,void才是。 关于数据类型的说法错误的是? A. 数据类型分为基本数据...

2020-06-26 22:12:20 116 0

原创 Java单例模式一文通
原力计划

在程序开发中我们往往会涉及到设计模式,那么什么是设计模式呢?官方正式的定义是一套被反复使用经过分类编目,且多数人知晓的代码设计经验总结。简单的说设计模式是软件开发人员在软件开发过程中面临问题时所做出的解决方案。常用的设计模式有23中,因为篇幅有限在本篇文章中我之讲解23中设计模式中最经典的模式:单...

2020-06-25 23:24:58 121 1

原创 Java面试题之初入Java世界

零、单选题 下面选项中关于JDK的说法正确的是: A、JRE中包含JDK,JDK中包含JVM B、JDK是Java运行时环境的简称 C、Java实现平台无关性的关键是JDK D、javac ,java 等命令是JDK中的命令 以下定义了主方法的代码中,有几处错误 class Hello...

2020-06-14 17:48:44 2428 0

原创 我胡汉三又回来了

因找到工作,从下周开始,文章继续更新,更新时间随机,更新内容看心情。

2020-06-05 22:56:09 115 0

原创 面试以来的感受和想法

面试已经有一段时间了,面试的公司也有十来家,因此我打算写一下我对面试的感受和想法。首先我先做一个自我介绍: 我是一名专科生2011年毕业,大学所学专业计算机信息管理,毕业后就来到了北京进入了北京某民营公司(具体名称我就不说了),公司规模不是很大但是具有部委背景。我在这家公司待了将近三年,主要参与开...

2020-06-01 19:19:44 1713 1

原创 博客停更一个月

因近期找工作,无暇再写文章发博客,因此博客停更一个月,待找到工作后,再继续更新,更新频率一周两更到三更。

2020-04-28 16:52:17 218 0

原创 8年一线.NET开发程序员求职

本人目前找工作,8年一线.NET开发经验,从事过电子政务、AI客服和企业级文档安全系统的开发,以及互联网招聘网站的架构设计。目前薪资18K/月,最低期望薪资:20K/月。意向地:北京,意向职位:开发类、项目经理类。 ...

2020-04-27 15:49:09 310 0

原创 3. 单页App

上一篇文章我们创建了 Xamarin 应用程序,当我们创建完应用程序后 VS 2019 帮我们生成了一个名为 MainPage 的 xaml 文件,这个文件在当前项目中是仅有的页面,我们称这个应用程序称为 单页应用程序 。下面我们就修改一下上一篇文章所创建的应用程序。首先我们打开 MainPage...

2020-04-25 15:56:19 355 0

原创 通过运行期类型检查实现泛型算法

Tip:本文首发于喵叔的 CSDN 博客,转载于喵叔的 InfoQ 博客,本人未授权任何网站、公众号以及其他任何形式的转载。发布不等于免费、开源不等于无所顾忌,请遵守职业道德。 零、第一次优化 虽然我们可以通过指定不同的类型参数来实现泛型类的复用,但是在某些情况下通用就意味着我们无法利用具体类型...

2020-04-25 13:46:19 241 0

原创 2.Hello Xamarin

敬告:本文首发于 CSDN 博客喵叔的 Xamarin 基础专栏,该文章进发表于 CSDN 博客以及 InfoQ 网站,其他网站以及公众号发表皆为未授权。 从这篇文章开始我们将正式进入 Xamarin 学习的课程,并且开始创建贯穿整个基础专栏的 APP (安卓APP)。 零、创建项目 我们打...

2020-04-22 21:54:23 239 0

原创 规范约束条件

我们在开发时往往会对泛型指定约束条件,只有类型参数符合条件的才允许用在这个泛型上面。但是有时我们会定义过多或过少的约束条件,过多的约束条件会导致其他开发人员在使用你所编写的方法或类时做很多的工作以满足这些约束,过少的约束又会导致程序在运行的时候必须做很多的检查,并执行更多的强制类型转化操作,有时我...

2020-04-21 22:51:21 140 0

原创 1. 什么是Xamarin

Xamarin 是一个 .NET 开源的平台,主要用于通过 .NET 构建 IOS 、 Android 以及 Windows App 。利用 Xamarin 我们可以管理不同平台 APP 的共享代码与基础平台代码的通信,并且 Xamarin 上开发的 APP 是在托管环境中运行的,也就是说它会帮助...

2020-04-19 19:33:09 262 0

原创 如何实现标准的dispose

前面的文章我们说过,如果对象包含非托管资源那么就必须要正确的清理,现在我们就来说一下如何清理。针对非托管资源 .NET 会采用一套标准的模式来完成清理工作。也就是说如果开发人员自己编写的类中存在非托管资源,那么这个类的使用者就会认为这个类遵循 .NET 的垃圾清理模式。标准的 dispose 模式...

2020-04-18 11:09:28 100 0

原创 禁止在构造函数里调用虚函数

在构造函数中调用虚函数会导致程序出现莫名其妙的行为,这主要是对象还没有完全构造完成。下面我们先来看一段代码: class B { protected B() { Method(); } protected virtual void Method() ...

2020-04-16 23:01:04 96 0

原创 抛弃无所谓的对象

虽然 GC 可以帮助我们很好的管理内存,并且高效的将用不到的对象清理出去,但是这并不意味着我们可以随意创建对象。尤其是在方法中创建很多局部引用对象很有可能会降低程序的性能。 GC 的执行时机与程序所分配的内存数量以及分配的频率有关系,如果总是分配内存就会给 GC 造成很大的压力,从而使得 GC 会...

2020-04-14 22:52:23 152 0

原创 整合重复的初始化逻辑

我们在开发中会在一个类中定义不同版本的构造函数,这些构造函数往往存在相同的初始化逻辑。遇到这种情况一部分开发人员会在每个构造函数中编写相同的代码,这种编写代码的方式是比较低级的,正确的做法应该是将相同的初始化逻辑提取到一个公用的构造函数中,并让其他构造函数直接或间接的调用。这样既可以减少重复的代码...

2020-04-12 19:44:04 95 0

原创 确保初始化静态成员

在开发时我们习惯在创将某个实例之前先把静态成员变量初始化好,具体做法是通过静态初始化语句以及静态构造函数。静态构造函数在 c# 是比较特殊的函数,它会在第一次访问所在类定义的其他方法、变量和属性之前执行,一般我们用它来初始化静态变量、实现单例模式以及执行其他一些需要在访问其他必要的工作。如果静态字...

2020-04-12 16:23:21 134 0

原创 为字段设置初始值

在开发中为字段设置初始值这是最基本的要求,但是很多开发人员会在构造函数变多的时候忘记给成员变量设置初始值。为了避免这个问题,我们最好在声明的时候直接初始化,而不是在实现构造函数的时候去初始化。编译器会帮助开发人员在每个构造函数开头放入一段代码,这段代码会把开发人员在定义成员字段时所指定的初始值设置...

2020-04-11 01:18:14 175 0

原创 闲话资源管理

对于 .NET 开发人员来说程序的资源管理是必不可少的,要开发出一款优秀的应用就必须明白 .NET 的资源管理机制。在 .NET 中垃圾回收器 GC 帮助我们管理托管资源,在开发时我们不需要过多的关注大多数内存问题(例如:内存泄漏、dangling pointer)。 零、托管资源 在 .NET ...

2020-04-09 00:34:38 85 0

原创 正确使用 new 修饰符

几乎 .NET 所有开发人员都知道 new 修饰符可以重新定义从基类中继承的非虚成员,但是大部分开发人员并不知道怎么才能正确使用,甚至出现了滥用的情况。 零、纠正常犯错误 讲解如何正确使用 new 修饰符前我们先来看一个段代码。 public class DemoBase { public...

2020-04-06 16:32:56 121 0

原创 减少装箱与拆箱

在 .NET 中存在一个的冲突,值类型不应该被设计为多态类型,但是 .NET Framework 又必须把 System.Object 设计为引用类型,并把它作为整个对象体系的基础。针对这一冲突 .NET 引入了装箱与拆箱。所谓的装箱就是把值类型放在非类型化的引用对象中,使得需要使用引用类型的地方...

2020-04-05 20:09:05 138 0

原创 正确调用事件处理程序

不管是刚接触 C# 还是已经具有多年开发经验的大部分人会觉得事件处理很简单,只需要把事件定义好然后在需要的时候出发它就可以了。其实这种想法是错误的,这里面有很多需要注意的问题。下面这段代码是大部分开发人员经常使用的定义事件处理程序的方法。 public class EventDemo { ...

2020-03-29 11:06:20 117 0

原创 非.NET内容迁移

即日起该博客只发布与.NET有关的文章,其他文章转至喵叔和蟒蛇

2020-03-24 23:13:36 71 0

原创 委托表示回调

敬告:本篇文章是我原创所写,首发于 CSDN Blog,未经本人授权任何网站、公众号、App 不允许转载,授权的网站、公众号、App 需明确标识本篇文章首发地址。需转载请联系 494324190@qq.com 回调是一种由服务端提供一部反馈的机制,它在某些情况下会涉及到多线程或者为同步更新提供...

2020-03-21 13:58:20 136 0

原创 一文搞定泛型知识
原力计划

敬告:本篇文章是我原创所写,首发于 51CTO 技术网站,未经本人授权任何网站、公众号、App 不允许转载,授权的网站、公众号、App 需明确标识本篇文章首发地址。需转载请联系 494324190@qq.com 泛型是程序设计语言的一种风格,允许程序员在强类型程序设计语言中编写代码时使用一些以...

2020-03-21 12:44:58 177 0

原创 .NET对象清理

敬告:本篇文章是我原创所写,首发于 51CTO 技术网站,未经本人授权任何网站、公众号、App 不允许转载,授权的网站、公众号、App 需明确标识本篇文章首发地址。需转载请联系 494324190@qq.com 在 .NET 中垃圾回收和资源清理是重中之重的内容,也是所有程序都必须用到的机制,...

2020-03-13 13:14:26 87 0

原创 优先考虑 nameof

在分布式场景中,我们经常需要进行多个系统之间的通信,要实现这些通信往往需要不同的库对相应的需求进行处理。这些库为了实现跨平台和跨语言的兼容性往往利用数据名称和字符串来运行,但是这么做就会出现类型安全问题,并且大部分工具也无法支持。 针对前面所述的问题, C# 6.0 中新增了 nameof 表达式...

2020-03-10 23:34:44 238 0

原创 FormattableString 取代特定区域字符串

有些软件系统是针对全球来开发的,因此一些字符串需要根据不同地区不同语言做出特定的处理。如果针对不同地区不同用语言分别编写字符串处理方法的话代码量是巨大的。那么这个时候我们可以用到内插字符串深层的特性,C# 会把内插字符串的结果隐式的转换成 string 或者 FormattableString 。...

2020-03-07 13:20:11 376 0

原创 少用 string.Format

如果你使用的是 C# 6.0 及其以上版本的话我建议你使用新增的 内插字符串 这个功能。这个功能可以更好的帮助开发人员设置字符串格式。下面我们就来看一下为什么要少用 string.Format 而要多用内插字符串,以及内插字符串的优缺点。 String.Format 在 C# 6.0 以前我们会经...

2020-03-01 13:20:35 219 0

原创 如何重写object虚方法

在 C# 中 Object 是所有类的基类,所有的结构和类都直接或间接的派生自它。前面这段话可以说所有的 C# 开发人员都知道,但是我相信其中有一部分程序员并不清楚甚至不知道我们常用的 ToString 、 Equals 和 GetHashCode 虚方法都来自于 Object 类,并且我们可以对...

2020-02-28 09:51:40 141 0

原创 多用as少用强制类型转换

在 C# 中存在一个名叫静态类型检查的机制,这个机制可以让编译器帮助我们把类型不服的用法找出来,从而使得应用程序在运行期间加少一些类型检查的操作。但是有时候我们还是需要进行运行期类型检查,比如我们在设计框架时将方法的参数类型定义为 object ,那么这时我们就有很大的可能需要将 object 类...

2020-02-18 19:22:26 882 0

原创 细说枚举

枚举是 C# 中最有意思的一部分,大部分开发人员只了解其中的一小部分,甚至网上绝大多数的教程也只讲解了枚举的一部分。那么,我将通过这篇文章向大家具体讲解一下枚举的知识。我将从大家都了解的部分开始讲解,然后再讲解大家所不知道的或者了解很少的部分。 零、基础知识 枚举是由开发人员声明的一种 值类型 ,...

2020-02-17 10:49:19 618 0

原创 四、Tools 类库解析

这篇文章我来讲解一下 Tools 类库,这个类库因为是基础类,因此会更随着项目的开发而增加或修改内容,届时我将会把更新通知发送在微信群中,加入微信群请将您的微信号私信给我,我加您后会将您拉入群中。 零、结构 现在步入正题,我们先来看一下当前 Tools 类库的内容,目前 Tools 类库中存在 三...

2020-02-07 23:39:39 1521 0

原创 c# 枚举之间的转换

枚举在C#中都会用到,但是你是否想过,枚举之间怎么转换?这篇文章我就来说一下枚举之间的转换。 C# 是不支持不同枚举之间的转换的,但是 CLR 支持,因此我们可以利用 CLR 赋值的兼容性来实现枚举之间的转换。看一下代码你就明白了: enum Country1 { CN, USA, UK, ...

2020-02-06 18:18:34 1764 0

原创 巧用 readonly与 const

c# 中的常量有两种,分别是编译期常量和运行期常量。通过名字我们就可以看出来它俩在行为上是不同的。在开发中如果这两种常量选择的不合适,就会影响到程序的开发工作以及程序的性能。下面我们先来看一下运行期常量和编译期常量的定义方法。 零、定义 运行期常量我们使用 readonly 来定义,而编译器常量我...

2020-02-01 13:03:49 1973 0

原创 Scrapy Pipeline

Scrapy 中的 Pipeline 为我们提供了处理数据的功能,在实际开发中我们经常使用它来清洗/验证数据、去重和数据保存。在一个项目中会存在多种 Pipeline ,每个 Pipeline 都是一个 class ,其中包含了一些处理的 Item 的方法。 Item 会在这些 Pipeline ...

2020-01-20 01:52:31 2149 0

原创 细说.NET 缓存

在项目开发中缓存可以说是一直的存在,但是缓存技术具体该怎么用用在哪里,对于大多数开发人员来说并不知道,甚至有些开发人员认为缓存使用过于复杂。那么通过这篇文章各位读者可以充分理解缓存的使用和原理。 一、什么是缓存 缓存能干什么 缓存可以提高系统性能、提高稳定性和可用性。同样缓存也可以减少交互的通...

2020-01-18 23:52:12 2038 0

原创 var lady first

C# 中的隐式类型的局部变量是为了支持匿名类型而出现的,并且也是为了解决一部分查询操作返回的结果是 IQueryable 类型,而另一部分查询返回的结果是 IEnumerable 类型导致的把 IQueryable 当作 IEnumerable 来使用,进而无法使用 IQueryProvider ...

2020-01-14 00:16:41 1551 0

提示
确定要删除当前文章?
取消 删除