摘要: 导读:GC是大部分现代语言内置的特性,Java 11 新加入的ZGC号称可以达到10ms 以下的 GC 停顿,本文作者对这一新功能进行了深入解析。同时还对还对这一新功能带来的其他可能性做了展望。ZGC是否可以达到该性能目标,请看高可用架构志愿者翻译的文章。 Java 11的新功能已经完全冻结,其中有 阅读全文
posted @ 2018-09-30 16:04 CharyGao 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 随着大数据时代的到来,越来越多的网站、应用系统需要支撑海量数据存储,高并发、高可用、高可扩展性等特性要求。 由此,各种各样的 NoSQL(Not Only SQL)数据库作为传统关系型数据的一个有力补充得到迅猛发展。 本文将分析传统数据库存在的一些问题,以及几大类 NoSQL 如何解决这些问题,希望 阅读全文
posted @ 2018-09-30 16:02 CharyGao 阅读(1549) 评论(0) 推荐(0) 编辑
摘要: 对于前端开发者来说,ChromeDevTools 绝对是不可或缺的调试工具,我们常用的调试方法包含一些console等,而ChromeDevTools 其实很强大,下面来聊聊一些你可能不知道的debug 方法。 Scroll Into View 滚动如视图内 在Elements 标签中,查看页面元素 阅读全文
posted @ 2018-09-30 15:59 CharyGao 阅读(486) 评论(0) 推荐(1) 编辑
摘要: 对前端开发者来说,Chrome Dev Tools(开发者工具,以下简称CDT)是一个不可或缺的开发调试工具,但是你可能只用过console.log(),却不知道console还有很多功能强大的调试方法。 接下来带你用CDT做下花式控制台调试。阅读全文约五分钟。 CDT提供了强大的调试系统,除了可以 阅读全文
posted @ 2018-09-30 15:58 CharyGao 阅读(525) 评论(0) 推荐(1) 编辑
摘要: 建议11:区别对待 == 和Equals CLR中将“相等性”分为两类:1、值相等性:两个变量包含的数值相等。2、引用相等性:两个变量引用的是内存中的同一个对象。 但并不是所有的类型的比较都是按照其本身,比如string是一个特殊的引用类型,但是在FCL中,string的比较就被重载为针对“类型的值 阅读全文
posted @ 2018-09-30 15:47 CharyGao 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 在打开文件中使用Vim搜索功能并开启高亮显示后怎么取消当前高亮显示的目标词? 最简单的方法是再使用Vim搜索一串文档中不存在的目标词来覆盖当前高亮的搜索结果。 其实,可以在Vim尾行模式下使用 :noh 或 :nohlsearch 来关闭当前的高亮结果,但是在下次进行Vim搜索时仍然会有高亮显示效果 阅读全文
posted @ 2018-09-30 15:45 CharyGao 阅读(3041) 评论(0) 推荐(0) 编辑
摘要: 在使用Vim进行编程时,经常遇到需要快速注释或取消注释多行代码的场景,Vim教程网根据已有的教程介绍,总结了三种快速注释/取消注释多行代码的方法。 一、使用Vim可视化模式快速注释/取消注释多行 在Vim可视化模式下可以通过 块选择模式 对选中的多行文本执行相同的操作。 使用Vim可视化模式快速注释 阅读全文
posted @ 2018-09-30 15:45 CharyGao 阅读(526) 评论(0) 推荐(1) 编辑
摘要: vim提供了丰富的快速跳转任意行、任意列的方法,方便高效地移动光标,定位文件位置。 一、Vim行跳转 使用vim查看文件时,使用以下命令可以快速跳转文件首、尾行,方便对整个文件有个全局把握。 1.1 跳转文件首行 vim普通模式下,使用 gg 跳转到当前文件的第一行; vim命令行模式下,使用 :0 阅读全文
posted @ 2018-09-30 15:44 CharyGao 阅读(1942) 评论(0) 推荐(0) 编辑
摘要: 一、Vim缩进介绍 在没有设置Vim自动缩进的条件下,可以手动使用Vim命令对特定行进行缩进处理。在Vim插入模式下,按下 Tab 键时默认会输入一个制表符,可通过Vim配置项将 Tab 替换为空格,以便支持文件移植和多操作系统打开。 1.1 Vim缩进方法 在Vim普通模式下,>> 会对当前行增加 阅读全文
posted @ 2018-09-30 15:05 CharyGao 阅读(690) 评论(0) 推荐(0) 编辑
摘要: 编者按:现在的技术界有一种倾向,将软件/应用操作简单化,用户能轻松上手。但是工具是否强大,取决于它能否灵活地满足使用者的各种需要。有些工具虽然很难入门,学会了便能对自己的操作有更深的层次的了解,能赋予创造和表达更大的自由度。本文编译自Quartz的原题为“Forget easy-to-use des 阅读全文
posted @ 2018-09-30 15:04 CharyGao 阅读(389) 评论(0) 推荐(0) 编辑
摘要: Vim8.0是近十年来的一次大更新,支持任务、异步I/O、Channels和JSON以及异步计时器、Lambdas 和 Closures等,还包括对GTK + 3的支持。由于ubuntu默认安装的Vim版本一般都是7.4.52,该版本不满足许多vim插件的需求(如YouCompleteMe),因此需 阅读全文
posted @ 2018-09-30 14:56 CharyGao 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 使用Vim打开和保存文件是最常用的操作,介绍使用edit命令通过文件路径来打开文件,使用write命令保存文件,当文件路径不存在或用户权限不匹配时,使用write命令调用外部shell程序完成操作。 1. edit命令打开文件 Vim命令 :edit (缩写形式为 :e) 可以通过文件的绝对路径或相 阅读全文
posted @ 2018-09-30 14:55 CharyGao 阅读(1630) 评论(0) 推荐(0) 编辑
摘要: Vim一直被认为是一种非常高效的文本编辑器,但是对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性。 本文介绍7种提高你工作效率和生产力的Vim使用技巧,主要集中在对某个文件范围内的特定目标执行相同的重复性操作。抛砖引玉,作为你体验使用Vim进行高效操作的入门级教程。 1. Vim重复操作 阅读全文
posted @ 2018-09-30 14:53 CharyGao 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 在命名空间System.Threading.Tasks下,有一个静态类Parallel简化了在同步状态下的Task的操作。Parallel主要提供了3个有用的方法:For、ForEach、Invoke。 For方法,主要用于处理针对数组元素的并行操作,如下: staticvoid Main(stri 阅读全文
posted @ 2018-09-30 13:41 CharyGao 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 在C#中让线程同步的另一种编码方式就是使用线程锁。所谓线程锁,就是锁住一个资源,使得应用程序只能在此刻有一个线程访问该资源。可以用下面这句不是那么贴切的话来理解线程锁的作用:锁,就是让多线程变成单线程。在C#中,可以将被锁定的资源理解成new出来的普通对象。 既然需要锁定的资源就是一个C#中的对象, 阅读全文
posted @ 2018-09-30 13:39 CharyGao 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 所谓线程同步,就是多个线程之间在某个对象上执行等待(也可理解为锁定该对象),直到该对象被解除锁定。C#中对象的类型分为引用类型和值类型。CLR在这两种类型上的等待是不一样的。我们可以简单的理解为在CLR中,值类型是不能被锁定的,也即:不能在一个值类型对象上执行等待。而在引用类型上的等待机制,则分为两 阅读全文
posted @ 2018-09-30 13:37 CharyGao 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 在标准的Dispose模式中(见前一篇博客“C#中标准Dispose模式的实现”),提到了需要及时释放资源,却并没有进一步细说让引用等于null是否有必要。 有一些人认为等于null可以帮助垃圾回收机制早点发现并标识对象是垃圾。其他人则认为这没有任何帮助。是否赋值为null的问题首先在方法的内部被人 阅读全文
posted @ 2018-09-30 13:33 CharyGao 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 需要明确一下C#程序(或者说.NET)中的资源。简单的说来,C#中的每一个类型都代表一种资源,而资源又分为两类: 托管资源:由CLR管理分配和释放的资源,即由CLR里new出来的对象; 非托管资源:不受CLR管理的对象,windows内核对象,如文件、数据库连接、套接字、COM对象等; 毫无例外地, 阅读全文
posted @ 2018-09-30 13:32 CharyGao 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 要选择正确的集合,我们首先要了解一些数据结构的知识。所谓数据结构,就是相互之间存在一种或多种特定关系的数据元素的集合。结合下图,我们看一下对集合的分类。 集合分类 在上图中,可以看到,集合总体上分为线性集合和非线性集合。线性集合指元素具有唯一的前驱和后驱的数据结构类型。非线性集合是指具有多个前驱或后 阅读全文
posted @ 2018-09-30 13:28 CharyGao 阅读(246) 评论(0) 推荐(0) 编辑
摘要: Potplayer 是高清影视常用的播放器,界面简洁,功能齐全,比 MPC-HC 和 MPC-BE 更人性化;但其默认方案十分糟糕,预设过多错误,无法正确播放 10-bit 视频,一直饱受诟病。VCB-Stuido 以往发布的数篇高清教程大多偏重于 madVR,在 PotPlayer 的设置方面有些 阅读全文
posted @ 2018-09-30 13:22 CharyGao 阅读(6901) 评论(0) 推荐(0) 编辑