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

首页 / 操作系统 / Linux

GNU C 内联汇编介绍

GNU C 内联汇编介绍

简介1、很早之前就听说 C 语言能够直接内嵌汇编指令。但是之前始终没有去详细了解过。最近由于某种需求,看到了相关的 C 语言代码。也就自然去简单的学习了一下如何在 C 代码中内嵌汇编指令。asm/__asm__ 关键字1、总的来说在 C 代码中我们通过 asm/__asm__ 关键字来告诉编译器将指定的内容当汇编指令处理。废话不多说,先看个例子:#include <stdio.h>int main(int argc, char *argv[])...
Linux系统中C&Cpp程序开发

Linux系统中C&amp;Cpp程序开发

之前一直在Windows系统下进行程序的设计,近期开始学习使用Linux系统,因而打算将程序开发也转移到Linux系统下。今天先简单介绍一下改系统下的C程序开发步骤。首先要预先安装vim和gcc工具,然后我们先编写一个“Hello World”程序:1.在目录下打开命令窗口,输入 vim hello.c 创建并打开 hello.c 文件,按键<I>进入编辑模式,输入如下代码:#include<stdio.h>...
Spring MVC json自动将date类型转换为long

Spring MVC json自动将date类型转换为long

今天早上遇到了一个奇怪得问题,直接给后台发送请求返回得页面信息中显示时间是正常得,如:2016-03-17 15:42:11.0,但是通过AJAX获取得信息中显示得时间竟然是时间戳。我首先检查后台传回来得集合中时间类型是不是就是时间戳,结果打上断点发现集合中显示得时间也是正常得,我按F8跳过之后,查看浏览器传送回来得JSON相应居然是时间戳,我不信,于是反反复复了好几遍,确实是集合显示正常,一响应到前台就成时间戳了,于是我baidu了,给出得方案都是在实体...
Spring MVC 用拦截器+token防止重复提交

Spring MVC 用拦截器+token防止重复提交

首先,防止用户重复提交有很多种方式,总体分为前端JS限制和后端限制,我个人认为后端限制比较妥当(本着能做到更优秀得理念,舍去了前端JS限制重复提交得想法).之前没有做过防止用户重复提交,所以直接百度了一大堆,竟然发现基本上可以归为2到3种真正不同实现得代码,文章虽然有很多,不过大部分代码几乎都出自同一人,想着这么多人用代码应该没问题,所以该复制复制,该手建手建,终于大工搞成,但是测试得时候发现了一个很重要得问题,永远处于重复提交状态,我得天啊,这就很尴尬了...
Spring AOP的实现原理

Spring AOP的实现原理

简介前段时间写的java设计模式--代理模式,最近在看Spring Aop的时候,觉得于代理模式应该有密切的联系,于是决定了解下Spring Aop的实现原理。说起AOP就不得不说下OOP了,OOP中引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。但是,如果我们需要为部分对象引入公共部分的时候,OOP就会引入大量重复的代码。例如:日志功能。AOP技术利用一种称为“横切”的技术,解剖封装的对象内部,并将...
Java utf-8文件处理bom头

Java utf-8文件处理bom头

UTF?UTF,是UnicodeTransformationFormat的缩写,意为Unicode转换格式。 即怎样将Unicode定义的数字转换成程序数据。utf是对Unicode的一种编码格式化。 JVM里面的任何字符串资源都是Unicode,就是说,任何String类型的数据都是Unicode编码。没有例外。既然只有一种编码,那么,我们可以这么说,JVM里面的String是不带编码的。String相当于 char[]。JVM里面的 byte[] 数据...
C#中大List的内存分配

C#中大List的内存分配

之前在开发中只用到List的时候几乎就是拿过来就用,从来没有考虑过List的内存分配问题,试想一个有10万元素的List的在构造和添加元素时内存是如何变化的呢?在MSDN上关于List的Capacity属性是这么解释的,也就是说,当我们添加的元素数量小于等于Capacity的值时,List是不会重新调整内部数据结构,也就是不会重新申请或者分配内存,而当我们添加的元素数量大于Capacity 的值时,List就会不断的调整内部数据结构或者重新申请分配内存,这...
HashMap 源码解析

HashMap 源码解析

HashMap简介:HashMap在日常的开发中应用的非常之广泛,它是基于Hash表,实现了Map接口,以键值对(key-value)形式进行数据存储,HashMap在数据结构上使用的是数组+链表。允许null键和null值,不保证键值对的顺序。HashMap检索数据的大致流程:当我们使用HashMap搜索key所对应的value时,HashMap会根据Hash算法对key进行计算,得到一个key的hash值,再根据hash值算出该key在数组中存储的位置...
Java StringBuffer和StringBuilder类

Java StringBuffer和StringBuilder类

当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类。和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。StringBuilder类在Java 5中被提出,它和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(不能同步访问)。由于StringBuilder相较于StringBuffer有速度优势,所以多...
Java Web之Filter

Java Web之Filter

Filter被称为过滤器或者拦截器,基本功能就是对调用servler过程的拦截,在servlet进行响应和处理前后实现一些特殊功能。其实,Filter过滤器就是一个实现了javax.servlet.Filter接口的类,在javax.servlet.Filter接口中定义了3个方法:init(FilterConfig filterConfig) : 用来初始化过滤器,可以在init()中完成与构造方法类似的初始化功能,如果初始化代码中要使用FilterCo...
Java JDBC基础学习小结

Java JDBC基础学习小结

JDBC是一个Java应用程序接口,作用是封装了对数据库的各种操作。JDBC由类和接口组成,使用Java开发数据库应用都需要4个主要的接口:Driver、Connection、Statement、ResultSet,这些接口定义了使用SQL访问数据库的一般架构。 1、JDBC相关类和APIJDBC是一个Java应用程序接口,作用是封装了对数据库的各种操作。JDBC由类和接口组成,使用Java开发数据库应用都需要4个主要的接口:Driver、Connect...
Google Protobuf安装与使用

Google Protobuf安装与使用

google protobuf是一个灵活的、高效的用于序列化数据的协议。相比较XML和JSON格式,protobuf更小、更快、更便捷。google protobuf是跨语言的,并且自带了一个编译器(protoc),只需要用它进行编译,可以编译成Java、python、C++、C#、Go等代码,然后就可以直接使用,不需要再写其他代码,自带有解析的代码。更详细的介绍见:Protocol Buffersprotobuf安装1、下载protobuf代码googl...
各种排序算法总结

各种排序算法总结

排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。1、选择排序 选择排序是一种直观简单的排序算法,它每次从待排序的数据元素中选出最小(或者最大)元素存放到序列的起始位置,直到全部待排序的数据元素排完。注意,选择排序并不是稳定的排序。 1 /* 2* @brief select sort 3* @param [in] arr: the array be sorted 4*...
各种排序算法的稳定性和时间复杂度小结

各种排序算法的稳定性和时间复杂度小结

选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。冒泡法:这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: 复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。直接插入排序:O(n*n)选择排序:O(n*n)快速排序:平均时间复杂度log2(n)*n,所有内部排序方法中最高好的,大多数情况下总是最好的。归并排序:log2(n)*n堆排序:log2(...
<< 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 >>