
Java学习
文章平均质量分 50
logevey
这个作者很懒,什么都没留下…
展开
-
Java 匿名内部类
匿名内部类就是当所需要定义的类只需要调用一次的情况下,为了简便的写法,定义不需要名字的匿名内部类。匿名内部类必须要继承一个父类或实现一个接口。 举例: // 父类 abstract class Animal { public abstract void eat(); } // 子类 class Bird extends Animal{ p原创 2016-05-11 11:32:11 · 563 阅读 · 0 评论 -
JSP基础
定义: JSP是一种servlet。servlet是先编译为class文件,再部署,而JSP是先部署,再编译为class文件。 生命周期: JSP转换编译->JSP初始化阶段->JSP执行阶段->JSP销毁阶段 语法: 1. <% 代码片段 %>脚本程序 2. <%! int i=0%> JSP声明 3. <%= 表达式 %> JSP表达式 4. <%-- 注释 --%> JSP注释原创 2016-04-22 21:59:53 · 415 阅读 · 0 评论 -
源码学习之Vector
Vector源码分析学习同样,首先是Vector的定义//继承AbstractList抽线类,实现了List、RandomAccess、Cloneable和Serializable接口public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io原创 2016-05-30 15:51:02 · 375 阅读 · 0 评论 -
源码学习之ArrayList
ArrayList源码分析学习首先是ArrayList的定义//继承AbstractList抽线类,实现了List、RandomAccess、Cloneable和Serializable接口public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, j原创 2016-05-26 10:07:54 · 453 阅读 · 0 评论 -
35 个 Java 代码性能优化总结
前言代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化转载 2016-06-21 09:06:32 · 383 阅读 · 0 评论 -
字符串的后缀数组
今天看到一个编程题,题目是:给定一个字符串,求出其最长的重复子串。例如输入”abczzacbca”,那么应该输出”bc”;输入”canffcancd”,输出”can”。 首先想到的是,对于字符串中的每个字符遍历,对于每个字符找到最大的重复出现的子串。然后取最大的那个。然而看到下面提示说可以使用后缀数组,原创 2016-06-21 15:13:54 · 733 阅读 · 0 评论 -
数组去重 算法实现
最近同学在面试的过程中,连续被问道了这个问题,因此做个总结!package com.lee.wait;import java.util.Arrays;import java.util.HashSet;import java.util.Set;/** * ArrayUniue 数组去重的问题 * * @author wait * */public class ArrayUniue {原创 2016-07-26 19:22:45 · 10419 阅读 · 3 评论 -
Java异常处理
定义:Java的异常是说程序执行过程中遇到的干扰正常的指令流程的情况。实现类:Java实现异常,定义了相应的实现类,首先是Throwable类,它是所有异常的基类。Throwable类下面有两个类继承它,分别是Error类和Exception类。 Error类,顾名思义,是错误的意思,表示的是虚拟机在运行过程中所遇到的一些错误,并不是程序所能够处理的错误,比如ThreadDeath和OutOfM原创 2016-07-16 20:17:31 · 883 阅读 · 0 评论 -
字符的左右移动-java
题目:字符串移动(字符串为号和26个字母的任意组合,把号都移动到最左侧,把字母移到最右侧并保持相对顺序不变),要求时间和空间复杂度最小.解析:主要问题是时间复杂度和空间复杂度,不过不考虑时间和空间复杂度,可以另外建立两个字符数组,把’‘和非’‘,分别放进去,再组合成字符串,就可以了. 那么要保持时间复杂度为(n),空间复杂度为(1),就需要进一步考虑.思路就是设定一个下标i指向字符串第一个非’‘的原创 2016-06-21 11:23:05 · 2166 阅读 · 0 评论 -
二叉排序树的建立和各种遍历方法-java(附详细注释和单元测试)
二叉排序树的建立和各种遍历方法二叉排序树的定义: 二叉排序树或者是一棵空树,或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树; (4)没有键值相等的结点。原创 2016-08-04 21:54:22 · 2785 阅读 · 1 评论 -
Java知识点总结
1、java基本语法(8大基本类型、流程控制语句等)2、类的概念和定义方法(Class)3、抽象类(Abstract class和接口(Interface)4、继承和多态性(覆盖、重载、多态)5、内部类(实例内部类、静态内部类、局部内部类)6、异常处理(Throwable Error Exception RuntimeException)7、String StringBuffer和St原创 2016-03-11 16:01:28 · 418 阅读 · 0 评论 -
Java面试 String相关的面试点
String是最基本的数据类型吗? 基本数据类型包括byte、int、char、long、float、double、boolean和short。java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类String s = “Hello”;s = s + ” world!”;这两行代码执行后,原始的St原创 2016-05-18 11:02:01 · 375 阅读 · 0 评论 -
Java容器
Collection是最基本的集合接口,但是不能直接继承,Java SDK中提供的类都是继承自Collection的子接口,如List、Set。1、List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组,List允许有相同的元素。 (1)LinkedList原创 2016-03-12 23:16:27 · 361 阅读 · 0 评论 -
servlet创建实例和生命周期
servlet创建实例分为两种情况:1)在客户端请求对应的servlet时,会创建servlet实例(大多数情况)2)在web.xml中设置load-on-startup,这种方法,会在web应用启动的时候就创建相应的servlet实例。servlet的生命周期1)servlet实例创建2)servlet的init方法,执行初始化操作3)Servlet 初始化后,将一直存在于容器中,用于原创 2016-05-11 11:46:35 · 561 阅读 · 0 评论 -
java多线程
多线程的实现方式有几种方法? 继承Thread类,用start方法启动线程实现Runnable接口(多重继承中优先使用),用new Thread(Runnable target).start()方法来启动Thread.start()和Thead.run()的区别? start()方法(native)是用来调用启动线程的,使线程进入就绪状态。run()方法是用来线程的入口函数,当cpu分配时原创 2016-05-11 14:24:40 · 319 阅读 · 0 评论 -
Struts2学习基础
Struts2简介:Strut2是java web开发中的经典MVC框架。理论上讲Strut2可以单独使用,就可以实现MVC的框架,但是在一般应用中一般和Spring和Hibernate一起使用,组成更完善的MVC框架。用Hibernate取代Structs中的JavaBean和EJB实现的M部分,而Spring是一个轻量级的IoC(控制反转)和AOP(面向切面)的容器框架,可以使Struts和Hi原创 2016-05-13 10:34:24 · 697 阅读 · 0 评论 -
Java IO流学习
Java的IO流的设计应用了设计模式中的装饰模式。IO包括字节流和字符流,Java标准库的继承关系和对应装饰模式的的类,如下图:图中:1、InputStream和OutputStream是字节流的两个基类,他们扮演着装饰模式中的抽象构件的角色,2、FileInputStream、StringBufferInputStream、ByteArrayInputStream和PipedInputS原创 2016-03-11 11:14:08 · 507 阅读 · 0 评论 -
Java集合Collection总结
Collection是最基本的集合接口,声明了适用于JAVA集合(只包括Set和List)的通用方法。 Set 和List 都继承了Conllection。 接口方法:void clear():删除集合中所有的对象,即不再持有这些对象的引用 boolean isEmpty() :判断集合是否为空 boolean contains(Object o) : 判断集合中是否持有特定原创 2016-05-16 16:03:26 · 328 阅读 · 0 评论 -
String、StringBuilder和StringBuffer的区别和应用场景
String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,那原创 2016-05-16 14:59:02 · 521 阅读 · 0 评论 -
Java 抽象类和接口的总结
抽象类:含有abstract修饰符的class即为抽象类。含有abstract方法的类,必须定义为abstract类,但是abstract类可以没有abstract方法。abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果的子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为abstract类型。abstract类不原创 2016-05-17 19:25:19 · 421 阅读 · 0 评论 -
Java内部类面试
什么是内部类?Static Nested Class和Inner Class的不同。 内部类就是在一个类的内部定义的类,内部类中不能定义静态成员(静态成员不是对象的特性,只是为了找一个容身之处,所以需要放到一个类中而已,这么一点小事,你还要把它放到类内部的一个类中,过分了啊!提供内部类,不是为让你干这种事情,无聊,不让你干。我想可能是既然静态成员类似c语言的全局变量,而内部类通常是用于创建内部对象转载 2016-05-18 09:47:49 · 410 阅读 · 0 评论 -
Java反射-例子
示例代码:package com.lee.wait;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;/** * 接口 * @author wait * */interface inter{ String interfaceDe原创 2016-09-05 14:58:16 · 325 阅读 · 0 评论