自定义博客皮肤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.准备 2.存 3.取准备:我们初始化我们需要的条件,比如说用到了什么容器,数据结构,以及初始化条件,以怎么样的一个...

2018-11-16 17:26:12 325

转载 IDEA常用快捷键

Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论。每个人都有自己的最爱,想排出个理想的榜单还真是困难。以前也整理过Intellij的快捷键,这次就按照我日常开发时的使用频率,简单分类列一下我最喜欢的十大快捷神键吧。1 智能提示Intellij首当其冲的当然就是Intelligence智能!基本的代码提示用Ctrl+Space,还有更智能地...

2018-09-09 11:35:40 207

转载 http和https的区别

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,...

2018-08-16 11:23:51 292

原创 归并排序

public class GuiBingTest { //得到最大值 public static int getMax(int[] a,int L,int R){ if (L == R) { return a[L]; } int mid = (L + R) / 2; int maxleft ...

2018-07-22 21:37:18 162

原创 插入排序

public class InsertSorting { public static void swap(int[]a,int q,int p){ int ex = a[q]; a[q] = a[p]; a[p] = ex; } public static void cha(int[] a) { f...

2018-07-22 21:34:57 149

原创 冒泡排序

public class Maopao { public static void swap(int a[], int i, int j) { i = a[j]; a[j] = a[j + 1]; a[j + 1] = i; } public static void maopaoSort(int[] a){ ...

2018-07-22 21:26:24 120

原创 不用第三个变量,交换两个变量的值

对于交换两个变量的值,我们通常的操作都是,定义一个变量,借助它实现两个变量的交换:    int a = 1,b = 2; int c = a; a = b; b = c;这算是一种比较基础的实现,但是如果不许定义多余的变量呢?我们还有几种方法,下面详细介绍以下:(1)"容器"法        题目说不许定义变量,但是我们可以通过定义"容器"来实现交换,我们可以定义栈啊,队...

2018-07-10 18:47:58 2683

原创 MySQL读书笔记--选择合适的数据类型

        在使用MySQL创建数据表时都会遇见一个问题,如何选择合适的数据类型.其实正是因为可选择的数据类型太多,才需要根据一些原则来挑选最合适的数据类型.接下来将详细介绍字符,数值,日期数据类型的一些选择原则.1.char和varchar        char和varchar类型类型相似,都用来存储字符串,但是他们保存和检索的方式不同,char属于固定长度的字符串类型,而varchar属...

2018-06-09 19:09:06 204

原创 MySQL读书笔记--存储引擎的选择

1 MySQL存储引擎  和大多数数据库不同,MySQL数据库是最重要的存储引擎的概念,针对不同的存储需求可以选择不同的存储引擎.2.1 MyISAM  MySQL的默认存储引擎,不支持事务,也不支持外键,其优势是访问速度快.  MyISAM支持3种不同的存储格式:静态表,动态表,压缩表.  其中静态表是默认的存储方式.每个字段都是非变长字段,每个记录都是固定长度的.优点是存储非常迅速,容易缓存,...

2018-06-09 17:18:35 165

原创 浅析Java中的final关键字

浅析Java中的final关键字  谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。下面是本文的目录大纲:  一.final关键字的基本用法  二.深入理解final关键字  若有不正之处,请多多谅解并欢迎指正。  请尊重作者劳动成果,转载请标明原文...

2018-05-15 21:19:40 140

原创 static语句块普通代码块和构造方法的执行顺序

