- 博客(48)
- 资源 (15)
- 收藏
- 关注

原创 java学习笔记博客目录
1、前言 从10月7号发表第一篇java学习博客开始,学习java一个月了,该告一段落了,在此做个总结吧。 主要看的书是《java编程思想》、《java核心技术2》、《java语言程序设计》基础篇、还有就是网上搜的各种资料啰。其中《java编程思想》以前看过一点但没看懂,现在终于大致看完了,虽然仍然有很多不太懂,也跳过一些章节。不得不说这本书确实java经典之作。网络编程方面
2011-11-04 23:17:45
5335
1

原创 漫谈经典排序算法:六、各种排序算法总结
1、这是《漫谈经典排序算法》最后一篇,总结了各种排序算法的时间复杂度、稳定性、辅助空间、约束条件。各种排序算法的解析请参考如下: 《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解析及性能比较》《漫谈经典排序算法:三、
2011-09-18 15:56:25
8841
原创 android-4.0源码编译及内核编译(android-gldfish-2.6.29)
官网详细说明:http://source.android.com/source/building-running.html#build-the-code1、源码编译(ubuntu-12.04.3-desktop-i386.iso系统下编译android-4.0.1-r1.tar)参考:http://blog.youkuaiyun.com/flydream0/article/details/707039
2013-12-17 10:28:27
2923
1
原创 聚集搜索引擎java实现
一、说明聚焦爬虫是一个自动下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息。与通用爬虫不同,聚焦爬虫并不追求大的覆盖,而将目标定为抓取与某一特定主题内容相关的网页,为面向主题的用户查询准备数据资源。经过二十天的学习实践,参考了很多资料,写了个简单的搜索引擎,存在许多待优化之处。忘各位网友能提出好的建议。主要是抓取网上商店的商品信息并存储,然
2012-05-22 16:09:55
3716
原创 linux c实现简单shell
/*简单的模拟shell,可以执行带一个输入重定向(或输出重定向或管道)命令,程序存在不完善之处,基本能用*/#include#include#include#include#include#include#include#include#includechar command[100]; /*存放命令*/char argv[50][50]; /*存放分解后的命令*/in
2012-04-07 18:32:07
6854
原创 linux c模拟ls命令
/* 模拟ls命令,实现参数-tariRl.有些代码重复出现,可改进 可以在该程序的基础上增加参数,该程序思路清晰,容易扩展 */#include#include#include#include#include#include#include#include#include#include#define LL (1<<0) /*
2012-03-30 23:19:34
3465
2
原创 四则表达式的编译过程及生成汇编代码
1、前序这是编译原理的实验,自认为是上大学以来做过的最难的一个实验。所以写篇博客记录一下。实验用到的基础知识:C语言、数据结构、汇编(只需简单的了解)。开发工具:VC 2、问题描述编译整数四则运算表达式,将整数四则运算表达式翻译为汇编语言代码。消除左递归后的文法:E→TE'E'→+TE' |εT→FT'T'→*FT' |εF→(E) | i消除左
2011-11-28 16:17:06
9898
2
原创 再看八皇后问题
1、问题描述在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 2、解法一可以用一个一维数组来表示棋盘,seat[i]=j;表示第i行皇后放在第j列位置上。其中j有八种情况,i依次递增,直到增到8时说明每一行都放了一个皇后,这时我们就可以判断棋盘上的皇后是否冲突,如果不冲突则找到一种情况。当然为了提高效率,在每
2011-11-25 20:03:37
3618
原创 打印菱形及斐波纳契数列的几种解法
1、编写程序,打印*菱形 推出第i行要打印的空白个数及*号个数,用for循环依次打印各行#include//总共要打印2*n-1行,逐行打印void print1(int n){ int i,j; for(i=1;i<=n;i++){//打印1至n行 for(j=1;j<=n-i;j++)//打印n-i个空格 printf(" ");
2011-11-25 19:38:36
4415
原创 简单java web应用程序搭建与部署
1、 准备工作工具:tomcat、editplus、jdk、windows操作系统操作:在windows操作系统上安装jdk、tomcat、editplus,配置JAVA_HOME,Path,CLASSPATH;在CLASSPATH路径上加上servlet-api.jarCLASSPATH D:\Program Files\Java\jdk1.6.0_10\lib;F:\tom
2011-11-25 18:36:07
16851
转载 c语言struct中字节对齐
声明,以下内容转载自:http://www.blogjava.net/hjh132/archive/2008/03/17/186849.html 和http://blog.youkuaiyun.com/xuxinshao/article/details/2244297 VC中下面几个结构体大小分别是多少呢struct MyStruct { double m4;
2011-11-19 12:48:05
3407
原创 二级指针的用法
1、二级指针(指向指针的指针)那么二级指针有什么用呢?看一个用二级指针实现的链栈和链队列的例子源代码中各个文件说明:stack_queue.h文件中存放结点的定义以及函数的声明stack.c文件中存放栈的实现queue.c文件中中存放队列的实现stack_queue.h文件: #ifndef STACK_QUEUE_H#define STACK_QUEUE_H
2011-11-18 23:53:10
9021
1
原创 函数指针和指针函数
1、函数指针(指向函数的指针)在c语言中,一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址(入口地址),所以函数名跟数组名很类似,都是指针常量。函数指针就是指向这个入口地址的指针变量,注意函数指针是一个变量。 #includevoid f(int);int main(){ //定义函数指针pf并给pf赋值使其指向函数f的入口地址 /
2011-11-18 16:45:39
6321
原创 数组指针和指针数组
1、数组指针(指向数组的指针)(1)数组在内存中的表示创建一个数组就是在内存里面开辟一块连续的空间,比如int a[4];就是在内存里面开辟了一个大小为4*sizeof(int)字节的内存空间。二维数组是特殊的一维数组。先来看一段代码:void main(){ int a[2][2]={1,2,3,4};//这是一个2*2的二维数组 int (*p)[2];//数
2011-11-13 22:42:48
51775
4
原创 时钟类---swing画图、Timer、JFrame用法示例
1、运行结果2、源代码如下:package demo.others;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.util.Calendar;import java.util.Gregor
2011-11-04 22:56:55
6992
原创 java网络编程六:DatagramSocket类简单实现文件下载
1、服务器端代码package demo.net;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.net.D
2011-11-04 22:51:32
5463
原创 JDBC连接数据库工具类及连接Access数据库示例
1、JDBC连接各个数据库时,存在很多相同的代码部分,把这些部分单独写在一个类里面,根据传入的driver、url、user、password这些参数连接到特定的数据库,工具类代码如下:package mine.util.database;import java.sql.Connection;import java.sql.DriverManager;import java.s
2011-10-29 11:23:34
8587
原创 java网络编程五:暴力法破解登录系统的完全实现(木子)
注:以下破解思路及代码源自我同学木子1、先来看一个无任何安全措施的登录系统的破解方法:每次模拟表单提交,若登录成功,此时返回的报头信息中有Location字段,登录失败无此字段,继续模拟登录。直到破解成功,本人成功破解部分同学校园网登录密码(纯四位数字的)代码如下:package demo.net;import java.io.IOException;import java.i
2011-10-28 17:09:28
13427
1
原创 java网络编程四:InetAddress类、URL类、URLConnection类解析及用法示例
1、InetAddress类实现简单IP扫描获得主机名package demo.net;import java.net.InetAddress;import java.net.UnknownHostException;/* * 获取指定IP的主机名 */public class IPScanner { // 传入IP地址,返回主机名称,若主机不可达则返回ip地址的字符串形式
2011-10-28 16:39:44
10196
1
原创 java网络编程三:基于SMTP的邮件发送客户端
1、SMTP简介2、发送过程3、源代码示例package demo.net;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.
2011-10-28 16:32:50
9656
2
原创 java网络编程二:服务器处理多个用户请求的解决方案(返回多个用户输入的信息)
1、用多个线程来同时为多个客户提供服务,这是提高服务器的并发性能的最常用的手段,那么怎样来为多个用户提供服务呢? 主要有三种方法: 2、为了更清楚理解服务器到底是怎么工作的,下面用第一种方式来处理多个用户请求。如果想用第二、第三方式可以参考Touch的博客:java多线程总结五:线程池的原理及实现 下面的示例中客户端输入信息,服务器端回复相同的信息,可以同时开
2011-10-28 16:23:28
11630
1
原创 java网络编程一:Socket用法,简单模拟一对一聊天
1、socket和serverSocket通信简单介绍如下,注意客户端与服务器端是怎么交换数据的 2、模拟qq聊天功能,实现客户端与服务器(一对一)的聊天功能服务器端代码:package demo.net;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IO
2011-10-28 15:46:19
22694
5
原创 java多线程总结六:经典生产者消费者问题实现
这是个线程同步的经典例子,源代码如下: package demo.thread;/** *经典生产者与消费者问题:生产者不断的往仓库中存放产品,消费者从仓库中消费产品。 *其中生产者和消费者都可以有若干个。仓库容量有限,库满时不能存放,库空时不能取产品 */public class ProducersAndConsumers { public static void ma
2011-10-28 14:50:13
13517
4
原创 java多线程总结五:线程池的原理及实现
1、线程池简介: 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。 如果:T1 + T3 远大于 T2,则可以采用线程池,以提高服务器性能。 一个线程
2011-10-28 14:46:30
77264
5
原创 java多线程总结四:volatile、synchronized示例
1、synchronized保证同步先看一个生成偶数的类package demo.thread;/** *这是一个int生成器的抽象类 * */public abstract class IntGenerator { private volatile boolean canceled = false; public abstract int next(); pu
2011-10-28 14:20:31
5811
1
原创 java多线程总结三:sleep()、join()、interrupt()示例
这是一个来自《java编程思想上的示例》package demo.thread;/** *sleep()是静态方法,是属于类的,作用是让当前线程阻塞 *join()是使线程同步,如在某个线程里调用t.join()表示t线程执行完再执行当前线程 *interrupt()给线程设定一个标志表示该线程已被中断,但在异常捕获时将清理这个标志 *所以在catch子句中,该标志为false
2011-10-28 14:02:40
6367
原创 java多线程总结二:后台线程(守护线程)
所谓的后台线程,是指在程序运行的时候在后台提供一种通用服务的线程,并且这种线程并不属于程序中不可或缺的部分。因此当所有的非后台线程结束时,程序也就终止了,同时会杀死所有后台线程。反过来说,只要有任何非后台线程(用户线程)还在运行,程序就不会终止。后台线程在不执行finally子句的情况下就会终止其run方法。后台线程创建的子线程也是后台线程。下面是一个后台线程的示例:package dem
2011-10-20 19:39:17
6113
原创 java多线程总结一:线程的两种创建方式及优劣比较
1、通过实现Runnable接口线程创建(1).定义一个类实现Runnable接口,重写接口中的run()方法。在run()方法中加入具体的任务代码或处理逻辑。(2).创建Runnable接口实现类的对象。(3).创建一个Thread类的对象,需要封装前面Runnable接口实现类的对象。(接口可以实现多继承)(4).调用Thread对象的start()方法,启动线程示例代码:
2011-10-20 17:01:12
17226
8
原创 java常用类解析十一:Random类(Math.random())生成指定范围的随机数或字符
package mine.util.others;import java.util.Random;public class GetRandom { // 返回ch1和ch2之间(包括ch1,ch2)的任意一个字符,如果ch1 > ch2,返回'\0' public static char getRandomChar(char ch1, char ch2) { if (ch1 > c
2011-10-19 20:51:31
10499
原创 java常用类解析十:Date类和Calendar类示例
1、Date类实例:格式化输出当前日期package demo.others;import java.text.Format;import java.text.SimpleDateFormat;import java.util.Date;public class DateDemo { public static void main(String[] args) { Date
2011-10-19 20:48:14
3424
原创 java常用类解析九:Applet(JApplet)详解及示例
1、Applet类及各个方法说明 Applet类提供一个基本框架,使得applet可以通过Web浏览器来运行,applet没有main方法,它依靠浏览器调用Applet类中的方法。Applet不安全。下面是截取的一段Applet类的源代码: /** * Called by the browser or applet viewer to inform this applet
2011-10-19 20:42:32
15687
1
原创 java常用类解析八:java字符串与格式化输出
1、String类、StringBuilder类、StringBuffer类 String对象是不可变的,重载了运算符+,于是String s="a"+2+"b"+2.2;这条语句就创建了4个String对象对象,把最后创建的对象引用赋给s。 但是St
2011-10-10 21:04:15
15151
原创 java常用类解析七:java异常机制、异常栈、异常处理方式、异常链、异常丢失
1、java标准异常概述 Throwable表示任何可以作为异常被抛出的类,有两个子类Error和Exception。从这两个类的源代码中可以看出,这两个类并没有添加新的方法,Throwable提供了所以方法的实现。Error表示编译时和系统错误。Exception是可以被抛
2011-10-10 19:42:03
11928
原创 java常用类解析六:IO系统文件读写工具类
几个文件读写的工具类:文本文件读写、二进制文件读写、对象读写。其中对象读写工具类有错误,在试图进行多个对象读取时,读第二个对象就抛出异常,这是为什么?此外怎样把一个存放对象的文件中所有的对象读出来?这个问题已经解决,非常感谢Aguo的文章:自定义ObjectOutputStream,解决追加写入后,读取错误的问题 。在这篇文章中我找到了答案,同时对作者的源代码添加了一些注解。解决方案请看文章最
2011-10-08 22:21:04
12731
1
原创 java常用类解析五:IO系统File类及文件搜索工具类
1、先看一个File类的简单的例子package test;import java.io.File;import java.io.FilenameFilter;import java.util.Arrays;import java.util.Scanner;imp
2011-10-07 18:50:17
5884
原创 java常用类解析四:I/O流典型使用方式
package http;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import ja
2011-10-07 17:11:06
3748
原创 java常用类解析三:IO系统装饰类
java IO系统采用装饰器模式,用一些装饰类来装饰输入输出来,提供更强大的IO操作FilterInputStream(FilterOutputStream)继承自InputStream(Outputstream)常用装饰类(都继承自FilterInputStream)
2011-10-07 17:03:34
4363
1
原创 java常用类解析二:IO系统输入输出类
InputStream的作用是用来表示那些从不同数据源产生输入的类。OutputStream决定了输出所要去往的目标 数据源 对应的
2011-10-07 16:54:24
4435
1
原创 java常用类解析一:System类、Object类、Arrays类、Cloneable接口
package test;public class SystemDemo { public static void main(String[] args) { String[] s = new String[] { "liu" }; String[] s2 = new
2011-10-07 16:38:54
9911
1
转载 平衡二叉树(AVL)
前言:以下是转自Heart.X.Raid的博客:http://hxraid.iteye.com/blog/609949 。可能链接丢失,所以在此进行全文转载,忘原作者谅解。 在上一个专题中,我们在谈论二叉查找树的效率的时候。不同结构的二叉查找树,查找效率有很大的不同(单支
2011-09-30 13:03:35
3099
1
编译原理实验代码(四则表达式编译及生成汇编代码)
2011-11-28
servlet实现自动登陆、记住密码、统计总共登陆次数
2011-11-27
java学习源代码
2011-11-04
java常用类解析及示例及一些工具类源代码
2011-10-21
java常用类解析及示例及一些工具类源代码
2011-10-20
java常用类解析及示例及一些工具类源代码
2011-10-19
二叉查找树(二叉排序树)的详细实现
2011-09-30
各种排序算法源代码
2011-09-18
简单选择排序及堆排序源代码
2011-09-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人