自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (2)
  • 收藏
  • 关注

原创 「深入源码」Spring拦截器的实现原理和执行机制

我一直以为Spring的拦截器是基于AOP原理实现的,仔细阅读完源码,才知道自己的认知是错误的。今天我们就从源码的角度剖析下Spring拦截器。一.创建一个自己的拦截器实现一个自己的拦截器,需要实现HandlerInterceptor接口。接口内的三个核心方法如下:1.preHandle():该方法在业务处理器处理请求之前调用。2.postHandle():这个方法在当前请求进行处理之后,也就是Controller方法调用之后执行,但是它会在DispatcherServlet 进行视图返

2022-03-06 11:10:19 3251 2

原创 序列化

1.什么时候需要进行序列化   1.1需要使用套接字在网络传输的时候   1.2需要进行数据存储的时候   1.3通过RMI传输对象的时候2.如何实现    需要实现Serializable接口,无需实现什么方法...

2019-01-11 15:09:52 190

原创 迭代器模式

一.迭代器模式的作用     用来遍历或者删除容器中元素二.迭代器的特点   迭代器的实现类是容器类的内部类,容器类提供了   public Iterator<E> iterator() { return new Itr(); }  方法供用户获取迭代器   这种模式在实现上主要特点是使用了内部类三.内部类的相关特点   1.每个内部类都能独立的继承一个接口...

2018-12-06 11:16:02 206

原创 python编程练习

1.求101到201之间的素数总数 h=0loop =1total=0for m in range(101,201): print('%-4d' % m) h= int(sqrt(m+1)) for i in range(2,h+1): if m%i==0: loop=0 break if loop==1: total...

2018-12-03 17:14:24 267

转载 java的两种文件拷贝方式

一.基础三种IO方式1.传统IO方式,基于流模型实现,提供了File抽象,输入输出流等,交互方式是同步,阻塞的方式,也就是说在读写动作完成之前,线程一直阻塞在那里。2.NIO  引入了Channel,Selector,Buffer等新的抽象,可以构建多路复用的,同步非阻塞的IO程序3.AIO  异步非阻塞 二.实现1.利用java.io.类库,直接为源文件构建一个Fil...

2018-12-03 16:21:59 277

原创 异构系统间的调用

一.需求背景       算法团队使用python作为开发语言,web系统的开发人员使用java,web系统提供了一些页面操作,用户点击 按钮之后,java调用python脚本进行处理。二.错误的选择      这个项目之前,笔者并没有过java系统调用python的经验,并且项目时间紧张,使用了最直接的调用方式,就是本地环境调用java脚本。代码如下:public stat...

2018-12-03 12:05:06 1159

原创 玩转elastic_search

玩转elastic_search1. 使用elastic_search的初衷       由于数据量挺大(500w以上),使用mysql查询速度有些慢,虽然创建了索引依然有些慢开始研究使用elastic_search。发现上手非常容易,网上资料也挺多资料,一个小的需求研究下两天就搞定了。至于其中的原理让人无限向往。2.搭建es环境    搭建环境超级简单,下载代码打包,下载...

2018-09-27 16:18:26 163

原创 约瑟夫问题的解法

解法一:         一次将

2014-08-21 15:51:19 569

原创 求二叉树中节点的最大距离

如果我们把二叉树看成一个图,

2014-07-24 09:49:08 447

原创 哈夫曼编码(java)

