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

首页 / 操作系统 / Linux

protobuf进行序列化

protobuf进行序列化

Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。一、开发前的准备下载protoful :https://github.com/google/protobuf/releases,下载需要的版本二、创建.proto文件option java_package = "io.nett...
MyBatis动态SQL标签用法详解

MyBatis动态SQL标签用法详解

动态 SQLMyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦。拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。通常使用动态 SQL 不可能是独立的一部分,MyBatis 当然使用一种强大的动态 SQL 语言来改进这种情形,这种语言可以被用在任意的 SQL 映射语句中。动态 SQL 元素和使...
Java 8 新特性之泛型的类型推导

Java 8 新特性之泛型的类型推导

1. 泛型究竟是什么?在讨论类型推导(type inference)之前,必须回顾一下什么是泛型(Generic).泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。通俗点将就是“类型的变量”。这种类型变量可以用在类、接口和方法的创建中。理解Java泛型最简单的方法是把它看成一种便捷语法,能节省你某些Java类型转换(casting)上的操作:List<Apple> ...
Java 8中一些常用的全新的函数式接口

Java 8中一些常用的全新的函数式接口

这一篇属于菜鸟级博客,只是介绍了一些在Java 8中新出现的一些很有用的接口,通过一些简单的例子加以说明,没有深入地阐述。函数式接口什么是函数式接口? 函数式接口,@FunctionalInterface,简称FI,简单的说,FI就是指仅含有一个抽象方法的接口,以@Functionalnterface标注,注意??,这里的抽象方法指的是该接口自己特有的抽象方法,而不包含它从其上级继承过来的抽象方法,例如:@FunctionalInterfaceInter...
Linux系统中的文件管理

Linux系统中的文件管理

1 文件管理的相关函数open close write read lseek 调整文件的读写位置1.1 标C文件处理和UC文件处理函数的比较根据程序的结构可知,标C的文件处理函数比UC的文件处理函数速度快,因为标C函数内部都有输入输出缓冲区,会积累一定数量之后再写入文件,因此读写的效率比较高,使用 time 命令来查看程序运行的时间。real 真实时间 user 用户态时间 sys 内核态时间;注意对于UC的文件处理函数来讲,可以通过自定义缓冲区来提高读写...
Linux系统的内存管理

Linux系统的内存管理

1 局部优先法则 只要局部变量定义,就会屏蔽全局变量。内存管理1.1 内存区域的划分代码区 只读常量区 全局区/数据区 BSS段 堆区 栈区8048444 80486c0804a 804a 808f bfa1e总结1 按照地址从小到大的排列 进程中的内存区域依次是:代码区 只读常量区 全局区/数据区 BSS段 堆区 栈区。2 其中代码区和只读常量区统称为代码区,全局区数据区和BSS段,统称为全局区或者数据区。在3 在进程的内存区域的最上面,用来存放命令行...
UNIX/Linux 系统中的环境变量和库文件的使用方法

UNIX/Linux 系统中的环境变量和库文件的使用方法

1 环境变量的概念和使用1.1 基本概念环境变量一般是指在操作系统中用来指定操作系统运行环境./应用程序环境的一些变量path 就是一个环境变量,一般来说应用程序的执行需要带上路径才可以运行,而定义在环境变量path 中的路径,系统会自动识别,因此对应的应用程序只需要程序名称即可运行。1.2 基本配置1 Windows 中的配置我的电脑 -属性- 高级-环境变量-系统变量-path -点编辑,在path 变量后面增加分号,用于分隔路径,在追加新的路径,设置...
Linux多文件编程及Makefile的编写

Linux多文件编程及Makefile的编写

1 多文件函数编程,把所有的函数分散在不同的源文件里,主函数经常单独写在一个源文件里面2 每个源文件编写配对的.h文件作为扩展名的头文件,不分配内存的内容都可以写在头文件里,至少应该包括函数声明3 每个源文件的使用#include预处理命令,配对头文件是必要头文件,如果头文件在声明的函数中被调用,则也要添加头文件。4 编译多文件程序可以在gcc令后面吧所有的源文件名称列出来;也可以利用makefile文件编译文件makefie中记录了编译过程中所需要的所有...
指针基础和总结

指针基础和总结

