自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(108)
  • 收藏
  • 关注

原创 java中Scanner类nextLine和next的区别和使用方法

next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。简单地说,next()查找并返回来自此扫描器的下一个完整标记。完整标记的前后是与分隔模式匹配的输入信息,所以next方法不能得到带空格的字符串。ne...

2018-07-23 12:06:27 542

原创 Java 链表知识总结

链表的增加、删除、删除重复数据、找出链表中倒数第K个元素、链表的反转、从头到尾输出单链表、找到链表的中间节点、检测链表是否有环、找到链表的如口、求环的长度。在不知道头节点的情况下删除指定节点,判断两个链表是否相交,找到相交的第一个节点。public class MyLinkedList { Node head = null; /** * 向链表中插入数据 ...

2018-07-14 11:37:01 892

原创 Java内存区域与自动溢出异常

Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀),然后由JVM中的类加载器加载各个类的字节码文件,加载完毕之后,交由JVM执行引擎执行。在整个程序执行过程中,JVM会用一段空间来存储程序执行期间需要用到的数据和相关信息,这段空间一般被称作为Runtime Data Area(运行时数据区),也就是我们常说的JVM内存。因此,在Java中我们常常说到的内...

2018-06-01 18:01:47 370

原创 Spring学习

Spring的优点?为什么使用Spring? 1、 是一个轻量级的非侵入式的开源框架,框架中的每一个模块的功能独立,实现了IOC和AOP,降低耦合,提高代码的复用率。 2、 IOC:控制反转,使得应用中的各组件解耦,一个对象依赖的其他对象会通过被动的方法传递过来,而不是这个对象自己去创建或者去查找这个依赖对象。解决代码的耦合性问题。 DI:依赖注入,在IOC容器运行期间,动态的将某种关系...

2018-06-01 17:56:47 224

原创 java 初始化顺序

基本顺序: (静态变量、静态初始化块)>(变量、初始化块)>构造器。 测试代码:public class TestInitOrder { public static void main(String[] args) { System.out.println("测试一般类的初始化顺序:"); new General(); ...

2018-06-01 17:55:23 209

原创 JSP复习总结

什么是Java Server Pages? JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。 JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。...

2018-06-01 17:54:01 1281

原创 JDBC连接数据库

JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1、加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String className)实现。 例如: try{ //加载MySql的驱动类 ...

2018-06-01 17:48:09 157

原创 HashMap和HashTable的区别

HashMap和HashTable的区别 HashTable的key和value都不允许为null值,而HashMap的key和value则都是允许null值的。这个其实没有好坏之分,只是Sun为了统一Collection的操作特性而改进的。HashTable有一个contains(Object value)方法,功能上与containsValue(Object value)一样,但是在实现...

2018-06-01 17:44:27 405

原创 JAVA深复制(深克隆)与浅复制(浅克隆)

JAVA深复制(深克隆)与浅复制(浅克隆) 1.浅复制与深复制概念 ⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 ⑵深复制(深克隆) 被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再...

2018-06-01 17:42:49 276

原创 Spring之IOC学习

Spring之IOC学习容器初始化解析在Spring IOC容器读取Bean配置创建Bean实例之前,必须对它实例化,只有在容器实例化之后,才可以从IOC容器里获取Bean实例并使用,Spring提供了两种类型的IOC容器实现:1、BeanFactory:这是IOC容器的基本体现,用于生成任意的Bean,采取延迟加载,第一次getBean时才会初始化Bean2、ApplicationContex...

2018-05-31 10:47:43 155

原创 spring之 AOP面向切面编程

spring之 AOP面向切面编程 AOP(Aspect Oriented Programming),面向切面编程,是面向对象编程OOP(Object Oriented Programming)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散布...

2018-05-29 21:59:14 497

原创 Java复习之内部类

内部类是指一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。 内部类可以是静态,可用protected和private修饰。而外部类只能是使用public和缺省的包访问权限。 内部类主要有以下几类:成员内部类、局部内部类、静态内部类、匿名内部类。 为什么需要内部类? 典型的情况是、内部类继承某个类或实现某个接口,内部类的代码操作创建其的外围类的对象。所以内...

2018-05-24 22:09:21 169

原创 Java复习之重载和重写

重写(override):是子类对父类的允许访问的方法的实现过程进行重新编写,返回值和参数都不变。即外壳不变,核心重写。 重写的好处在于子类可以根据需要定义特定于自己的行为,也就是说子类能根据需要实现父类的方法。 重写方法不能抛出新的检查异常或者比被重写方法申明更加广泛的异常。例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 Exception...

2018-05-24 22:07:21 157

原创 Java复习之static关键字

static:表示静态的意思,可用于修饰成员变量和成员方法,被静态修饰的成员方法只能访问静态成员,不可以访问非静态成员。静态是随着类的加载而加载的,因此可以直接使用类进行访问。static可以修饰内部类,但是不能修饰普通类,静态内部类的话可以直接调用静态构造器。static修饰方法,static方法就是没有this的方法。在static内部不能调用非静态方法。这实际上是static方法的主...

2018-05-24 22:05:04 260

原创 java复习之接口类和抽象类

抽象类:不完全的类,用abstract 关键字创建,用extends 继承。是用来创建继承层级子类的模板,不能被创建对象。 接口:抽象方法的集合,用interface关键字创建,用implement继承。(接口中也能定义成员变量,必须为public static final,一般不再接口中创建成员变量)。如果一个类继承了某个接口,那么它就继承了该接口的抽象方法。接口只是一种形式,自身不能做任何事...

2018-05-24 22:03:48 185

原创 MySQL学习笔记

MySQL是一个关系型数据库管理系统 数据库: 数据库是一些关联表的集合。 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。 主键:主键是唯一的。一个数据表中只能包含一...

2018-05-09 14:55:48 436 2

原创 leetcode学习之剑指offer复习: 二叉树

二叉树的最小深度: Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.import java.util.LinkedList...

2018-05-09 14:54:15 185

原创 剑指offer 最小的K个数

题目描述 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。import java.util.ArrayList;import java.util.Collections;public class Solution { public ArrayList<Integer> GetLeastNum...

2018-05-08 17:44:11 163

原创 剑指offer之数组中出现次数超过一半的数字

题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。import java.util.ArrayList;import java.util.Collections;import java.util.HashSet;i...

2018-05-08 17:42:42 143

原创 剑指offer 数字在排序数组中出现的次数

题目描述 统计一个数字在排序数组中出现的次数。import java.util.HashMap;public class Solution { public int GetNumberOfK(int [] array , int k) { HashMap<Integer, Integer> hashMap = new HashMap<>(...

2018-05-08 17:40:11 180

原创 剑指offer之数组中只出现一次的数字

题目: 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。/num1,num2分别为长度为1的数组。传出参数//将num1[0],num2[0]设置为返回结果import java.util.HashMap;public class Solution { public void FindNumsAppearOnce(int [] ...

2018-05-08 17:38:59 114

原创 剑指offer之 第一个只出现一次的字符

题目描述 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置import java.util.HashMap;import java.util.LinkedHashMap;import java.util.Set;public class Solution { public int FirstNotRep...

2018-05-08 17:38:07 336

原创 剑指offer 字符流中第一个不重复的字符

题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符”go”时,第一个只出现一次的字符是”g”。当从该字符流中读出前六个字符“google”时,第一个只出现一次的字符是”l”。 输出描述: 如果当前字符流没有存在出现一次的字符,返回#字符。 方法一import java.util.HashMap;public class FirstNo...

2018-05-08 17:37:12 292

原创 JDBC: Statement、PreparedStatement和CallableStatement

JDBC:Statement(接口) | PreparedStatement(接口) | CallableStatement(接口) 以上三者为继承关系 Statement 接口提供了执行语句和获取结果的基本方法; PreparedStatement 接口添加了处理 IN 参数的方法; CallableStatement 接口添加了处理 OUT 参数的方法。...

2018-04-27 10:34:57 319

原创 剑指offer之 二叉树中和为某一值的路径

题目:输入一棵二叉树和一个整数, 打印出二叉树中结点值的和为输入整数的所有路径。从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。import java.util.ArrayList;public class FindPath { ArrayList<Integer> path = new ArrayList<>(); ArrayList...

2018-04-23 16:09:53 148

原创 Java之树的遍历(非递归)

package niuke;import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;import java.util.Stack;class TreeNode { int val = 0; TreeNode left = nu...

2018-04-20 09:37:56 2656

原创 Java之深复制浅复制

JAVA深复制(深克隆)与浅复制(浅克隆) 1.浅复制与深复制概念 ⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 ⑵深复制(深克隆) 被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再...

2018-04-18 17:25:01 180

原创 剑指offer之二叉树的镜像

题目: 操作给定的二叉树,将其变换为源二叉树的镜像。public class Mirror { public void mirror(TreeNode root) { if(root!=null){ TreeNode temp= root.left; root.left= root.right; ...

2018-04-14 16:38:26 108

原创 剑指offer之树的子结构

题目: 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)public class HashSubTree { public boolean HasSubtree(TreeNode root1,TreeNode root2) { boolean result = false; if(root2!=null &...

2018-04-14 16:36:08 105

原创 剑指offer之合并两个排序的链表

题目: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路:归并排序的思想public class ListNodeMerge { public ListNode merge(ListNode list1,ListNode list2){ if(list1==null && list2!=null...

2018-04-14 14:40:17 91

原创 剑指offer之反转链表

题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。package niuke;import java.util.Stack;public class ReverseList {//方法一:指针的移动// public ListNode reverseList(ListNode head) {// if (head ==null)// ...

2018-04-14 11:26:53 122

原创 剑指offer之 链表中倒数第k个节点

题目: 输入一个链表,输出该链表中倒数第k个结点。public class FindKthToTail {//方法一// public ListNode findKthToTail(ListNode head,int k) {// if (head ==null||k==0)// return null;// ListNode p = h...

2018-04-13 22:11:58 106

原创 剑指offer之构建乘积数组

题目: 给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…A[i-1]*A[i+1]…*A[n-1]。不能使用除法。import java.util.ArrayList;public class Solution { public int[] multiply(int[] A) { int[]...

2018-04-12 22:09:23 110

原创 剑指offer 数组中重复的数字

题目: 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。/* * 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的, * 但不知道有几个...

2018-04-12 21:40:28 124

原创 剑指offer之数值的整数次方

题目: 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方public class Power { public double power(double base, int exponent) { if(exponent>=0){ if(exponent==0) ...

2018-04-09 22:08:46 93

原创 抽象类和接口的区别

抽象类:不完全实现的类,使用abstract关键字修饰,如果类中含有抽象方法,也是用abstract关键字修饰。 抽象类由子类继承,没有实现的功能由子类去完成,设计抽象类的目的就是让子类去继承,由于某种原因,当不便给出类中的所有方法的实现时,就可以将类设计为抽象类,将不便实现的方法设计为抽象方法。 抽象类不能被实例化,也就是不能用new关键字创建对象。但是可以声明抽象类的引用,使其指向子类的对...

2018-04-09 16:56:02 98

原创 剑指offer之旋转数组的最小数字

题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。import java.util.ArrayList;public class Solution {...

2018-04-08 22:43:46 91

原创 剑指offer之矩形覆盖

题目: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?public class Solution { public int RectCover(int target) { if(target<=0) return 0; else if(tar...

2018-04-08 22:42:31 87

原创 剑指offer之二进制中1的个数

题目: 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。public class NumberOf1 { public int numberOf1(int n) { int count =0; if (n<0) { count = 32; while(n!=-1)...

2018-04-08 22:41:20 86

原创 剑指offer 之两个栈来实现一个队列

题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解题思路: 把数据push到A栈中,然后pop到B栈中,这时B栈中的数据和之前A栈中的数据时相反的,这是pop的数据就实现了先进先出,然后再把B栈中的数据pop出来存入A栈中,这时A中的数据仍是pop最先存入的数据后其他的存储数据。import java.util.Stack;public ...

2018-04-08 21:42:19 92

空空如也

空空如也

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

TA关注的人

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