public class BinaryTree implements Comparable{    int key;    char data;    //左子树    BinaryTree left;    //右子树    BinaryTree right;    public BinaryTree(){         }    public Bina

2014-07-23 09:50:00 586

原创 多源最短路径弗洛伊德算法(java)不含具体路径

package hg;import java.util.Arrays;public class Florid {  public int n =5;      public static void main(String[] args){      double a[][] = {{0.0,3.0,8.0,Double.MAX_VALUE,-4.0},        {

2014-07-22 09:35:36 826

原创 着色问题的代码实现(java版)使用回溯法和贪心思想

着色问题描述:

2014-07-17 13:56:47 1929

原创 寻找汉密尔顿回路(java版)

package hg;public class Hanmierdun {    //结点的个数    public int n =5;    public int b[] = new int[5];    //是否已经经过该结点    public boolean used[] = new boolean[5];    //是否已经全部走过    public bo

2014-07-15 14:36:57 2535

原创 求二进制包含的1的个数(位操作)

public class Qiu {   int count(byte a){   int num =0;   while(a!=0){       num = num + (a&0x01);     System.out.println( num);   a=(byte) (a>>1);     }         return num;   

2014-07-02 09:33:44 542

原创 汉诺塔的实现

汉诺塔是大学遇见的第一个使用递归

2014-06-27 17:40:17 503

原创 使用概率的思想求圆周率

public class Mengtekaluo {      public static void main(String[] args){       Mengtekaluo mengte = new Mengtekaluo();       System.out.println(mengte.pai());      }            public doubl

2014-06-25 18:01:06 749

原创 马踏棋盘(有问题的且不成熟的程序)

//将棋盘上的每个位置都走一遍public class Mataqipan {         public int zou(int position[][],int m,int n,int count){       position[m][n]=count;       System.out.println(count);       if(count==64){ 

2014-06-24 17:37:08 501

原创 使用递归的方法求数组的最小值

public class MixReCursion {       public int  getMin(int arr[],int pos,int n){        int n1,n2,n3;        if(n==1){                  return  arr[pos];        }        else{         if

2014-06-24 09:34:25 1137

原创 四皇后问题的代码实现(java)

package hg;/*** * 求解四皇后问题(回溯法) * @author user * */public class hjk { private int[][] s = new int[4][4]; private int[] arr = new int[4];    public void  Queen(int i){            if(

2014-06-20 11:41:22 3071

原创 判断是否是回文数字(java版)

public class Huiwenshuzi {        public boolean isHui(int j){     if(reverse(j)==j)     {      return true;     }     return false;         }        public int reverse(int j){

2014-06-20 11:22:37 869

原创 ExtJs

整了一天的extjs框架,老是报错这样一个错误events 找不到或者不是一个对象这个错误,在IE6,8经常见到。加上这个就好了if(Ext.isIE){      Ext.enableGarbageCollector=false;    }

2014-03-18 18:38:05 447

原创 工厂方法模式和抽象工厂模式的区别

如果产品单一,最合适用工厂模式。         但是如果有多个业务品种、业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。再通俗深化理解下:工厂模式针对的是一个产品等级结构 ,抽象工厂模式针对的是面向多个产品等级结构的。

2014-03-11 22:25:50 481

原创 面试回顾

1.事物死锁以及解除死锁的方法事物1锁定了数据库对象a,需要使用对象b;事物2锁定了数据库对象b,需要使用a,两不相让就出现了死锁一、预防死锁预防死锁的方法有以下几种:1.一次锁定法该方法要求每个事务一次就将要操作的数据库对象全部锁定,否则就不继续执行。在前面的例子中如果事务T1一次就将数据库对象A1和A2全部锁定,事务T1就会执行下去。事务T2开始是等待的,在事务T1执行

2014-03-09 09:25:22 710

原创 BigInteger转化为Long

今天出的Bug在以往调试这个部分时并没有出现数据库id为bigint类型的,取出之后转化为Long型报错id并是很大5000多原因不明,但问题已经解决了解决的方式为BigInteger  a = BigInteger(map.get("id").toString);Long   value = a.getLongValue;

2014-03-04 22:44:47 5070

原创 方法和成员变量在内存中的位置

一:在方法中声明的变,即该变量是局部变量,每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法中声明的变量就放在方法栈中,当方法结束系统会释放方法栈,其对应在该方法中声明的变量随着栈的销毁而结束,这就局部变量只能在方法中有效的原因在方法中生明的变量可以是基本类型的变量,也可以是引用类型的变量,(1)当声明是基本类型的变量的时,其变量名及值(变量名及值是两个概念)是放在方法栈中(2)当声明

2014-03-04 22:37:50 3476

原创 多线程同步的前提

多线程同步的前提是多个线程使用同一个锁:主类public class Main {    public static void main(String args[]){  TreadAdd  t = new TreadAdd();  Thread a = new Thread(t);  Thread b = new Thread(t);  Thread c = ne

2014-03-04 22:26:45 554

原创 多线程同步调试1

主类public class Main {    public static void main(String args[]){  Thread a = new Thread(new TreadAdd());  Thread b = new Thread(new TreadAdd());  Thread c = new Thread(new TreadAdd());

2014-03-04 21:59:16 597

计算机算法

经典算法的介绍和实现,很有学习和参考价值

2014-05-05

毕业设计开题报告计算机专业

毕业设计开题报告模板,供大家参考,计算机专业必备,对毕业设计有知道价值

2011-04-27

空空如也

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

TA关注的人

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