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

首页 / 操作系统 / Linux

UNIX环境高级编程笔记之标准I/O库

UNIX环境高级编程笔记之标准I/O库

一、总结 文件I/O一章讲了不带缓冲的I/O,本章讲的是带缓冲的I/O。不带缓冲针对的是内核的系统调用,而带缓冲针对的是用户空间的标准库函数,是基于带缓冲的I/O实现的。不带缓冲的I/O通过文件描述符的方式来引用一个文件,而带缓冲的I/O则通过文件流(stream)的方式来引用文件。至于为什么要用流的方式,原因就是带缓冲区,这样文件的读写就要经过缓冲区做缓冲,就像水流一样。 引入标准IO库的目的是为了提高IO的效率,避免频繁的进行read/write系...
PHP基础面试题

PHP基础面试题

一、PHP中几个输入函数echo, print(), print_r(), printf(), sprintf(), var_dump()的区别。1.echo : 是语句不是函数,没有返回值,可输出多个变量值,不需要圆括号。不能输出数组和对象,只能打印简单类型(如int,string);2.print : 是语句不是函数, 有返回值1,只能输出一个变量, 不一定需要圆括号,不能输出数组和对象,只能打印简单类型(如int,string);3.print_r(...
八大排序算法JS及PHP代码实现

八大排序算法JS及PHP代码实现

从学习数据结构开始就接触各种算法基础,但是自从应付完考试之后就再也没有练习过,当在开发的时候也是什么时候使用什么时候去查一下,现在在学习JavaScript,趁这个时间再把各种基础算法整理一遍,分别以JS和PHP语法的方式编写代码。 1.冒泡排序 原理:临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束 时间复杂度:平均情况:O(n...
Android官方提供的支持不同屏幕大小的全部方法

Android官方提供的支持不同屏幕大小的全部方法

本文将告诉你如何让你的Android应用程序支持各种不同屏幕大小,主要通过以下几种办法:让你的布局能充分的自适应屏幕根据屏幕的配置来加载合适的UI布局确保正确的布局应用在正确的设备屏幕上提供可以根据屏幕大小自动伸缩的图片使用 "wrap_content" 和 "match_parent"为了确保你的布局能够自适应各种不同屏幕大小,你应该在布局的视图中使用"wrap_content"和"match_parent"来确定它的宽和高。如果你使用了"wrap_co...
Android通知栏微技巧,那些你所没关注过的小细节

Android通知栏微技巧,那些你所没关注过的小细节

对于通知栏的使用,Android各个版本其实都有比较大的调整,包括即将发布的Android 7.0版本,通知栏功能上又要有大动作。那么新版本的通知栏API无法兼容老系统这就会是一个很头疼的问题。为此Android在appcompat-v7库中提供了一个NotificationCompat类来处理新老版本的兼容问题,我们在编写通知功能时都使用NotificationCompat这个类来实现,appcompat-v7库就会自动帮我们做好所有系统版本的兼容性处理...
Android Studio新功能解析,你真的了解Instant Run吗?

Android Studio新功能解析,你真的了解Instant Run吗?

什么是Instant Run?我们都知道,Android Studio功能非常强大,在各个功能性方面都要优于Eclipse,唯独在速度方面被吐糟得比较惨。Android Studio团队为此也是做了很多的优化,在Android Studio 2.0中,对速度方面进行了大幅度的改进:可以看到,Android Studio 2.0中编译和部署的速度都有了很大程度的提升,但唯独安装速度没有得到提升,这很正常嘛,毕竟应用程序的安装快慢是由我们手机的硬件配置来决定的...
Java的包导入机制总结与剖析

Java的包导入机制总结与剖析

Java中有两种包的导入机制总结如下: 1>>单类型导入(single-type-import),例如import java.io.File; 2>>按需类型导入(type-import-on-demand),例如 import java.io.*; 关于这两种导入类型大家各有所爱,众说纷纭。这里分析一下这两种导入类型的大致工作原理供大家参考。 单类型导入比较好理解,仅仅导入一个public类或者接口。而对于按需类型导入,有人...
Java学习笔记之 static

Java学习笔记之 static

说明:这只是本人的学习Java的个人心得与见解,分享出来,也算是自己的笔记。(本人小白,有错误的话望大神指出,不喜勿喷。-.-)静态变量– 在一个Java类中,可以使用static关键字来修饰成员变量,该变量被称作静态变量– 静态变量被所有实例共享,可以使用“类名.变量名”的形式来访问– static关键字只能用于修饰成员变量,不能用于修饰局部变量,否则编译会报错,下面的Demo是违反语法的。pu...
网络编程Socket的阻塞和非阻塞IO

网络编程Socket的阻塞和非阻塞IO

网络应用程序一个很重要的工作是传输数据。传输数据的过程不一样取决于使用哪种“交通工具“,但是传输的方式都是一样的:都是以字节码传输。JAVA开发网络程序传输数据的过程和方式是被抽象了的,我们不需要关注底层接口,只需要使用Java API 或其他网络框架就能达到数据传输的目的。发送数据和接收数据都是字节码。Socket网络编程我就不多啰嗦了,这里我通过两个简单的示例比较下阻塞式IO(OIO)和非阻塞式IO(NIO)。OIO中,每个线程...
Java 内部类浅析

Java 内部类浅析

这篇文章主要讲述Java 内部类的相关知识,主要讲解下面的知识点。内部类的概念内部类的特点与使用多种形式内部类为什么要使用内部类内部类的概念内部类是指在一个类的内部定义了另一个类。例如下面的代码中例子,就是一个简单的内部类。public class A {private int a;public class B{private int b;}}在这个类中,我们可以看出内部类B就像A的成员一样。所以我们对内部类的修饰也可以用很多种修饰符,比如我们是不可能对一...
Socket编程学习

Socket编程学习

Socket的服务器端需要在某个端口上开启服务器类型的Socket,即java.net.ServerSocket,通过它的accpet方法等待并接收客户端的请求,返回的是一个java.net.Socket对象,如果一直没有客户端的请求,那么accept方法将会一直等待。Socket客户端根据服务器的IP地址(域名)和端口号创建一个Socket对象,连接服务器。服务器端和客户端都持有一个Socket对象,服务器端的Socket从服务器端指向客户端,而客户端的...
Java线程中生产者与消费者的问题

Java线程中生产者与消费者的问题

一、概念 生产者与消费者问题是一个金典的多线程协作的问题.生产者负责生产产品,并将产品存放到仓库;消费者从仓库中获取产品并消费。当仓库满时,生产者必须停止生产,直到仓库有位置存放产品;当仓库空时,消费者必须停止消费,直到仓库中有产品。 解决生产者/消费者问题主要用到如下几个技术:1.用线程模拟生产者,在run方法中不断地往仓库中存放产品。2.用线程模拟消费者,在run方法中不断地从仓库中获取产品。3.仓库类保存产品,当产品数量为0时,调用wait方法,...
Linux shell数组

Linux shell数组

引言 在Linux平台上工作,经常需要我们使用shell来编写一些有用、有意义的脚本程序,有时我们会经常使用shell数组。那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来我们逐一的进行讲解,shell中的数组。数组的定义 何为数组?学过计算机编程语言的同学都知道,数组的特性就是一组数据类型相同的集合(不包括有一些编程语言提出来的关联数组的概念)。那么shell中数组是怎么定义的呢,我们来看两种数据类型:一是数值类型,二是字符串类型;虽...
Lambda表达式(C语言)

Lambda表达式(C语言)

前言 先来啰嗦几句,身边的朋友,同事都喜欢在文章上记录自己在学习计算机编程技术路程上的一些问题和心得。就我个人而言,这是个好习惯,特别是在计算机编程领域,技术方向种类繁多,永无止境。所以,我也开始我人生中第一份文章,希望看到的朋友多多鼓励和讨论,在此谢过。对于计算技术,越是深入越越数学挂钩,想达到大神级别,嗯,我是有自知之明的。计算机技术虽然之多,并不需要我们每一个领域每一项技术都特别的精通。当然,能做到,我由衷的佩服和羡慕,只要我们专注于某些技术领域并...
Java NIO服务器端开发

Java NIO服务器端开发

阅读目录一、NIO类库简介二、NIO服务器端开发三、参考资料一、NIO类库简介 1、缓冲区Buffer Buffer是一个对象,包含一些要写入和读出的数据。 在NIO中,所有的数据都是用缓冲区处理的,读取数据时,它是从通道(Channel)直接读到缓冲区中,在写入数据时,也是从缓冲区写入到通道。 缓冲区实质上是一个数组,通常是一个字节数组(ByteBuffer),也可以是其它类型的数组,此外缓冲区还提供了对数据的结构化访问以及维护读写位置等信息。 ...
<< 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 >>