自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (1)
  • 收藏
  • 关注

原创 淘宝实习生 笔试算法题 装鸡蛋

 在网上看到的第一批笔试里面的一个算法编程题。问题:有N个蛋和M个篮子,把蛋放到M个篮子里,每个篮子都不能为空。另外,需要满足:任意一个小于N的正整数,都能由某几个篮子内蛋的数量相加的和得到。写出程序,使得输入一个(N,M),输出所有可能的分配情况。 自己写了一个下,纯暴力,几乎没剪枝。 当n为20,m为10的时候,结果是40中情况。 codes:/** * 假设 n>m 并且 n小于100 * @author Jason * 2011.3.30 */public class Test

2011-03-30 16:43:00 2534 5

原创 邮件

网上的介绍:SMTP协议:发送邮件的协议。一封邮件,from一个邮箱 to 另一个邮箱,从一个邮件服务器到另一个邮件服务器。发送邮件的客户端必须要先“登陆”源邮件服务器(提供用户名和密码),提交邮件内容,源邮件服务器自己发送。POP协议:用Java写的客户端,可以实现这样的功能,连接到指定的邮件服务器,提供用户名和密码,查看邮件再说一下邮件发送的基本过程:如果你的邮件地址是a@host.com,而你要用这个邮箱发送一封邮件到to@tohost.com,你需要连接到服务器host.com上,当然这个连接可能需

2011-03-19 15:21:00 913

原创 Java 实现 web服务器

<br />import java.io.*;import java.net.*;import java.util.*;// Chapter 8, Listing 3public class WebServerDemo { // Directory of HTML pages and other files protected String docroot; // Port number of web server protected int port; // Soc

2011-03-19 13:53:00 898

原创 Java Socket 4

