作者: John Paul 译者: LCTT Lv Feng 今天,我们来谈论一下 ZFS,一个先进的文件系统.我们将讨论 ZFS 从何而来,它是什么,以及为什么它在科技界和企业界如此受欢迎. 虽然我是一个美国人,但我更喜欢读成 ZedFS 而不是 ZeeFS,因为前者听起来更酷一些.你可以根据你的个人喜好来发音. 注意:在这篇文章中,你将会看到 ZFS 被提到很多次.当我在谈论特性和安装的时候,我所指的是 OpenZFS .自从甲骨文Oracle公司放弃 OpenSolaris 项目之后,ZF…
转自:http://developer.51cto.com/art/200911/162925.htm 51cto 本系列来自NokiaGuy的“真的有外星人吗”博客,系列名称为<Java多线程初学者指南>.整个系列介绍了Java线程的好处,概念和原理,基础操作,高阶操作等内容. 51CTO编辑推荐:Java线程从入门到实践 系列目录: 线程简介介绍了什么是Java的线程及多线程的好处.由于Java是纯面向对象语言,因此,Java的线程模型也是面向对象的. 用Thread类创建线程在Java中…
NHibernate初学者指南系列文章导航   前面的话 经过三个多周的时间,终于将这个系列完成了,谢谢大家的关注和支持,有很多不足之处还望大家包涵. 本系列参考的书籍为NHibernate 3 Beginner's Guide一书. 该书的随书源代码下载地址为:http://d.1tpan.com/tp1240962233 文章导航 第一章:NHibernate介绍 NHibernate初学者指南(1):开篇 第二章:第一个完整的例子 NHibernate初学者指南(2):一个完整的例子 第三…
原文地址:http://www.blogjava.net/nokiaguy/archive/2009/nokiaguy/archive/2009/03/archive/2009/03/19/260753.html 本文为原创,如需转载,请注明作者和出处,谢谢!一.线程概述 线程是程序运行的基本执行单元.当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点.因此,在操…
nginx初学者指南 本文翻译自nginx官方网站:http://nginx.org/en/docs/beginners_guide.html#control 该指南会对nginx做一个简要的介绍,同时描述一些使用nginx完成的简单任务.该指南假设读者的机器上已经安装好了nginx.如果没有安装好,请转移到Installing nginx页面完成安装.该指南描述了如何启动和停止nginx,如何重新载入nginx的配置,解释了配置文件的构成以及如何使用nginx来分发静态资源.如何配置nginx…
FreeBSD上编写x86 Shellcode初学者指南 来源 https://www.4hou.com/binary/14375.html 介绍 本教程的目的是帮助你熟悉如何在FreeBSD操作系统上编写shellcode.虽然我会尽力在这里叙述所有有关的内容,但并不打算把本文写成汇编代码编程的入门读物.在反汇编中,你会注意到汇编代码采用AT&T语法,而我更喜欢使用Intel语法(无论是哪一种,nasm的工作原理是一样的).如果你担心这些差异会带来困扰,请使用谷歌搜索并了解这些差异.请注意我只…
第1章 关系型数据库和SQL SQL初学者指南在本章中,我们将介绍一些背景知识,以便于你能够很快地上手,能在后续的章节中编写SQL语句.本章有两个主题.首先是对本书所涉及到的数据库做一个概述,并且介绍和这些数据库是如何与SQL语言相关的.我还将介绍本书的特点,这能让你快速地决定,针对你正在使用的数据库,应该采用什么样的SQL语法. 其次,我们将介绍关系型数据库的一些关键的设计特点,并且会介绍表.行.列.键以及数据类型.在掌握了这些基本信息后,你马上就可以工作了.事不宜迟,让我们开始吧. 本文仅用…
Python编程初学者指南|百度网盘免费下载 提取码:9ozx 目录  · · · · · · 第1章 启程:Game Over程序1.1 剖析Game Over程序1.2 Python简介1.2.1 Python易于使用1.2.2 Python功能强大1.2.3 Python是面向对象的1.2.4 Python是一种“胶水”语言1.2.5 Python所不在1.2.6 Python有一个强大的社区1.2.7 Python是免费的.开源的1.3 在Windows上设置Python1.4 在其他操…
<Python编程初学者指南>|百度网盘免费下载| 提取码:03b1 内容简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python可以用于很多的领域,从科学计算到游戏开发. <Python编程初学者指南>尝试以轻松有趣的方式来帮助初学者掌握Python语言和编程技能.<Python编程初学者指南>共12章,每一章都会用一个完整的游戏来演示其中的关键知识点,并通过编写好玩的小软件这种方式来学习编程,引发读者的兴趣,降低学习的难度.每章最后都会…
百度云盘:Python编程初学者指南PDF高清电子书免费下载 提取码:bftd 内容简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python可以用于很多的领域,从科学计算到游戏开发. <Python编程初学者指南>尝试以轻松有趣的方式来帮助初学者掌握Python语言和编程技能.<Python编程初学者指南>共12章,每一章都会用一个完整的游戏来演示其中的关键知识点,并通过编写好玩的小软件这种方式来学习编程,引发读者的兴趣,降低学习的难度.每章最后都会对…
原文:NumPy: Beginner's Guide - Third Edition 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 面试求职交流群 724187166 ApacheCN 学习资源 目录 NumPy 初学者指南中文第三版 零.前言 一.NumPy 快速入门 二.从 NumPy 基本原理开始 三.熟悉常用函数 四.为您带来便利的便利函数 五.使用矩阵和ufunc 六.深入探索 NumPy 模块…
苹果三周前发布了Swift. 从那时起,我一直在阅读Swift的官方指南,并在Xcode 6测试版中使用. 我开始喜欢Swift的简单和语法. 与我的团队一起,我仍然在研究新的语言,并看看它与Objective-C(一种30岁的编程语言)相比如何. 同时,我们正在努力工作,看看我们如何教初学者,帮助社区轻松应对Swift. 两周前,我们介绍了Swift的基础知识. 在接下来的几周内,我们将编写一系列教程,以涵盖Swift中的许多新功能. 本周,我们先来看看Optional变量. Optional…
现在,到处都可以看到复杂的 JavaScript 应用程序. 由于这些应用程序变得越来越复杂,一长串的 jQuery 回调语句,或者通过应用程序在各个点执行不同的函数调用,这些都变得无法再让人接受. 这导致了 JavaScript 开发人员了解到传统的软件程序员已经知道了几十年的问题: 组织和效率非常重要,并且可以对应用程序的性能是否优异产生重大影响. 实现组织和效率的其中一个最常用的架构模式,被称为 Model View Controller (缩写为 MVC) . 这种模式鼓励开发人员将其应…
1.为啥我们要学习Linux? 我们干嘛要学习Linux? Linux能给我们带来什么价值呢? Linux给我的感觉就是稳定,免费,性能好. 稳定,体现在哪里?我们使用PC机,安装的操作系统一般是windows xp,windows 7等,这些操作系统,如果你开一个星期,你的机器就要重启了,因为电脑会变的很慢,但是如果你用Linux,一般可以撑一个月不用重启,当前如果机器比较繁忙就例外了.这里我说的是个人PC,而很多互联网公司使用的是廉价的PC Server,目前价格是每台2-3W,PC Ser…
原文档: http://nginx.org/en/docs/beginners_guide.html 译者:Oopsguy 本指南旨在介绍nginx基本内容和一些在Nginx上可以完成的简单任务.这里假设您已经安装了nginx,否则请参阅安装nginx页面.本指南介绍如何启动.停止nginx和重新加载配置,解释配置文件的结构,并介绍如何设置nginx以提供静态内容服务,如何配置nginx作为代理服务器,以及如何将其连接到一个FastCGI应用程序. nginx有一个主进程(Master)和几个工…
介绍 我们已经使用基本的 HTML 编写了一个网页.但是,写出来的 HTML 代码的网页看起来很平淡,没有吸引力. 如何改善这种很平淡的页面呢? 让我们开始使用网页的基本样式来改善页面效果,我们将会使用到 CSS 的功能. 正式开始 CSS 是层叠样式表的缩写,它是为网页添加样式的通用语言,在所有浏览器中都支持.最新的标准是 CSS3,这与早期版本完全向后兼容.CSS3 的规范是由 W3C 开发的,目前仍处于开发阶段,其最新的版本是 CSS Snapshot 2010. 打开你的文本编辑器,键入…
介绍 网络时代已经到来.现在对人们来说,每天上网冲浪已经成为一种最为常见的行为. 在网页浏览器中输入一段文本地址,就像http://www.codeproject.com,等待一下,网页就加载到浏览器窗口中.一个典型的网页是由文本.图像和链接组成的.除去内容上的差异,不同网站的网页也具有不同的外观和感受,以实现在网络上建立自己的身份品牌的目的. 如果你也曾想要了解你屏幕上的这些网页是如何被创建出并以各式各样的方式渲染的,那么这里正是你可以了解到这些知识的地方.让我们一起走进在浏览器中创建了这么多…
介绍 在这篇文章中,我们将会学习如何在 ASP.NET MVC 中创建一个 gridview,就像 ASP.NET Web 表单中的 gridview 一样.服务器端和客户端有许多可用的第三方库,这些库能够提供所有必需的功能,如 Web 表格中的搜索.排序和分页等.是否包含这些功能,取决于应用的特殊需求,例如在客户端和服务器端提供搜索或其它功能的需求等. 可用的库 以下是一些可用的库和插件: Grid.Mvc MVCGrid.NET PagedList.MVC JQuery.Grid JQuer…
在传统的同步开发模式下,当我们调用一个函数时,通过这个函数的参数将数据传入,并通过这个函数的返回值来返回最终的计算结果.但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别.由于线程的运行和结束是不可预料的,因此,在传递和返回数据时就无法象函数一样通过函数参数和return语句来返回数据.本文就以上原因介绍了几种用于向线程传递数据的方法,在下一篇文章中将介绍从线程中返回数据的方法. 欲先取之,必先予之.一般在使用线程时都需要有一些初始化数据,然后线程利用这些数据进行加工处理,并…
Starting, Stopping, and Reloading Configuration To start nginx, run the executable file. Once nginx is started, it can be controlled by invoking the executable with the -s parameter. Use the following syntax: nginx -s signal Where signal may be one o…
我们可以通过synchronized块来同步特定的静态或非静态方法.要想实现这种需求必须为这些特性的方法定义一个类变量,然后将这些方法的代码用synchronized块括起来,并将这个类变量作为参数传入synchronized块.下面的代码演示了如何同步特定的类方法: package com.fly.data; public class SyncThread extends Thread { private static String sync = ""; private String…
synchronized关键字有两种用法.第一种就是在<使用Synchronized关键字同步类方法>一文中所介绍的直接用在方法的定义中.另外一种就是synchronized块.我们不仅可以通过synchronized块来同步一个对象变量, 也可以使用synchronized块来同步类中的静态方法和非静态方法. synchronized块的语法如下: public void method() { … … synchronized(表达式) { … … } } 一.非静态类方法的同步    从&…
要想解决“脏数据”的问题,最简单的方法就是使用synchronized关键字来使run方法同步,代码如下: public synchronized void run() { ... } 从上面的代码可以看出,只要在void和public之间加上synchronized关键字,就可以使run方法同步,也就是说,对于同一个Java类的对象实例,run方法同时只能被一个线程调用,并当前的run执行完后,才能被其他的线程调用.即使当前线程执行到了run方法中的yield方法,也只是暂停了一下.由于其他线…
Java中的变量分为两类:局部变量和类变量.局部变量是指在方法内定义的变量,如在run方法中定义的变量.对于这些变量来说,并不存在线程之间共享的问题.因此,它们不需要进行数据同步.类变量是在类中定义的变量,作用域是整个类.这类变量可以被多个线程共享.因此,我们需要对这类变量进行数据同步. 数据同步就是指在同一时间,只能由一个线程来访问被同步的类变量,当前线程访问完这些变量后,其他线程才能继续访问.这里说的访问是指有写操作的访问,如果所有访问类变量的线程都是读操作,一般是不需要数据同步的. 那么如…
从线程中返回数据和向线程传递数据类似.也可以通过类成员以及回调函数来返回数据.但类成员在返回数据和传递数据时有一些区别,下面让我们来看看它们区别在哪. 一.通过类变量和方法返回数据 使用这种方法返回数据需要在调用start方法后才能通过类变量或方法得到数据.让我们先来看看如下例子会得到什么结果. package com.fly.data; public class MyThread3 extends Thread { private String value1; private String v…
volatile关键字相信了解Java多线程的读者都很清楚它的作用,和sychnorized 一样用于多线程的同步.volatile关键字用于声明简单类型变量,如int.float.boolean等数据类型(synchronized 用于方法或者代码段).如果这些简单数据类型声明为volatile,对它们的操作就会变成原子级别的.但这有一定的限制.例如,下面的例子中的n就不是原子级别的: package mythread; public class JoinThread extends Thre…
在上面的例子中多次使用到了Thread类的join方法.我想大家可能已经猜出来join方法的功能是什么了.对,join方法的功能就是使异步执行的线程变成同步执行.也就是说,当调用线程实例的start方法后,这个方法会立即返回,如果在调用start方法后后需要使用一个由这个线程计算得到的值,就必须使用join方法.如果不使用join方法,就不能保证当执行到start方法后面的某条语句时,这个线程一定会执行完.而使用join方法后,直到这个线程退出,程序才会往下执行.下面的代码演示了join的用法…
与人有生老病死一样,线程也同样要经历开始(等待).运行.挂起和停止四种不同的状态.这四种状态都可以通过Thread类中的方法进行控制.下面给出了Thread类中和这四种状态相关的方法. // 开始线程 public void start( ); public void run( ); // 挂起和唤醒线程 public void resume( ); // 不建议使用 public void suspend( ); // 不建议使用 public static void sleep(long m…
1.采用ClippingNode裁剪范围 写作物接口: function createClipNode(node, stencil, inverted) { var clip_node = new cc.ClippingNode(); // 设置模板节点(就是要裁剪的区域) clip_node.stencil = stencil; // 加入要被裁剪掉的节点(显示的内容) clip_node.addChild(node); if (inverted != undefined) { // 设置反转…
介绍 本文介绍了 HTML5 的一些新特性.主要包含以下几个方面: Web 存储 地理位置 拖放 服务器发送事件 Web存储 HTML5 Web 存储的设计与构想是一个更好的机制来存储客户端的网络数据.它是通过一个网络浏览器作为客户端数据库实现的,它允许网页以键值对的形式来存储数据. 它具有以下特征: 每个原始网站/域最多可存储 5MB 的数据. 你可以通过属性和方法来使用 JavaScript 操作 web 存储器中的数据实现访问. 就像 cookies,你可以选择将保持数据(维持),即使你已…