1. 数组中的第一个存储区的地址加上下标可以得到下标对应的存储区的地址2. 例如计算机处理数组的方式是 arr[4]- (*arr+4) 得到该存储区的内容3. 数组和指针的区别数组名称不可以赋值,代表的是存储区的首地址 不可以赋值。但是指针变量可以赋值。对他们做sizeof 计算结果不同,对数组名称做计算代表数组的含有的存储区的个数。而所有的指针进行的操作结果是 4对他们进行取地址操作,结果不同。对数组名称取地址会变成二维数组 对指针取地址,和指向的内容...
U-Boot环境变量错误导致Linux系统挂载根文件系统失败

U-Boot环境变量错误导致Linux系统挂载根文件系统失败

u-boot环境变量错误导致:Kernel panic: No init found. Try passing init=option to kernel由于之前需要增大内核分区而修改环境变量,但是修改后的环境变量适应于大于2M的内核运行,当运行小于2M的内核时,环境变量指定的地址和内核相对应的地址内容不匹配导致根文件系统挂载失败,最终使用nor flash中的u-boot启动,用nand erase params指令擦除nand flash中保存环境变量...
Java 集合框架之Collection

Java 集合框架之Collection

下图是 Java 中 Collection 相关的接口与类的关系的类图。其中,类只是集合框架的一部分,比较常用的一部分。 第一次画类图,着实很费劲,不过收获也不小。 下面是相关接口和类的解释说明。文字来自 JDK API 1.6 中文版。原谅我的懒惰,实在不想自己写,太麻烦。如有错误,还请指正。 如图,Set、Queue、List 接口都继承自 Collection 接口。 AbstractCollection<E> 此类提供 C...
Java内存管理原理及内存区域详解

Java内存管理原理及内存区域详解

经常有人把Java内存区分为堆内存(Heap)和栈内存(Stack),这种分法比较粗糙,Java内存区域的划分实际上远比这复杂。这种划分方式的流行只能说明大多数程序员最关注的、与对象内存分配关系最密切的内存区域是这两块。其中所指的“堆”是为 Java 堆,所指的“栈”是为虚拟机栈或者说是虚拟机栈中局部变量表部分。 Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如下图所示: 程序计数器 程序计...
使用SSM框架搭建Web服务器实现登录功能(Spring+SpringMVC+Mybatis)

使用SSM框架搭建Web服务器实现登录功能(Spring+SpringMVC+Mybatis)

写在前面初学Java EE,虽然知道使用框架会使开发更加便捷高效,但是对于初学者来说,感到使用框架比较迷惑,尤其是各种jar包的引用、各种框架的配置、注解的使用等等。最好的学习方法就是实践,于是下载了一个现成的DEMO,通过简单的修改先成功在自己电脑上跑起来,然后再逐个文件进行分析学习,最终才能从总体的高度上掌握框架的运行机制和配置方法,这样才能在实际运用中灵活配置,不会再局限于示例框架中。SSM框架搭建流程SSM框架Web程序的流程http://www....
SSM框架Web程序的流程(Spring SpringMVC Mybatis)

SSM框架Web程序的流程(Spring SpringMVC Mybatis)

SSM框架的Web程序主要用到了三个技术:Spring:用到了注解和自动装配,就是Spring的两个精髓IOC(反向控制)和 AOP(面向切面编程)。SpringMVC:用到了MVC模型,将逻辑代码放到Controller层处理。Mybatis:用到了与数据库打交道的层面,放在所有的逻辑之后,处理与数据库的CRUD相关的操作。要完成一个功能:先写实体类entity,定义对象的属性,(可以参照数据库中表的字段来设置,数据库的设计应该在所有编码开始之前)。写M...
网络IPC:套接字

网络IPC:套接字

网络进程间通信:socket API简介不同计算机(通过网络相连)上运行的进程相互通信机制称为网络进程间通信(network IPC)。在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的。其实TCP/IP协议族已经帮我们解决了这个问题,网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。这样利用三元组(ip地址,协议,端口)构成套接字,...
智能指针 auto_ptr、scoped_ptr、shared_ptr、weak_ptr

智能指针 auto_ptr、scoped_ptr、shared_ptr、weak_ptr

什么是RAII?RAII是Resource Acquisition Is Initialization的简称,是C++语言的一种管理资源、避免泄漏的惯用法。RAII又叫做资源分配即初始化,即:定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放。 为什么要使用RAII?在计算机系统中,资源是数量有限且对系统正常运行具有一定作用的元素。比如:网络套接字、互斥锁、文件句柄和内存等等,...
<< 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 >>