- 博客(67)
- 资源 (20)
- 收藏
- 关注
原创 数据结构
查找二分查找:二分查找算法是在有序数组中用到的较为频繁的一种算法,在未接触二分查找算法时,最通用的一种做法是,对数组进行遍历,跟每个元素进行比较,其时间为O(n).但二分查找算法则更优,因为其查找时间为O(lgn),譬如数组{1, 2, 3, 4, 5, 6, 7, 8, 9},查找元素6,用二分查找的算法执行的话,其顺序为: 1.第一步查找中间元素,即5,由于5,则6必然在5之后的
2015-12-04 09:20:26
395
原创 beanPostProcessor
最近想对项目中的所有bean进行一个代理。然后监控bean得方法的使用情况。 刚开始想的方法是:重写项目的beanFactory,然后再getBean的使用,对结果object进行一个代理,达到我的目的。但是发现重写getBean的方法,无法对bean中的依赖注入的bean(set进来的bean)进行代理。 正好看到了beanPostProcess
2015-11-26 21:28:05
386
原创 java保留两位小数
java保留两位小数问题:方式一:四舍五入 double f = 111231.5585; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); 保留两位小数 -----
2015-11-07 21:02:59
443
原创 java提取字符串中的汉字
import java.util.regex.Matcher;import java.util.regex.Pattern;public class Code3 {public static void main(String[] args) {int count = 0;String regEx = "[\\u4e00-\\u9fa5]";// System.out
2015-11-07 20:47:29
6640
2
原创 Java中如何遍历Map对象的4种方法
在Java中如何遍历Map对象How to Iterate Over a Map in Java在java中遍历Map有不少的方法。我们看一下最常用的方法及其优缺点。既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等) 方法一 在for-ea
2015-11-07 18:17:54
421
原创 string,int ,Integer之间的转换方法
1 int 到 Integer Integer A = Integer.valueOf(7);或者 Integer A = new Integer(7);int 到 String int i = 10; (1)String s = String.valueOf(i);(2)String s = Ingeger.toString(i);(3)String s = "" + i;
2015-10-14 09:40:10
473
原创 配置Spring数据源
配置一个数据源 Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。 DBCP数据源 DBCP类包位于 /lib/jakarta-commons/commons-dbcp.jar,DBCP是一个依赖 Jakarta commons-pool对象池机制的数据
2015-09-17 19:54:06
387
原创 java io
package javase;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.InputStre
2015-09-16 16:11:32
262
原创 map
输出map中的内容一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object
2015-09-16 15:27:03
277
原创 mysql存储过程详解
mysql存储过程详解1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函数,它在数据库中创建并保存
2015-09-15 15:22:25
235
原创 递归之经典:汉诺塔
递归之经典:汉诺塔public class hanoitower {public static void main(String[] args) {dototower(5, 'A', 'B', 'C');}public static void dototower(int N,char from, char inner, char to){if(N == 1){
2015-09-09 21:00:59
272
原创 Java实现链表结构
按链表的组织形式分有ArrayList和LinkList两种。ArrayList内部其实是用数组的形式实现链表,比较适合链表大小确定或较少对链表进行增删操作的情况,同时对每个链表节点的访问时间都是constant;而LinkList内部以一个List实现链表,比较适合需要频繁对链表进行操作的情况,对链表节点的访问时间与链表长度有关O(N)。 另外,根据实现形式可以分为直接式(想不出什么合
2015-09-09 15:18:05
876
原创 队列的两种实现:数组和链表
队列的定义:队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表。(1)允许删除的一端称为队头(Front)。(2)允许插入的一端称为队尾(Rear)。(3)当队列中没有元素时称为空队列。(4)队列亦称作先进先出(First In First Out)的线性表,简称为FIFO表。 队列的修改是依先进先出的原则进行的。新来
2015-09-09 14:07:51
635
原创 栈的两种实现方式:数组和链表
栈的实现与应用这里介绍两个基本数据类型实现的栈:数组与链表1.首先我们介绍基于数组来实现栈的过程(直接看代码即可,里面都有详尽的注释)为了秉承抽象特性,这里将接口操作与接口的实现方法进行分离a.接口StackADTpackage xidian.sl.stack;public interface StackADT { /*往栈顶添加一个元素*/ p
2015-09-09 13:43:54
2808
原创 冒泡排序
冒泡排序是非常容易理解和实现,,以从小到大排序举例:设数组长度为N。1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。3.N=N-1,如果N不为0就重复前面二步,否则排序完成。 按照定义很容易写出代码:[cpp]
2015-09-09 13:12:51
250
原创 直接选择排序
直接选择排序和直接插入排序类似,都将数据分为有序区和无序区,所不同的是直接播放排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区,而直接选择排序是从无序区选一个最小的元素直接放到有序区的最后。 设数组为a[0…n-1]。1. 初始时,数组全为无序区为a[0..n-1]。令i=02. 在无序区a[i…n-1]中选取一个最小的元素,将其
2015-09-09 13:07:59
241
原创 直接插入排序的三种实现
直接插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。 设数组为a[0…n-1]。1. 初始时,a[0]自成1个有序区,无序区为a[1..n-1]。令i=12. 将a[i]并入当前的有序区a[0…i-1]中形成a[0…i]的有序区间。
2015-09-09 13:06:23
399
原创 Listener 三个常用的
只为成功找方法,不为失败找借口!javaweb学习总结(四十五)——监听器(Listener)学习二一、监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信息事件的监听器。 这三个监听器接口分别是ServletCon
2015-08-18 10:31:58
421
原创 Spring框架之Filter应用
在web.xml中进行配置,对所有的URL请求进行过滤,就像"击鼓传花"一样,链式处理。配置分为两种A和B。A:普通配置在web.xml中增加如下内容: permissionFilter com.taobao.riskm.filter.PermissionFilter permissionFilter /*
2015-07-20 12:49:08
564
原创 Gson把对象转成json格式的字符串
最近在做一个java web service项目,需要用到jason,本人对java不是特别精通,于是开始搜索一些java平台的json类库。发现了google的gson,因为之前对于protocolbuf有一些了解,带着一些好奇心,我开始使用了gson。经过比较,gson和其他现有java json类库最大的不同时gson需要序列化得实体类不需要使用annotation来标识需要
2015-07-08 10:09:36
5086
原创 jquery 获取和设置 select下拉框的值
//获取第一个option的值$('#test option:first').val();//最后一个option的值$('#test option:last').val();//获取第二个option的值$('#test option:eq(1)').val(); //获取选中的值$('#test').val();$('#test opti
2015-07-02 18:25:32
333
原创 『jQuery』.html(),.text()和.val()的使用
本节内容主要介绍的是如何使用jQuery中的.html(),.text()和.val()三种方法,用于读取,修改元素的html结构,元素的文本内容,以及表单元素的value值的方法。jQuery中为我们提供了多种方法用于对元素的HTML结构和元素的文本内容的操作,比如说,你可以给已存在的元素的内部,周围,前面或者后面增加新元素;或者用一个元素替代另一个元素;你也可以读取或者修改一个元素的内容或结构
2015-07-02 10:05:39
382
1
原创 gson
经过比较,gson和其他现有java json类库最大的不同时gson需要序列化得实体类不需要使用annotation来标识需要序列化得字段,同时gson又可以通过使用annotation来灵活配置需要序列化的字段。下面是一个简单的例子:public class Person { private String name; private int
2015-07-01 19:47:39
314
原创 马士兵_IO笔记
1:节点流就是:一根管道直接堆在文件上面、内存数组、内存string、或管道上。处理流是:一个管道上再套管道。2:write()函数只能建立文件,不能建立目录, FileWriter fw = new FileWriter("d:\\bak\\unicode.dat"); //文件路径写法
2015-04-03 20:25:57
1063
原创 package和import的使用
*****注:必须class文件的最上层包(com目录)的父目录位于classpath下*****这样任何想调用包里面的类都可以。第一种用法一、定义一个Cat.javapackage com.bjsxt.java140;public class Cat {}二、别的.java源文件中如果要是用到这个Cat要注意两点 1、Cat.class文件要
2015-03-31 11:34:08
400
原创 指针参数是如何传递内存
如果函数的参数是一个指针,不要指望用该指针去申请动态内存。如下示例中,Test函数的语句GetMemory(str, 200)并没有使str获得期望的内存,str依旧是NULL,为什么? 1: void GetMemory(char *p, int num) 2: { 3: p = (char *)malloc(sizeof(char) * num);
2015-03-17 17:34:57
342
原创 C++ 虚函数表解析
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使用方法,我在这
2015-03-17 15:48:54
224
原创 static类型的父类成员变量,与所有资料共享该变量
#include #include "string.h"using namespace std;class Base{public: Base(){s=5;}; /*static*/ int s ;//当用静态成员变量时,下面的继承的子类都共享真个变量};//int Base::s=5;class Derived1 : public
2015-03-16 16:37:35
395
原创 编译器以4字节对其
当编译器是以4字节对其的时候class A{bool a;int b;bool c;};|--bool--|--------|---------|----------||------------------int------------------||---bool--|--------|--------|----------|它占用了12个字节clas
2015-02-12 17:34:00
322
原创 c_str():string转换成char*
const char *c_str();c_str()函数返回一个指向正规C字符串的指针,内容与本string串相同.这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式.注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针 比如:最好不要这样:char* c;
2015-02-12 11:39:04
912
原创 break
break语句break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。break在switch 中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环
2015-02-12 10:44:08
325
原创 dll的调用
dll调用有两种方式1静态调用必须需要:dll文件、lib文件、头文件①搜索dll的路径: Windows搜索要装入的DLL时,按以下顺序:应用程序所在目录→当前目录→Windows SYSTEM目录→Windows目录→PATH环境变量指定的路径。②加载lib方式:两种(1)在工程属性的包含目录中加入lib的路径,然后在连接器的输入附加项中添加lib的文件名。
2015-02-10 09:31:54
450
原创 dll中如何获得调用者的窗口?得到窗口句柄那么DC也就可以得到了!
void point::output(int x,int y){HWND hwnd=GetForegroundWindow();//获取当前窗口的句柄HDC hdc=GetDC(hwnd);//有了哪个窗口的句柄,就可以获取该窗口的DC句柄char buf[20];memset(buf,0,20);sprintf(buf,"x=%d,y=%d",x,y);TextOut
2015-01-12 13:02:53
2421
原创 总结OnOK()、OnCancel()、OnClose()、OnDestroy()之间的区别
关于OnOK()、OnCancel()、OnClose()、OnDestroy() 模式对话框总结OnOK()、OnCancel()、OnClose()、OnDestroy()之间的区别(转)2009年09月22日 下午 08:33第一,OnOK()和OnCancel()是CDialog基类的成员函数,而OnClose()和OnDestroy()是CWnd基类的成员函数,即WM
2015-01-06 17:35:24
472
原创 QQ通信原理概述
中转服务器?一、登陆。 不管UDP还是TCP,最终登陆成功之后,QQ都会有一个TCP连接来保持在线状态。这个TCP连接的远程端口一般是80,采用UDP方式登陆的时候,端口是8000。因此,假如你所在的网络开放了80端口(80端口是最常用端口。。就是通常访问Web的端口,禁掉它的话,你的网络对你来说价值已经不大了),但没有屏蔽腾讯的服务器IP,恭喜你,你是可以登陆成功
2014-12-25 17:00:55
376
原创 sql语句
登陆mysql: mysql -hlocalhost -uroot -proot创建数据库:create database dbname charset utf8查看数据库:show databases;选择数据库:use dbname;删除数据库:drop database dbname;创建数据表: create table tbn
2014-12-25 10:47:29
1054
原创 lesson14:多线程
1:进程进程是资源申请、调度和独立运行的单位,因此,它使用系统中的运行资源;而程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位,因此,它不占用系统的运行资源。进程由两个部分组成: 1、操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方。 2、地址空间。它包含所有可执行模块或DLL模块的代码和数据。它还包含动态内存分配的空间。如线程
2014-12-15 21:02:46
356
原创 lesson19
1:动态库和静态库静态库:函数和数据被编译进一个二进制文件(通常扩展名为.LIB)。在使用静态库的情况下,在编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其它模块组合起来创建最终的可执行文件(.EXE文件)。在使用动态库的时候,往往提供两个文件:一个引入库和一个DLL。引入库包含被DLL导出的函数和变量的符号名,DLL包含实际的函数和数据。在编译链接可
2014-12-12 13:51:49
472
Effective Java 第三版.zip
2020-04-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人