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

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

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(...
Swift 基础语法

Swift 基础语法

一、变量和常量定义let定义常量,一经赋值不允许再修改var定义变量,赋值之后仍然可以修改//: # 常量//: 定义常量并且直接设置数值let x = 20//: 常量数值一经设置,不能修改,以下代码会报错// x = 30//: 使用 `: 类型`,仅仅只定义类型,而没有设置数值let x1: Int//: 常量有一次设置数值的机会,以下代码没有问题,因为 x1 还没有被设置数值x1 = 30//: 一旦设置了数值之后,则不能再次修改,以下代码会报错,...
NSURLSession的GET和POST请求基本使用

NSURLSession的GET和POST请求基本使用

简介:因为在iOS9.0之后,以前使用的NSURLConnection过期,苹果推荐使用NSURLSession来替换NSURLConnection完成网路请求相关操作。所以在此介绍如何使用NSURLSession来发送GET请求和POST请求。后续又将其封装起来,方便以后可以通过一个方法实现所有过程!! http://www.linuxidc.com/Linux/2016-04/129798.htm使用步骤: 1)确定请求路径 2)创建请求对...
NSURLSession的GET和POST请求的封装

NSURLSession的GET和POST请求的封装

简介:因为在iOS9.0之后,以前使用的NSURLConnection过期,苹果推荐使用NSURLSession来替换NSURLConnection完成网路请求相关操作。之前已经在 http://www.linuxidc.com/Linux/2016-04/129797.htm介绍如何使用NSURLSession来发送GET请求和POST请求。这里会将其封装起来,方便以后可以通过一个方法实现所有过程。基本思路: 1.创建一个继承自NSObject的自定义...
插入排序与归并排序

插入排序与归并排序

前言: 排序算法应该算是算法入门级的东西了,这里重新学习算法,先暂时归纳下个人对插入排序与归并排序两种算法的理解。插入排序: 插入排序可以对应到现实生活中的排队去停车场停车的场景。假设某家饭店的饭菜十分好吃(流口水),导致来这里吃饭的人特别多,后面来吃饭准备停车的车排起了长队。每次只允许一辆车过去找位置,找到位置之后才允许下一辆车进入,依此类推,直到所有的车都停好。转换成专业的数学模型就是:现有一个无序数组 A[n],要想对其进行排序。我们先从一个数开...
C++类实现单向链表的增删查和反转操作

C++类实现单向链表的增删查和反转操作

数据结构这东西,理解起来不算难,但是实现难度就不小了,虽然思路很清晰,但不知道从何下手还有语言的细节问题一直是阻碍初学者的主要障碍(比如我)。今天用了一下午时间终于独立完成了链表操作。找网上的代码,大多用了结构体,还有些并不适合刚学C++或者数据结构的人看,于是我是用类写的,代码比较符合学生的习惯和水平。先看类定义class node{public: int data; node *next;};class linklist{ node *h; &...
Python多进程并发操作中进程池Pool的应用

Python多进程并发操作中进程池Pool的应用

在利用Python进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量的时间。当被操作对象数目不大时,可以直接利用multiprocessing中的Process动态成生多个进程,10几个还好,但如果是上百个,上千个目标,手动的去限制进程数量却又太过繁琐,这时候进程池Pool发挥作用的时候就到了。Pool可以提供指定数量的进程,供用户调用,当有新的请求提交到pool中时,如果池还没有满,那么就会创建一个新的进程用来执行...
Python多线程中锁的概念

Python多线程中锁的概念

Python的锁可以独立提取出来mutex = threading.Lock()#锁的使用#创建锁mutex = threading.Lock()#锁定mutex.acquire([timeout])#释放mutex.release()概念好几个人问我给资源加锁是怎么回事,其实并不是给资源加锁, 而是用锁去锁定资源,你可以定义多个锁, 像下面的代码, 当你需要独占某一资源时,任何一个锁都可以锁这个资源就好比你用不同的锁都可以把相同的一个门锁住是一个道理im...
C标准库-标准I/O库函数

C标准库-标准I/O库函数

1、fopen/fclose 操作文件之前要先用fopen打开文件,操作完毕要用fclose关闭文件。打开文件就是在操作系统中分配一些资源用于保存该文件的状态信息,并得到该文件的标示,以后用户程序就可以用这个标示对文件做各种操作,关闭文件则释放文件在操作系统中占用的资源,使文件的表示失效,用户程序就无法再操作这个文件了。#include<stdio.h>FILE*fopen(constchar*path,constchar*mode);返回值...
Swift构造函数和便利构造函数

Swift构造函数和便利构造函数

构造函数基础构造函数是一种特殊的函数,主要用来在创建对象时初始化对象,为对象成员变量设置初始值,在 OC 中的构造函数是 initWithXXX,在 Swift 中由于支持函数重载,所有的构造函数都是init构造函数的作用分配空间alloc设置初始值init必选属性自定义Person对象class Person: NSObject {/// 姓名var name: String/// 年龄var age: Int}提示错误Class "Person" ha...
Swift函数和闭包

Swift函数和闭包

简介:本文主要讲:函数的定义,外部参数的用处,无返回类型的三种函数定义方式闭包的定义,闭包的概念和用法,尾随闭包的写法,解除循环引用的方法一、函数:代码实现函数的定义格式func 函数名(行参列表) -> 返回值 {代码实现}调用let result = 函数名(值1, 参数2: 值2...)func sum(a: Int, b: Int) -> Int {return a + b}let result = sum(10, b: 20)没有返回...
.NET跨平台实践:用C#开发Linux守护进程

.NET跨平台实践:用C#开发Linux守护进程

Linux守护进程(Daemon)是Linux的后台服务进程,它脱离了与控制终端的关联,直接由Linux init进程管理其生命周期,即使你关闭了控制台,daemon也能在后台正常工作。一句话,为Linux开发与控制台无关的,需要在后台长时间不间断运行的“服务程序”,Daemon技术是非常重要的。Daemon程序一般用c/c++开发。不过,我今天要讲的,不是怎么用c/c++开发daemon,而是用C#!一,创建Daemon程序:用V...
JVM-类加载机制

JVM-类加载机制

虚拟机类加载机制虚拟机把描述的类的数据从class文件加载到内存后,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。类加载的时机类被加载到虚拟机内存开始,到卸载出内存为止。它的整个生命周期包括:类加载(Loading),验证(Verification),准备(Preparation),解析(Resolution),初始化(Initialization),使用(Using)和卸载(Unloading)...
JVM-字节码指令

JVM-字节码指令

Java虚拟机字节码指令了解了class文件,我觉得就很有必要去了解一下JVM中的字节码指令,那样堆class文件以及JVM运行机制也后很大的帮助.Java虚拟机的指令由一个字节长度的,代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表所需参数(称为操作数,Oprands)而构成.由于Java虚拟机采用面向操作数栈而不是寄存器的架构,所以大多参数的指令都不包含操作数,只有一个操作码.字节码指令的一些特性由于限制了Java虚拟...
获取C++类成员变量的地址偏移

获取C++类成员变量的地址偏移

今天有在校学生问怎么获取类中的成员变量的地址偏移量,这个应该是很多初学C++的人很好奇的问题。以前我在学校的时候,也有过这种需求。忘了当时是要写什么“奇怪的程序”了,反正需要获取一个类的成员变量的地址偏移量。其实这个问题很简单,如果你了解C++的类对象内存分布的话,这个根本不是问题。我给他举了个例子:struct A{ int i;};&((A*)0)->i; // 这样就可以获取到偏移量了。他表示不理解,OK,我们...
Java框架基础——反射(reflect)

Java框架基础——反射(reflect)

阅读目录一、Class类的使用二、动态加载类三、获取方法信息四、获取成员变量、构造函数信息五、方法的反射六、通过反射了解集合泛型的本质一、Class类的使用1)在面向对象(oop)的世界里,万事万物皆对象。 在Java中,包括基本的数据类型,都是对象。 Class c = int.class;//int 的类类型 那就是说: 类是对象,类是java.lang.Class类的实例对象。这个对象我们称之为类类型。 换言之,每一个类都有一个类类型,这个...
<< 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 >>