Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Android源码分析之单例模式

Android源码分析之单例模式

模式的定义确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。使用场景确保某个类有且只有一个对象的场景。UML类图角色介绍Singleton : 单例类.简单示例单例模式是设计模式中最简单的,只有一个单例类,没有其他的层次结构与抽象。该模式需要确保该类只能生成一个对象,通常是该类需要消耗太多的资源或者没有没有多个实例的理由。例如一个公司只有一个CEO、一台电脑通常只有一个显示器等。下面我们以公司里的CEO为例来简单演示一下,一个公司可以有几个...
Java 8 Update 20 的新特性 —— 字符串去重

Java 8 Update 20 的新特性 —— 字符串去重

字符串在任何应用中都占用了大量的内存。尤其数包含独立UTF-16字符的char[]数组对JVM内存的消耗贡献最多——因为每个字符占用2位。内存的30%被字符串消耗其实是很常见的,不仅是因为字符串是与我们互动的最好的格式,而且是由于流行的HTTP API使用了大量的字符串。使用Java 8 Update 20,我们现在可以接触到一个新特性,叫做字符串去重,该特性需要G1垃圾回收器,该垃圾回收器默认是被关闭的。字符串去重利用了字符串内部...
编码 Unicode 及其在 JavaScript 中的使用

编码 Unicode 及其在 JavaScript 中的使用

一、javascript 使用 unicode16 字符集,可以使用中文变量名和函数名计算机使用 8 位(bit)二进制表示一个字节(Byte),计算机内存最小寻址单位就是 1 字节。早期为了在计算机上使用同一的方式使用字符,使用无符号整数来标记字符。ANSI(美国国家标准局)制订了ASCII(American Standard Code for Information Interchange,美国信息交换标准代码),使用一个字节大小的二进制数来编码每个字...
一个小程序的Python和Bash版本比较

一个小程序的Python和Bash版本比较

最近有一个小需求:在一个目录下有很多文件,每个文件的第一行是BEGIN开头的,最后一行是END开头的,中间每一行有多列,数量不等,第一列称为"DN", 第二列称为"CV",DN和CV的联合作为主键,现在需要检测文件中是否有重复的DN-CV。于是写了个简单的python程序#!/usr/bin/pythonimportosimportsyscmd="cat/home/zhangj/hosts/*|grep-vBEGIN|grep-vEND"defcheck_...
Java中接口里定义的成员变量

Java中接口里定义的成员变量

在interface里面的变量都是public static final 的。所以你可以这样写: public static final int i=10; 或则 int i=10;(可以省略掉一部分) 注意在声明的时候要给变量赋予初值 解释: 首先你要弄清接口的含义.接口就是提供一种统一的’协议’,而接口中的属性也属于’协议’中的成员.它们是公共的,静态的,最终的常量.相当于全局常量. 抽象类...
Cocos2d-x(3.0+)内存管理框架和机制

Cocos2d-x(3.0+)内存管理框架和机制

Cocos2d-x用了一种引用计数的方式来管理内存对象,通过类Ref、AutoreleasePool和PoolManager来完成。Ref为引用计数类,其构造函数是protected的访问类型,当Ref的对象被创建的时候它的引用计数为1在对象创建的时候会调用create,然后调用autorelease,将对象放入对象池(AutoreleasePool的一个对象中)方便后面的统一管理,retain增加引用计数,release调用时会立刻减少引用计数引擎初始化...
CUDA编程入门----Thrust库简介

CUDA编程入门----Thrust库简介

一、简介Thrust开源库的简介是“code at speed of light”。光速代码的实现听上去太过夸张,但是thrust在cuda硬件加速中确实有着无比强大的功能。Thrust是并行算法和数据结构的基于GPU CUDA的C++库。Thrust主要通过管理系统底层的功能比如memory access(内存获取)和memory allocation(内存分配)来实现加速,使得工程师们在GPU编程的环境下能更focus在算法的设...
Go 语言的依赖注入

Go 语言的依赖注入

依赖注入(DI)是一种解耦组件之间依赖关系的设计模式。在需要的时候,不同组件之间可以通过一个统一的界面获取其它组件中的对象和状态。Go语言的接口设计,避免了很多需要使用第三方依赖注入框架的情况(比如Java,等等)。我们的注入方案只提供非常少的类似Dager或Guice中的注入方案,而专注于尽量避免手动去配置对象和组件之间的依赖关系。因为,我们认为如果在Go代码库中,注入能够更加容易理解,就根本没有必要那样。在Go中实现注入只需要这几个简单的步骤:全局变量...
AngularJS - 下一个大框架

AngularJS - 下一个大框架

AngularJSAngularJS是web应用的下一个巨头。AngularJS如果为创建web应用而设计,那它就是HTML的套路了。具有数据绑定, MVW, MVVM, MVC, 依赖注入的声明式模板和出色的可测试性都是用纯客户端 JavaScript来实现的! AngularJS 是一个创建富客户端应用的JavaScript MVC框架,它组织良好,经过严格测试,多功能,强大并且十分灵活。你仍然需要具有服务端后台,但大多数的用户交互逻辑将优雅地放到客户...
Linux大型机如何与服务器市场抗衡?

Linux大型机如何与服务器市场抗衡?

你应该在大型机上部署Linux吗? 关于Linux大型机有许多积极和消极的反馈,因此证实Linux大型机并不适合所有的IT部门。两位专家针对什么才适合数据中心这一问题展开了唇枪舌战:在大型机上运行Linux工作负载还是在分布式服务环境中运行它们。 赞成方:在大型机上运行Linux工作负载 通过将Linux工作负载放在大型机上运行,可以获得更好的可靠性、可用性、安全性和更好的性能。 Clabby Analytics公司总裁Joe Clabby说:&l...
<< 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 >>