- 博客(153)
- 资源 (3)
- 收藏
- 关注
转载 Java JDBC下执行SQL的不同方式、参数化预编译防御
Java JDBC下执行SQL的不同方式、参数化预编译防御 原文 http://www.cnblogs.com/LittleHann/p/3695332.html目录1. Java JDBC简介2. Java JDBC下执行SQL的不同方式3. Java JDBC编程实践1. Java JDBC简介数据库驱动程序是JDBC程序和数据
2016-10-05 18:05:15
6259
转载 用java调用oracle存储过程总结
用java调用oracle存储过程总结//1、call+包名+存储过程名(传入、传出值用?) String str="{call SMSBUSINESS.deleteZhZMember(?,?,?)}";//2、建立连接 Connection conn=null; conn=DriverManager.getConnection();//3、使用java.s
2016-10-05 17:46:01
407
转载 HTTP请求头和响应头
HTTP Request Header 请求头Header解释示例Accept指定客户端能够接收的内容类型Accept: text/plain, text/htmlAccept-Charset浏览器可以接受的字符编码集。Accept-Charset: iso-8859-5Ac
2016-09-17 10:44:13
764
转载 24点游戏题解
http://blog.youkuaiyun.com/cto_51/article/details/883338824点游戏题解一、问题描述80年代全世界流行一种数字游戏,在中国我们把这种游戏称为“24点”。现在我们把这个有趣的游戏推广一下:您作为游戏者将得到6个不同的自然数作为操作数,以及另外一个自然数作为理想目标数,而您的任务是对这6个操作数进行适当的算术运算,要求运算结果
2015-03-19 17:06:13
843
原创 回溯法解0-1背包问题
#include using namespace std; /*回溯法解0-1背包问题*/int x[100]={0}; int p[]={9,6,1,4,1};//价值int v[]={4,3,5,2,5};//体积int max_p=0;//最大价值int cur_v=0; //最大体积int cur_p=0; //当前价值int
2015-03-19 11:41:45
878
原创 二叉树的操作
#include #include using namespace std;#include #include /*二叉树的 : 建立先序遍历中序遍历后序遍历层次遍历二叉树的深度二叉树的宽度*/struct BiNode{int data;BiNode *left,*right;};void creat
2015-03-18 21:46:11
467
转载 动态规划:从新手到专家
动态规划:从新手到专家作者:Hawstein出处:http://hawstein.com/posts/dp-novice-to-advanced.html前言本文翻译自TopCoder上的一篇文章: Dynamic Programming: From novice to advanced ,并非严格逐字逐句翻译,其中加入了自己的一些理解。水平有限,还望指摘。
2015-03-17 10:59:54
350
原创 打印螺旋数组
#include #include #include #include #include #include using namespace std;void print(int **num ,int row,int col,int start){ int endX=col-1-start; int endY=row-1-start; //→ cout<<"→"<<end
2014-10-12 14:41:20
376
转载 二维数组作函数参数
[原文开始] 可以用二维数组名作为实参或者形参,在被调用函数中对形参数组定义时可以可以指定所有维数的大小,也可以省略第一维的大小说明,如: void Func(int array[3][10]); void Func(int array[][10]); 二者都是合法而且等价,但是不能把第二维或者更高维的大小省略,如下面的定义是不合法的:
2014-10-12 11:17:44
424
转载 五种I/O 模式
五种I/O 模式:【1】 阻塞 I/O (Linux下的I/O操作默认是阻塞I/O,即open和socket创建的I/O都是阻塞I/O)【2】 非阻塞 I/O (可以通过fcntl或者open时使用O_NONBLOCK参数,将fd设置为非阻塞的I/O)【3】 I/O 多路复用 (I/O多路复用,通常需要
2014-10-07 20:37:38
432
转载 IO
1 基本概念 IO操作是程序设计里的一个重头戏,尤其是在Linux中,管道、网络等设备都看成了文件描述符,因此IO对于Linux程序设计更加重要。近年来,随着Nginx、lighttpd等新型高性能web服务器的广泛使用,其内部采用的epoll、异步IO等IO模型逐渐走入了人们的视野。本文将探究Linux各个IO模型的来龙去脉、基于原理与相互之间的联系,并进行IO效率与性能的
2014-10-07 20:36:08
373
转载 MTU & MSS 详解记录
MTU & MSS 详解记录http://infotech.blog.51cto.com/391844/123859/ 先学习理解一下帧的封装格式:需要注意的是,区别两种帧封装格式:802标准帧和以太网帧1,在802标准定义的帧格式中,长度字段是指它后续数据的字节长度,但不包括C R C检验码。RFC 1042(IEEE 802)
2014-10-06 20:21:43
628
转载 以太网最小帧长为什么是64字节
http://blog.sina.com.cn/s/blog_564fc50a0100lypt.html以太网最小帧长为什么是64字节。 首先我们先来看一下以太网数据帧的格式: 以太网是无连接的,不可靠的服务,采用尽力传输的机制。以太网CSMA/CD我就不多讲了,我相信大家都了解这个原理。 以太网是不可靠的,这意味着它并不知道对方有没有收到自己
2014-10-06 19:34:53
10361
转载 Linux 多线程同步之哲学家用餐问题
有五个哲学家公用一张餐桌,分别坐在周围的五张椅子上,在餐桌上有五个碗和五只筷子,他们的生活方式是交替地进行思考和用餐。平时,一个哲学家进行思考,饥饿时便试图拿取其左右最靠近他的筷子,只有在他拿到两只筷子时才能进餐,进餐完毕,放下筷子继续思考。(计算机操作系统 第三版)书上为代码:[cpp] view plaincopyprint?
2014-10-06 16:41:09
675
转载 自旋锁
http://blog.youkuaiyun.com/kyokowl/article/details/6294341POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(Cri
2014-10-06 15:27:04
404
转载 同一进程中的线程究竟共享哪些资源
转自:http://blog.chinaunix.net/u1/43706/showart_1161524.html线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。 进程拥有这许多共性的同时,还拥有自己的个性。有了这些个性,线程才
2014-10-05 21:11:13
488
转载 linux exec函数家族
1.exec家族一共有六个函数,分别是:(1)int execl(const char *path, const char *arg, ......);(2)int execle(const char *path, const char *arg, ...... , char * const envp[]);(3)int execv(const char *path, char *co
2014-10-02 20:22:13
467
原创 C语言中无符号数和有符号数相加问题
C语言中无符号数和有符号数相加问题看个题:#include int main() { unsigned int a=6; int b=-20; printf("%d\n",a+b); (a+b)>6? puts(">6"):puts("return 0; } 结果是:-14 >6
2014-09-25 19:12:24
899
转载 用户级线程和内核级线程
转载于http://col1.blog.163.com/blog/static/1909775192012719114033352/1 .内核级线程:切换由内核控制,当线程进行切换的时候,由用户态转化为内核态。切换完毕要从内核态返回用户态;可以很好的利用smp,即利用多核cpu。windows线程就是这样的。 2. 用户级线程内核的切换由用户态程序自己控制内核切换,不需要内核干涉,
2014-09-22 16:55:21
464
原创 内存管理
当前,绝大多数嵌入式平台上的软件都采用C语言编写。除了代码简洁、运行高效之外,灵活操作内存的能力更是C语言的重要特色。然而,不恰当的内存操作通常也是错误的根源之一。如“内存泄漏” ——不能正确地释放已分配的动态内存,就是一种非常难于检测的存错误。持续的内存泄漏会使程序性能下降到最终完全不能运行,进而影响到所有其它有动态内存需求的程序,在某些相对简单的嵌入式平台上甚至会妨碍操作系统的运转。再如“写内
2014-09-22 16:47:33
357
原创 01背包问题,是用来介绍动态规划算法最经典的例子
转自:http://blog.youkuaiyun.com/mu399/article/details/772281001背包问题,是用来介绍动态规划算法最经典的例子,网上关于01背包问题的讲解也很多,我写这篇文章力争做到用最简单的方式,最少的公式把01背包问题讲解透彻。01背包的状态转换方程 f[i,j] = Max{ f[i-1,j-Wi]+Pi( j >= Wi ), f[i-1,j]
2014-09-19 20:35:33
1150
原创 输入n,m,从1-n个数字里输出和为m的组合
利用动态规划法,#include #include using namespace std; vector result;void find(int n,int m){ if(n<0||m<0) return; if(m==0) { for(vector::iterator i= result.begin();i!=result.end();i++) {
2014-09-19 16:27:35
1418
转载 socket阻塞与非阻塞,同步与异步
socket阻塞与非阻塞,同步与异步转自:http://blog.youkuaiyun.com/hguisu/article/details/74533901. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步: 所谓同步,就是在发出一个功能调用
2014-09-19 11:36:37
348
转载 Linux中select poll和epoll的区别
Linux中select poll和epoll的区别http://www.cnblogs.com/bigwangdi/p/3182958.html在Linux Socket服务器短编程时,为了处理大量客户的连接请求,需要使用非阻塞I/O和复用,select、poll和epoll是Linux API提供的I/O复用方式,自从Linux 2.6中加入了epoll之后,在高性能服务器领域
2014-09-18 20:07:20
341
转载 linux编程-守护进程编写
http://blog.youkuaiyun.com/zg_hover/article/details/2553321 linux编程-守护进程编写 守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待 处理某些发生的事件。守护进程是一种很有用的进程。 Linux的大多数服务器就是用守护进
2014-09-18 18:31:58
350
转载 ps命令
http://desert.blog.51cto.com/779694/335979系统维护的时候难免会遇到进程的状态的查询和管理,到底什么是R,有的是S,有的还是S+呢?一直有些混沌的问题,今天细细的来总结一下: ps是用来报告系统中程序执行状况的命令这个是无可厚非的,linux进程的状态:D 不可中断睡眠 (通常是在IO操作) 收到信号不唤醒和不可运行, 进程必
2014-09-18 16:35:46
377
原创 子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码。
子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码。yir#include #include #include #include #include pthread_mutex_t mutex;pthread_cond_t cond;int n=1;void *fu
2014-09-18 15:47:02
784
原创 编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。
编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。#include #include #include #include #include //#define DEBUG 1#define NUM 3int n=0;pthread_mutex_t
2014-09-18 15:10:59
2604
原创 信号量实现线程同步
#include "stdio.h"#include #include #include #define N_CONSUMER 3 //消费者数量#define N_PRODUCER 2 //生产者数量#define C_SLEEP 1 //控制 consumer 消费的节奏#define P_SLEEP 1 //控制 producer 生产的节奏pthread_mutex_t
2014-09-18 14:11:17
541
原创 条件变量实现生产消费问题
#include "stdio.h"#include #include #define N_CONSUMER 3 //消费者数量#define N_PRODUCER 2 //生产者数量#define C_SLEEP 1 //控制 consumer 消费的节奏#define P_SLEEP 1 //控制 producer 生产的节奏pthread_mutex_t mutex;p
2014-09-18 13:27:33
433
转载 条件变量
http://www.cnblogs.com/aicro/archive/2009/06/26/1512001.html条件变量通过允许线程阻塞和等待另一个线程发送信号的方法弥补了互斥锁的不足,它常和互斥锁一起使用。使用时,条件变量被用来阻塞一个线程,当条件不满足时,线程往往解开相应的互斥锁并等待条件发生变化。一旦其它的某个线程改变了条件变量,它将通知相应的条件变量唤醒一个或多个正被此
2014-09-18 10:21:48
387
转载 pthread_cond_wait
1. 首先pthread_cond_wait 的定义是这样的The pthread_cond_wait() and pthread_cond_timedwait() functions are used to block on a condition variable. They are called with mutex locked by the calling thread or u
2014-09-18 09:53:56
422
转载 读写锁
读写锁:/*使用读写锁实现四个线程读写一段程序的实例,共创建了四个新的线程,其中两个线程用来读取数据,另外两个线程用来写入数据。在任意时刻,如果有一个线程在写数据,将阻塞所有其他线程的任何操作。*//*#include#include #include #include #include char words[1024]={"123456"};
2014-09-17 22:21:06
441
原创 两个线程对一个变量进行++操作,直至变量值为20
两个线程对一个变量进行++操作,直至bian#include#include #include #include #include pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER;int tmp=0;void printids(const char *s){ pid_t pid; pthread_t ti
2014-09-17 21:21:59
3015
1
转载 Linux多线程,线程的分离与结合
Linux多线程,线程的分离与结合http://www.cnblogs.com/mydomain/archive/2011/08/14/2138454.html(2)线程的分离与结合 在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死;在被其他线程回收之前,它的存
2014-09-17 19:41:08
382
转载 linux-多线程
linux-多线程yuan一、什么是线程? 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。二、什么时候使用多线程? 当多个任务可以并行
2014-09-17 19:31:00
349
转载 阻塞与非阻塞的区别
阻塞与非阻塞的区别简单点说:阻塞就是干不完不准回来, 非阻塞就是你先干,我现看看有其他事没有,完了告诉我一声我们拿最常用的send和recv两个函数来说吧... 比如你调用send函数发送一定的Byte,在系统内部send做的工作其实只是把数据传输(Copy)到TCP/IP协议栈的输出缓冲区,它执行成功并不代表数据已经成功的发送出去了,如果T
2014-09-15 22:13:45
370
转载 TCP状态迁移
原文地址:http://blog.chinaunix.net/uid-25018796-id-94900.htmlTCP状态迁移大家对netstat -a命令很熟悉,但是,你有没有注意到STATE一栏呢,基本上显示着established,time_wait,close_wait等,这些到底是 什么意思呢,在这篇文章,我将会详细的阐述。大家很明白TCP初始化连接三次握手吧:发S
2014-09-12 15:05:33
350
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人