第四章 进阶1、多线程(1)继承Thread类,复写run()方法,实例化。(只适用于没有继承其他类时)(2)实现Runnable接口,实现run(),把实例化的对象传递给Thread构造函数启动 start()2、Logger 写日志,线程安全,可以在并行运行的不同线程中调用它的方法。Logger.getLogger()静态工厂方法可获取一个Logger实例,同名字的Logger是同一个实例。并发服务器的两种方法1、            一客户一线程为每个连接都创建一个新的线程来处理while (tru

2011-03-12 18:25:00 1642

原创 Java Socket 4

<br />第四章 进阶<br />1、多线程<br />(1)继承Thread类,复写run()方法,实例化。(只适用于没有继承其他类时)<br />(2)实现Runnable接口,实现run(),把实例化的对象传递给Thread构造函数<br />启动 start()<br />2、Logger 写日志,线程安全,可以在并行运行的不同线程中调用它的方法。<br />Logger.getLogger()静态工厂方法可获取一个Logger实例,同名字的Logger是同一个实例。<br />并发服务器的两种方

2011-03-12 18:24:00 938

原创 Java Socket 3

投票协议实例:1、消息实体VoteMsg2、序列化和反序列化:Java对象 《=》字节数组接口:toWire()序列化;fromWire()反序列化publicinterface VoteMsgCoder {  byte[] toWire(VoteMsg msg) throws IOException;  VoteMsg fromWire(byte[] input) throws IOException;}两种实现:(1)    基于文本的编码方式VoteMsgTextCoder implements Vo

2011-03-11 14:36:00 1315

原创 Java Socket 2

<br />《Java TCP/IP Socket 编程》chapter2<br />这次使用的是UDP协议。<br />客户端发送一个字符串,服务器接受后,原封不动的返回,在客户端打印出来<br />Client:<br />import java.net.DatagramSocket;import java.net.DatagramPacket;import java.net.InetAddress;import java.io.IOException;import java.io.In

2011-03-10 10:53:00 679

原创 Java Socket 1

《Java TCP/IP Socket 编程》chapter2客户端发送一个字符串,服务器接受后,原封不动的返回,在客户端打印出来Client:import java.net.Socket;import java.net.SocketException;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;public class TCPEchoClient { pu

2011-03-09 17:39:00 858

原创 Javascript前端验证

<br />简单非空验证<br />demo:添加博客,标题不为空<br />hint:Struts的html:form标签生成的html标签那么属性为newsForm<br />JavaScript:<br /> <mce:script language="javascript"><!-- function on_submit() {//验证数据的合法性 if (newsForm.title.value == "") { alert("标题不能为空!"); newsForm.t

2011-01-03 14:36:00 798

原创 Ubuntu 10.10 安装配置LAMP(转)

<br />Installing Apache MySQL, PHP and phpmyadmin on Ubuntu10.10 Maverick Meerkat is far easier and less complicated than doing the same on Fedora 13, (my own experience).<br />Step 1: You start by installing mysqlsudo apt-get install mysql-client

2010-12-31 15:57:00 639

原创 Lecture4 I/O

<br />1、File I/O<br />ifstream ofstream 用法和 预定义的cin、cout类似<br />codes:<br />#include<iostream>#include<fstream>#include<string>using namespace std;int main(){ ifstream in; in.open("input2.txt"); ofstream out; out.open("output.txt"); str

2010-12-29 20:07:00 602

原创 算法导论-3 divide-and-conquer-strassen-fibonacci-polynomial-multiplication

1、计算X的N次方 O(logn)codes:import java.util.Scanner;public class Power { public static double power(double x, int n){ if(n==0) return 1; if(n%2==0){ // even double temp= power(x,n/2); return temp*temp; } else{ // odd double tem

2010-12-29 12:50:00 1016

原创 删除多条数据-解决方案

Struts1.2 全选、多选,一次性删除多条数据1、

2010-12-17 14:18:00 3479

原创 通过Java访问指定url

通过Java的 URL、URLConnection可以获取指定url的 html文件可以实现静态化默写页面的功能。注意:在初始化 URL时,可以带参数,使用? &,规则和在浏览器一样比如:            url = new URL("http://localhost/MySite/video.do?method=showAllByWatcher&uid="+uid);codes: PrintWriter out=null; try { out = new PrintWriter( l

2010-12-12 22:41:00 14620

原创 Ffmpeg截图

 视频文件截图所用命令 ffmpeg -i e:/13.flv -y -f image2 -ss 08.010 -t 0.001 -s 352x240 b.jpg 截取 13.flv 8秒的图像 图片大小为 352x240,名称为b.jpgcodes:/** * 通过Ffmpeg 截取视频图像 * author:刘坤林 * time:2010.12.12 */package tools;import java.util.List;public class Snapshot {

2010-12-12 17:31:00 7643

原创 Tomcat配置

1、把端口改为80,这样网站可以不用输入端口号,直接打开进入server.xml原来:修改:2、把应用程序地址从默认的 E:/Tomcat 6.0/webapps 改为 自定义 E:/webapps(文件夹名可以自取)原来:

2010-12-10 21:00:00 820

原创 Java文件、 文件夹

1、当向某个指定目录的文件写如数据时(比如上传文件,或者新生成某文件),必须先检查整个路径上的目录是否都存在codes: //文件(带路径) String fileLocation="E://test//test2//test3.txt"; // 查看目录是否存在,不存在就生成 File dir =new File(fileLocation.substring(0, fileLocation.lastIndexOf('//'))); if(!dir.exists()) di

2010-12-10 17:51:00 859

原创 Hibernate自动生成的DAO的修改方法

使用MyEclipse中用Hibernate反向工程生成的DAO会发生对象无法存储到数据库的现象,原因是没有运用事务。当然可以在调用dao对象的代码前后加事务控制,但这样破坏了dao对数据库操作的封装,让业务层中掺杂了持久层代码。所以进行以下修改: 修改后:import org.hibernate.Session;import org.hibernate.Transaction;public void save(Resource transientInstance) { log

2010-12-10 17:30:00 5611

原创 Java调用ffmepg+mencoder视频格式转换

/** * 功能:将任意格式的视频转化为flv格式,有利于在线视频播放 * 前置条件:E盘下放有 ffmpeg.exe、ffplay.exep、threadGC2.dll(ffmpeg来自 ffmpeg.rev12665.7z) * E盘下还需 mencoder.exe、drv43260.dll * ps: ffmpeg 能解析的格式:asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等 * mencoder 解析

2010-12-09 21:56:00 14836 7

原创 在线播放视频总结

1、网易视频 比较清晰 50min -》170mb 的FLV格式2、其他格式转FLV格式,可以用Java调用ffmpeg和memcoder实现高品质:ffmpeg -i E:/input/a.wmv -ab 128 -acodec libmp3lame -ac 1 -ar 22050 -r 29.97 -qscale 6 -y E:/output/a.flv低品质:ffmpeg -i E:/input/a.wmv -ab 128 -acodec libmp3lame -ac 1 -ar 22050 -r 2

2010-12-08 14:31:00 29386

原创 线程

p { margin-bottom: 0.21cm; }1、创建线程,使用pthread_create函数创建新线程,并使用结构体传递了多个参数codes:root@ubuntu:/code/chap10# cat test1.c#include#include#include#includestruct message{ int i; int j;};void * hello(struct message* str

2010-12-06 14:18:00 553

原创 win7 下刻录数据

<br />DVD-RW:可擦再刻录<br />DVD-R:不能擦,一次性,直到刻录到空间完<br /> <br />1、插入光盘<br />2、如果是DVD-RW,选择USB闪存,直接拖进去就刻录好了<br />     如果是DVD-R,选择第二个CD/DVD<br />3、如果是DVD-R<br /><br />把准备写入光盘的东西拖到第二栏里<br />4、最后,右击光盘,刻录到光盘就好了

2010-12-06 11:32:00 834

原创 6、进程间通信-共享内存

<br />1、父子进程通过共享内存进行数据通信。父子进程通过竞争方式来创建一个共享内存单元,然后子进程接受用户输入的信息,并将其写入到共享内存单元;父进程则从共享内存单元将该信息读出。<br />code:<br />root@ubuntu:/code/chap9# cat test4.c#include<errno.h>#include<fcntl.h>#include<stdio.h>#include<string.h>#include<unistd.h>#include<sy

2010-12-02 15:30:00 1219 1

原创 5、进程间通信-信号量

1、一个读取设置信号量集合的示例程序code:#include#include#include#include#define MAX_SEMAPHORES 5int main(){ union semun // 参数联合体 { int val; struct semid_ds * buf; unsigned short * array; //for GETALL and SETALL } arg; int semid=semget(IPC_PRIVA

2010-12-01 15:04:00 626

原创 4、进程间通信-消息队列IPC

1、创建一个消息队列,然后使用msgctl函数读取相关信息,单进程code:#include#include#include#include#include#include#include#define BUFSIZE 128// 自定义消息结构体struct msg_buf{ long type; char msg[BUFSIZE];};int main(){ key_t key; int msgid; struct msg_buf

2010-11-30 14:28:00 1011

原创 3、进程间通信-信号

1、使用sigaction函数 安装信号(signal函数也可以)code:#include #include #include void myHandler(int sig); int main() { struct sigaction act,oact; act.sa_handler=myHandler; sigemptyset(&act.sa_mask); act.sa_flags=0; sigaction(SIGUSR1,&act,&oact);

2010-11-27 21:57:00 744

原创 2、进程间通信-FIFO(有名管道)

1、具有亲缘关系的进程,使用FIFO通信父进程向管道写入数据,子进程从管道中读出数据code:#include#include#include#include#include#include#define FIFO "/tmp/fifo"int main(){ pid_t pid; char buffer[80]; int fd; unlink(FIFO); //如果文件存在,先删除此文件 mkfifo(FIFO,0744); //创建管道 if((p

2010-11-24 16:52:00 770

原创 1、进程间通信-PIPE(无名管道)

1、在子进程中写入数据,在父进程中读取数据code:#include#include#includeint main(){ pid_t pid; int temp; int pipedes[2]; char s[14]="Jason's message"; char d[14]; if((pipe(pipedes))==-1){ perror("pipe"); exit(EXIT_FAILURE); } if((pid=fork())==-1){

2010-11-22 15:55:00 789

原创 Linux进程管理与程序开发

1、创建进程code:#include#include#includeint main(){ pid_t pid; if((pid=fork())==-1) puts("fork error"); else if(pid==0) puts("in the child"); else puts("in the parent"); return 0;}结果:in the parentin the child

2010-11-18 17:01:00 520

原创 文件及目录管理 POSIX C

<br />1、打印打开文件的描述符<br />code:<br />#include<stdio.h>#include<unistd.h>#include<stdlib.h>#include<fcntl.h>#include<sys/types.h>#include<sys/stat.h>int main(int argc,char * argv[]){ int fp1,fp2; printf("no is/t%d/n",fileno(stdin)); printf

2010-11-17 15:32:00 961

原创 ANSIC文件管理

1、复制一个文件,产生备份,使用了缓冲区code:#include#include#includeint main(int argc,char * argv[]){ FILE* fp_src,*fp_des; int i; char buffer[10]; if((fp_src=fopen(argv[1],"r+"))==NULL){ perror("open1"); exit(EXIT_FAILURE); } if((fp_des=fopen(ar

2010-11-16 21:45:00 767

原创 类String的 构造函数、拷贝构造函数、析构函数、赋值函数实现

<br />#include<iostream>#include<stdio.h>#include<string>#include<string.h>#include<algorithm>#include<time.h>#include<cmath>#include<iomanip>#include<stdlib.h>#include<queue>#include<vector>using namespace std;class String{publ

2010-11-02 15:55:00 1132

转载 “指向const对象的指针”和“const指针”

<br />const是C++中引入的一个新的关键字,它为C++编程带来了很大的方便。指向const对象的指针和const指针是两个名字很接近的概念,对于初学者来说非常容易搞混,这里对它们进行区分。 <br />  1、指向const对象的指针<br />  可以这样理解指向const对象的指针: <br />  指向const对象的指针就是一个指针,不能通过它来修改它所指向的对象的值 <br />  · 声明方法:const int *p; <br />  const对象在初始化后是不允许对其值进行修改的

2010-10-28 11:56:00 572

原创 简单 Winsock Demo

<br />Server:<br />#include<Winsock2.h>#include<stdio.h>#include<stdlib.h>#define PORT 5000void main(){ // 打开 Winsock,服务以 动态链接库 实现 WSADATA wsaData; if( WSAStartup(MAKEWORD(2,2) , &wsaData )!=0 ){ // 0表示成功 printf("Winsock load failed/

2010-10-22 13:57:00 843

原创 C++ 多态 动态绑定

C++ 动态绑定 多态

2010-10-20 20:56:00 846

原创 test

class A{}

2010-01-24 11:02:00 439

西南交大中间件实验报告

西南交大软件学院中间件实验报告 内含源码,学生:刘坤林

2010-12-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除