        在Java中,class加载时会优先执行一些语句,或语句块,实现的方式有static语句块,普通语句块(非static),以及构造方法.那么我们来他验证一下们的执行顺序.public class Test1 { static{ System.out.println("Test1的static语句块"); } { System....

2018-05-15 07:01:20 2004

原创 Array.sort()的使用方法以及原理

sort()是Java中用来排序的一个方法,在我们专心学习各种经典排序算法的时候,其实在代码中一个sort()就可以解决,并且时间复杂度和空间复杂度相对都不会过高.其实sort()不光可以对数组进行排序,基本数据类型的数组都可以,并且可以实现对对象数组的排序.接下来介绍一下用法.1基本数据类型(1)数字类型:        int[] a = {1, 3, 4, 67, 78, 9, 90, 6,...

2018-05-07 14:43:54 50107 2

原创 生产者和消费者问题

        生产者和消费者线程之间的关系是涉及条件的线程交互的一个经典例子.生产者线程产生数据项,将来会被消费者消费,每个生产出来的数据项会存储在一个共享的变量中.        假设线程以不同的速度前行,生产者可能在消费者取得就数据项处理之前生产了一个新的数据项并且将其记录到共享变量中.当然,消费者也可能在新的数据项生产出来之前就获取共享变量中的内容.        为了克服这些问题,生产者...

2018-05-02 20:15:29 186

原创 equals()和==的区别

equals()和==是Java里面用于比较时都相等的两个常用的方式,但是用法有差别,比较内容的时候就要由数据类型分类讨论了.(1)基本数据类型:        先说一下八种基本数据类型吧,byte,short,int,long,char,boolean,float,double.        当比较的数据类型是基本数据类型的时候,是不可以调用equals()方法的,会报错;        而=...

2018-04-30 10:33:07 127

原创 Iterator的用法

Iterater是迭代器最简单的一种实现,一般用来遍历集合中的元素, 并且用户不需要了解底层结构.下面是Iterater的常用方法:(1)iterator():返回一个Iterater对象(2)next():获得序列中的下一个元素(3)remove():将迭代器返回的元素删除(4)hasNext():用来检测序列中还有元素Iterater应用实例:        List l = new Arra...

2018-04-21 20:59:47 527

原创 Spring MVC的拦截器

什么是拦截器?         Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理。例如通过拦截器可以进行权限验证、记录请求信息的日志、判断用户是否登录等。        要使用Spring MVC中的拦截器,就需要对拦截器类进行定义和配置。通常拦截器类可以通过两种方式来定义:1.通过实现HandlerInt...

2018-04-19 19:54:50 205 1

原创 什么是死锁和如何处理死锁

(1)什么是死锁呢?        死锁是指在线程执行中两个或多个线程相互持有对方所需要的资源,导致循环等待,无法向下执行.(2)死锁是怎样产生的呢?        主要原因如下:                1.因为系统资源不足                2.进程推进顺序不合理                3.资源分配不当(3)产生死锁的必要条件:        1 互斥条件:一个资源每...

2018-04-16 20:49:09 322

原创 匿名类创建线程

我们常用Thread类和Runnable接口来创建线程,重写run()方法,启动线程......但是有些麻烦,匿名类创建线程就比较简洁方便了,而匿名类创建线程也分为两种(1)继承Thread类的匿名类public class Test1 { public static void main(String[] args) { Thread thread = new Threa...

2018-04-13 17:21:27 969

原创 创建线程的三种方式

创建线程有三种方式:①继承Thread类(真正意义上的线程类),是Runnable接口的实现。②实现Runnable接口,并重写里面的run方法。③使用Executor框架创建线程池。Executor框架是juc里提供的线程池的实现本文将对前两种给出例子:(1)继承Thread类public class Test1 extends Thread { public void run(){...

2018-04-13 16:00:45 163

原创 Spring MVC数据绑定(复杂数据绑定)

接上篇Spring MVC数据绑定(简单数据绑定) https://blog.csdn.net/qq_39411607/article/details/799129831>绑定包装POJO所谓的包装POJO,就是在一个POJO中包含另一个简单POJO。例如,在订单对象中包含用户对象。这样在使用时,就可以通过订单查询到用户信息。1.在po包下新建一个OrdersPOJO:public clas...

2018-04-12 16:36:56 2011

原创 Spring MVC数据绑定(简单数据绑定)

首先,什么是数据绑定呢?        在执行程序时,Spring MVC会根据客户端请求参数的不同,将请求消息中的信息以一定的方式转换并绑定到控制器类的方法参数中。这种将请求消息数据与后台方法参数建立连接的过程就是Spring MVC中的数据绑定。        在数据绑定过程中,Spring MVC框架会通过数据绑定组件(DataBinder)将请求参数串的内容进行类型转换,然后将转换后的值赋...

2018-04-12 14:38:34 5425 1

原创 Java内部类总结

Java中的内部类其实就是类里面还有一个类,以下展示几种内部类存在的情况:(1)内部类的基本结构://外部类class Out { private int age = 12; //内部类 class In { public void print() { System.out.println(age); }...

2018-04-09 19:47:18 84

原创 String,StringBuffer和StringBuilder的区别和效率比较

String,StringBuffer和StringBuilder的区别主要体现在工作效率和线程安全上:1.工作效率:String<StringBuffer<StringBuilder说以下String最慢的原因,String创建的是字符串常量,而StringBuffer和StringBuilder创建的是字符串变量.嗯...也就是说String一旦创建了对象就无法修改,代码说话   ...

2018-04-08 20:08:22 1613

转载 Line 23 in XML document from class path resource [spring-mvc.xml] is invalid; 报错解决方法

今天在把自己的项目转为maven架构的时候,居然碰到了一个很奇葩的问题具体如下:org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:  Line 23 in XML document from class path resource [spring-mvc.xml] is invalid; nested exc...

2018-04-03 14:33:15 22428 3

原创 getParameter和getAttribute的区别

1.getAttribute表示从request范围取得设置的属性,只有之前先设置setAttribute属性,才能通过getAttribute使用.而相比较getParameter而言,却没有setParameter方法,getParameter只是表示接收参数,参数为页面提交的各项参数,包括:表单提交的参数、url重写(就是index.jsp?id=1中的id)传的参数等.2.getAttri...

2018-04-02 09:04:44 360

原创 @ RequestMapping注解用法

Spring通过@Controller注解找到相应的控制器类后,还需要知道控制器内部对每一个请求是如何处理的,这就需要使用@RequestMapping注解类型,它用于映射一个请求或一个方法。使用时,可以标注在一个方法或一个类上。1. 标注在方法上:作为请求处理方法在程序接收到对应的URL请求时被调用:package com.itheima.controller;import org.sprin...

2018-03-30 10:03:06 1676

原创 Git基本常用命令

Git基本常用命令如下:    mkdir:         XX (创建一个空目录 XX指目录名)  pwd:          显示当前目录的路径。  git init          把当前的目录变成可以管理的git仓库,生成隐藏.git文件。  git add XX       把xx文件添加到暂存区去。  git commit –m “XX”  提交文件 –m 后面的是注释。  git...

2018-03-26 10:36:58 101

原创 求数组最大子段和最简洁有效的算法

直接上代码:public static int max(int[] a){ int max = 0;int zmax = 0; for (int i = 0;i<a.length;i++){ zmax += a[i]; if (zmax>max) { max = zmax;...

2018-03-24 18:10:02 358

原创 Spring的事务管理

首先,什么是Spring的事务管理?        在实际开发中,操作数据库时都会涉及到事务管理问题,为此Spring提供了专门用于事务处理的API。Spring的事务管理简化了传统的事务管理流程,并且在一定程度上减少了开发者的工作量。         在Spring的所有JAR包中,包含一个名为spring-tx-4.3.6.RELEASE的JAR包,该包就是Spring提供的用于事务管理的依赖...

2018-03-22 20:54:29 372

原创 Spring中Bean的装配方式

 Bean的装配可以理解为依赖关系注入Bean的装配方式即Bean依赖注入的方式.Spring容器支持多种形式的Bean的装配方式,如基于XML的装配、基于注解(Annotation)的装配和自动装配(其中最常用的是基于注解的装配),接下来将对前两种进行详细讲解.1.基于xml的装配(1)创建Java类,提供有参,无参构造方法,以及属性的set方法.package xml;import jav...

2018-03-21 09:04:09 3281 1

原创 JDBC在Spring中的应用

JDBC在Spring框架中的使用方法如下:1.在applicationContext.xml中对数据源和JDBC模版配置如下: <!-- 配置数据源 --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> ...

2018-03-19 08:40:27 352

原创 Bean的三种被实例化的方法

在Spring中有三个实例化bean的方式:1.使用构造器实例化2.使用静态工厂方法实例化3.使用实例化工厂方法实例化(使用最普遍的是第一种,使用构造器实例化)(1)使用构造器实例化这种方法我们使用的最多,因为不再用去创建工厂类.最简单测试类:public class InstanceTest1 { public static void main(String[] args) { ...

2018-03-15 19:31:49 1356 1

原创 方法重载和方法重写的区别

1方法重写:在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量。子类可以定义新的特征,当子类需要修改父类的一些方法进行扩展,增大功能,程序设计者常常把这样的一种操作方法称为重写,也叫称为覆写或覆盖。重写体现了Java优越性,重写是建立在继承关系上,它使语言结构更加丰富。在Java中的继承中,子类既可以隐藏和访问父类的方法,也可以覆盖继承...

2018-03-14 21:13:13 188

原创 对Java三大特性的的理解

Java三大特性:封装,继承,多态.1.封装:简单地说就是该公开的公开,该私有的私有.例如一个类将属性都私有,并且提供公开的set/get 方法,做成了通用的组件,这样的类叫JavaBean;若只提供get方法,对某一个属性只提供get不提供set方法,就是只读的,在类的外部就不能修改.反之.好处:(1)实现了专业的分工.将能实现某一特定的功能的代码封装成一个独立的实体之后,程序员们可以在需要的时...

2018-03-14 21:03:34 1723

原创 值传递和引用传递

对基本数据类型和String,Integer,Double等immutable类型传值,改变形参的值的时候不会影响实参的值.为值传递.当传递的是对象,即形参和实参指向同一个地址,对参数的修改会也改变实际的操作对象的值,为引用传递....

2018-03-07 13:39:55 113

原创 HashMap和HashTable的区别(简述版)

1.继承的父类不同HashMap继承的是AbtractMap,HashTable继承的是Dictionary,但是两者均实现了Map接口。2.线程安全性不同HashMap是不安全的,HashTable是安全的。因为HashTable所有的方法全是 Synchrinize的。3.存放的元素是否可为空HashMap中key和value都允许为空,但是null为key的键值对只能有一

2018-01-12 15:52:50 1718 1

空空如也

空空如也

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

TA关注的人

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