- 博客(33)
- 收藏
- 关注
原创 JAVA之验证码
1. 首先可以引入生成验证码的jar包—ValidateCode.jar2. 写一个VCode类 来生成验证码,并将验证码的文本getCode()存在session会话中,便于后面验证 protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletExceptio
2017-10-06 11:11:42 355 1
原创 response.sendRedirect()request.getRequestDispatcher().forward()区别
JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以实现页面跳转,但是二者是有很大的区别的,分条来说,有以下几点:① response.sendRedirect(url)-----重定向到指定URL request.getRequestDispa
2017-10-06 11:03:07 302
原创 HTML_JavaScript
一、day_03知识点梳理定位:页面中用于摆放元素位置的方式,通过定位可以随心所欲的将元素摆放在任意的位置。1、 流定位:浏览器中元素的默认排列方式,垂直排列,水平排列。 默认情况下,元素在浏览器中排列是占据一个位置的。2、固定定位:相对于浏览器的窗口进行定位。/*背景色*/background-color: #6699CC;/*position:fixed
2017-08-18 18:54:11 364
原创 网页_HTML _JavaScript
1、day_01知识点梳理 HTML的版本声明 HTML-------->XHTML1 | | | | | HTML5H5是应用最为广泛的一个标准。 HTML页面中的根标记 是唯一的双标记:有头有尾:头标签作用:设置网页的标题,设置网页内容
2017-08-18 08:42:34 469
原创 JAVA—容器类
一、基本概念 Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中。 有两个不同的接口: 1. Collection: •Collection接口存储一组不唯一,无序的对象 •List接口存储一组不唯一,有序(插入顺序)的对象 •Set接口存
2017-08-14 22:01:08 333
原创 泛型
一、泛型的基本概念 泛型的定义:泛型是JDK 1.5的一项新特性,它的本质是参数化类型(Parameterized Type)的应用,也就是说所操作的数据类型被指定为一个参数,在用到的时候在指定具体的类型。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口和泛型方法。二、应用① 泛型类package com.brx.fanxing;/** *
2017-08-08 22:21:55 204
原创 JAVA中日期类Date、日历类Calendar、DateFormat类
一、Date类1、在JAVA API手册中Date类只有一个构造方法,其余的都已经过时了,原因是将其都抽象到了其他的类中。 Date()——分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。2、两个主要方法①System.currentTimeMillis()——获取当前系统的时间戳②setTime——设置时间package com.brx.dat
2017-07-27 21:22:47 939
原创 JAVA中文件类File
一、File类中常见的方法使用①创建文件—File file=new File("D:\\a.txt"); boolean s=file.createNewFile();②判断文件或文件夹是否存在——exists③获取绝对路径——getSolutePath④获取文件名——file.gteName⑤获取父目录——getParent⑥是否是隐藏文件——IsHidden
2017-07-27 14:58:59 364
原创 JAVA单例模式
单例模式①懒汉式 ②饿汉式③内部类(是一种懒汉式实现方式)④枚举前两种方式比较普遍,之前博客也说明过,这里重点看内部类及枚举实现方法注:前三种方式严格来说并不属于单例模式,因为其在进行反序列化的时又创建了新对象,而枚举不然。1、内部类实现package com.brx.single;public class Single { sta
2017-07-27 00:27:05 215
原创 String &&StringBuilder&&StringBuffer
知识点总结 String,StringBuffer,StringBuilder关于这三个类在字符串处理中非常重要,下面我们从以下几点说明: 1.三者在执行速度方面的比较:StringBuilder(线程不安全) > StringBuffer(线程安全) > String 2.String 的原因 String:字符串常量 StringBu
2017-07-26 23:18:31 287
原创 JAVA中String类
一、由JDK API文档可以了解到 String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。字符串是常量;它们的值在创建之后不能更改。因为 String 对象是不可变的,所以可以共享。例如: String str = "abc";等效于: char data[] = {'a', 'b
2017-07-25 21:59:37 513
原创 JAVA中equals方法使用
通过下述例子描述package com.brx.equals;public class Student { private String name; public Student(String name) { this.name=name; } @Override public String toString() { return super.toString(); }
2017-07-24 22:29:28 446
原创 用两个栈实现队列
一、题目要求用两个栈来实现一个队列,完成队列的Push和Pop操作。 二、解题思路: 首先知道栈和队列的性质。栈:先进后出;队列:先进先出。 使用的两个栈。如:第一个栈的入栈顺序是1,2,3,4。将第一个栈中元素出栈后到第二个栈,那么第二个栈的入栈顺序就是4,3,2,1。那么栈2中元素出栈的顺序1,2,3,4就是第一个栈的入栈顺序,即通过两个栈实现的队列的性质:先进
2017-07-17 16:48:34 211
原创 栈的压入、弹出序列(判断弹出序列是否正确)
一、问题描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)二、解题思路 借用一个辅助的栈,遍历压栈顺序,先
2017-07-17 16:37:37 308
原创 链表反转
一、题目要求题目: 输入一个链表,从尾到头打印链表每个节点的值二、解题思路题目要求从尾到头打印链表的节点值,可以联想到栈的特性:后进先出。由此入手解决问题。三、代码实现// 输入一个链表,从尾到头打印链表每个节点的值import java.util.Stack;import java.util.ArrayList;class ListNode{ int val; Li
2017-07-16 10:56:42 185
原创 替换空格
一、题目描述 实现一个函数,将一个字符串中的空格替换成“%20”。 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。二、解题思路 ①首先统计一下空格数量,之后创建一个新数组,新数组长度为原有数组长度加上空格数*2。只有从头到尾遍历或是从尾到头遍历,如果遇到空格就用指定字符替换。
2017-07-15 16:30:37 225
原创 JAVA中子类继承了父类的私有属性方法了吗?
一、继承知识点简单梳理1、继承会获得父类的属性和方法,子类还能有自己的属性方法。 开闭原则:对修改关闭,对扩展打开。2、JAVA支持单继承(一个子类只能有一个直接父类)、支持多重继承(A extends B,B extends C)。 JAVA不支持多继承,原因:如果两个父类有相同的方法,那么子类继承父类调用这个相同的方法的时候,会出现不 确定性,即二义性
2017-07-14 23:08:42 4718
原创 单例设计模式
一、单例设计模式 Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点static。核心知识点如下: (1) 将采用单例设计模式的类的构造方法私有化(采用private修饰)。 (2) 在其内部产生该类的实例化对象,并将其封装成private static类
2017-07-13 11:30:43 157
原创 static理解
一、类的变量static理解 static成员是在JVM的CLASSLOADER加载类的时候初始化的,而非static的成员是在创建对象,即new 操作的时候才初始化的;类加载的时候初始化static的成员,此时static 已经分配内存空间,所以可以访问;非static的成员还没有通过new创建对象而进行初始化,所以必然不可以访问。( static成员在编译的时候加载到
2017-07-12 16:59:59 267
原创 This的使用
一、this的使用 •Java关键字this只能用于方法体内。 •当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。 •因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this(static、final解释)。 •this只和特定的对象关联,
2017-07-12 13:26:45 471
原创 JAVA常量池之String类
一、基本理解 java中的常量池技术,是为了方便快捷地创建某些对象而出现的,当需要一个对象时,就可以从池中取一个出来(如果池中没有则创建一个),则在需要重复创建相等变量时节省了很多时间。常量池其实也就是一个内存空间,不同于使用new关键字创建的对象所在的堆空间。JVM为每个已加载的类型维护一个常量池,常量池就是这个类型用到的常量的一个有序集合。包括直接常量(基本类型,Strin
2017-07-11 21:04:47 215
原创 调整数组中数字顺序
一、题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。注意:使用当前数组实现,不能重新开辟一个同等长度的数组实现。思路:要想实现相对顺序不变,就需要记录一下,已经排好序的奇数的位置以及又发现的奇数的位置。将已经排好序的奇数与发现的奇数之间的数据向后
2017-07-11 15:03:58 595
原创 二维数组中查找数值
一、题目 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:① 使用双重循环依次遍历数组,看有没有此数值,能够实现但是效率较低,在线编程题目有运行时间限制,不能通过。②因为数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
2017-07-11 09:45:44 716
原创 二分查找算法递归实现&&快速排序算法实现
class BinarySearch{ public static void main(String[] args){ int[] arr={1,5,7,9,10}; int index=binarySearch(arr,0,arr.length,10); if(index!=-1){ System.out.println("找到值的索引为:"+index); }else{
2017-07-10 22:59:28 346
原创 二叉树复习
一、二叉排序树 二叉排序树又称为二叉查找树,它是一种特殊结构的二叉树,其定义为:二叉树排序树或者是一棵空树,或者是具有如下性质的二叉树:(1)若它的左子树非空,则左子树上所有结点的值均小于根结点的值;(2)若它的右子树非空,则右子树上所有结点的值均大于根结点的值;(3)它的左右子树也分别为二叉排序树。这是一个递归定义。由定义可以得出二叉排序树的一个重要性质
2017-07-09 21:06:23 329
原创 JAVA冒泡排序,归并排序,二分查找
一、基本理解冒泡排序基本思想:两两比较相邻记录的关键码,如果反序则交换,知道没有反序的记录为止。归并排序基本思想:将若干个有序序列进行两两归并,直至所有待排序序列都在一个有序序列为止。前提:数组有序。二分查找(折半查找)基本思想:对一个队列数组设置头start、尾end、中间索引mid=(start+end)/2,每次将待查找的值num与中间索引对应的值进行比较,分为三种情况:①查找的
2017-07-08 09:54:06 357
原创 JAVA选择排序
一、选择排序是一种不稳定的排序方法,其主要思想是:每趟排序在当前待排序序列中选出关键码最小的记录,添加到有序序列中。通俗理解即:当前值和后序队列中所有制进行比较,选出最小的。二、代码理解class SelectSortDemo{ public static void main(String[] args){ int[] arr={10,9,3,4,8,1,7,6,0,5};
2017-07-08 09:52:15 203
原创 数组逆序
**一、算法思想** 交换数组中第一个数与最后一个数,第二个数与倒数第二个数,直至开始索引和末尾索引指向相同位置。如图所示:**二、初步算法代码(少量偶然数据)**注:随便的定义一个长度为5的数组,逆序之后结果是正确的。代码:class NiXv{ public static void main(String[] args){ int[] a={3,4,5,6,9}; Sys
2017-07-06 19:50:42 1649
原创 基本数据类型&&引用数据类型内存变化
一、基本数据&&引用数据理解 基本数据类型有8个:byte,short,int,long,float,double,char,boolean; 引用数据类型:如类、数组、接口 具体概念这里不多做解释,知道:基本数据类型多是局部变量,只在栈内存中变化;引用数据类型在堆内存中开辟空间赋值变化,在栈内存中存储其对应堆内存中的基地址。 代码如下: class De
2017-07-05 21:16:54 482
原创 汉诺塔问题递归求解
一、问题描述 如下图所示,从左到右有A、B、C三根柱子,其中A柱子上面有从小叠到大的n个圆盘,现要求将A柱子上的圆盘移到C柱子上去,期间只有一个原则:一次只能移到一个盘子且大盘子不能在小盘子上面,求移动的步骤和移动的次数。 二、移动次数 规律查找 (1)n==1 第1次 1号盘 A—->C sum = 1 次 ( 2 ) n=
2017-07-04 23:26:22 511
原创 文章标题 javap理解
javap定义 javap是 Java class文件分解器,可以反编译(即对javac编译的文件进行反编译),也可以查看java编译器生成的字节码。用于分解class文件。测试类 // 判断一个数是否大于另一个数 class FunctionDemo{ public static void main(String[] args){ int a=10;
2017-07-03 22:17:23 240
原创 杨辉三角
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:**Markdowimport java.util.Scanner; class YangHuiSanjiao{ public static void main(String[] args){ Scanner cin=new Scanner(System.in
2017-07-03 00:05:25 228
原创 JAVA基础理解
1、JAVA 是一门跨平台的编程语言,其原理是:.class文件运行在JVM,不同的平台有各自的JVM。2、java中所有整数都默认为int类型;long a=5f; java中所有小数都默认为double类型;float b=0.5f。3、JDK->java软件开发工具包 JRE->java运行环境 JVM->java虚拟机 关系:JDK包含J
2017-07-02 23:35:37 180
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人