- 博客(40)
- 资源 (1)
- 收藏
- 关注
原创 超全面的大型IT公司Java开发岗面试题集锦
一、Java基础1.String类为什么是final的。2.HashMap的源码,实现原理,底层结构。3.说说你知道的几个Java集合类:list、set、queue、map实现类咯。。。4.描述一下ArrayList和LinkedList各自实现和区别5.Java中的队列都有哪些,有什么区别。6.反射中,Class.forName和classloader的区别7.Ja...
2019-03-09 10:34:01
354
转载 在oracle下触发器实现主键自增
利用序列产生主键值。 序列(Sequence)是一种可以被多个用户使用的用于产生一系列唯一数字的数据库对象。序列定义存储在数据字典中,通过提供唯一数值的顺序表来简化程序设计工作,可以使用序列自动产生主键的键值。当一个序列第一次被查询调用时,它将返回一个预定值。在随后的每次查询中,序列将产生一个按指定的增量增长的值。序列可以循环,或者是连续增加的,直到指定的最大值为止。 创建序列语法如下
2016-12-14 18:44:41
385
原创 java8接口的新增功能
public class TestInterface { public static void main(String[] args) { A a = new C();//多态,父类的引用指向子类的对象 a.syso(); System.out.println("---子类直接调用根接口的新增default方法----"); a.newFunction(); }}in
2016-12-11 22:56:34
521
转载 Java设计模式—生产者消费者模式(阻塞队列实现)
生产者消费者模式是并发、多线程编程中经典的设计模式,生产者和消费者通过分离的执行工作解耦,简化了开发模式,生产者和消费者可以以不同的速度生产和消费数据。这篇文章我们来看看什么是生产者消费者模式,这个问题也是多线程面试题中经常被提及的。如何使用阻塞队列(Blocking Queue)解决生产者消费者模式,以及使用生产者消费者模式的好处。真实世界中的生产者消费者模式生产者和消费者模
2016-12-05 17:02:40
379
转载 生产者/消费者模式
[0]:概述今天打算来介绍一下“生产者/消费者模式”,这玩意儿在很多开发领域都能派上用场。由于该模式很重要,打算分几个帖子来介绍。今天这个帖子先来扫盲一把。如果你对这个模式已经比较了解,请跳过本扫盲帖,直接看下一个帖子(关于该模式的具体应用)。看到这里,可能有同学心中犯嘀咕了:在四人帮(GOF)的23种模式里面似乎没听说过这种嘛!其实GOF那经典的23种模式主要是基于OO的(从书名
2016-12-04 21:59:26
344
转载 MySQL高级查询——连接查询实例详解
前言我们使用SQL查询不能只使用很简单、最基础的SELECT语句查询。如果想从多个表查询比较复杂的信息,就会使用高级查询实现。常见的高级查询包括多表连接查询、内连接查询、外连接查询与组合查询等,今天我们先来学习最常用、面试也很容易被问到的连接查询。我们今天以一个简单的学生信息表(学生ID、学生姓名、学生性别)与一个学生成绩表(学生ID、学生成绩、成绩等级)作演示:stude
2016-11-21 11:05:06
734
转载 Java内存的详细分析(包括垃圾回收)
1.JAVA 的内存概述:JVM系统中存在一个主内存(Main Memory或Java Heap Memory),Java中所有变量都储存在主存中,对于所有线程都是共享的。当然,从进程是操作系统资源分配的单位这个角度来看,每个主内存对应于一个进程,多个线程共享该进程的资源(主内存)。每条线程(主要处理用户定义的运算)都有自己的工作内存(Working Memory),工作内存中保存的是主存
2016-11-07 14:34:10
757
转载 集合类 Java中的集合类解析和一些有深入的面试题
Java集合类解析List、Map、Set三个接口,存取元素时,各有什么特点?List 以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value可多值。Hashtable和HashMap的区别: 1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类;
2016-10-21 17:24:57
521
转载 !Java中Vector和ArrayList的源码中为什么要赋值给oldData
public void ensureCapacity(int minCapacity) { modCount++; int oldCapacity = elementData.length; if (minCapacity > oldCapacity) { Object oldData[] = elementData
2016-10-18 14:02:24
412
转载 java enum(枚举)使用详解 + 总结
enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中。 下面是我在使用 enum 过程中的一些经验和总结,主要包括如下内容:1. 原始的接口定义常量2. 语法(定义)3. 遍历、switch 等常用操作4. enum 对象的常用方法介绍5. 给 enum 自定义属性和方
2016-10-15 14:48:31
390
转载 Java对象的浅克隆和深克隆
为什么需要克隆 在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。在Java语言中,用简单的赋值语句是不能满足这种需求的,要满足这种需求有很多途径。 克隆的实现方式
2016-10-10 14:09:44
329
原创 collection.toArray(new String[0])中new String[0]的语法解释
Collection的公有方法中,toArray()是比较重要的一个。但是使用无参数的toArray()有一个缺点,就是转换后的数组类型是Object[]。 虽然Object数组也不是不能用,但当你真的想用一个具体类型的数组,比如String[]时,问题就来了。而把Object[]给cast成String[]还是很麻烦的,需要用到这个:String[] stringArray = Ar
2016-10-09 09:53:37
8879
4
转载 Java的String中的subString()和StringTokenizer类的使用
方法如下:public String substring(int beginIndex, int endIndex)第一个int为开始的索引,对应String数字中的开始位置,第二个是截止的索引位置,对应String中的结束位置1、取得的字符串长度为:endIndex - beginIndex;2、从beginIndex开始取,到endIndex结束,从0开始数,其中不包括
2016-10-09 08:29:04
718
转载 Java IO中转换流的作用
在《Java网络编程》中,有这样一段话:”Reader和Writer最重要的子类是InputStreamReader和OutputStreamWriter类。InputStreamReader类包含了一个底层输入流,可以从中读取原始字节。它根据指定的编码方式,将这些字节转换为Unicode字符。OutputStreamWriter从运行的程序中接收Unicode字符,然后使
2016-10-07 02:13:03
1249
转载 IO—转换流
Java学习—IO—转换流 转换流是指将字节流与字符流之间的转换,包含两个类:InputStreamReader和OutputStreamWriter。 转换流的出现方便了对文件的读写,她在字符流与字节流之间架起了一座桥梁,使原本毫无关联的两种流操作能够进行转化,提高了程序的灵活性。 InputStreamReader的构造操作:I
2016-10-07 02:10:31
316
转载 ResultSet用法集锦
ResultSet用法集锦结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成对数据的更新等. 结果集读取数据的方法主要是getXXX(),他的参数可以是整型表示第几列(是从1开始的),还可以是列名。返回的是对应的XXX类型的值。如果对应那列 是空值,XXX是
2016-10-05 12:18:23
418
转载 DatabaseMetaData类
DatabaseMetaData类DatabaseMetaData类是Java.sql包中的类,利用它可以获取我们连接到的数据库的结构、存储等很多信息。如: 1、数据库与用户,数据库标识符以及函数与存储过程。 2、数据库限制。 3、数据库支持不支持的功能。 4、架构、编目、表、列和视图等。
2016-10-03 22:43:56
1202
转载 javax.script包探秘 javascript与java交互执行
这个包用来和JavaScript进行互操作,比如Java类可以调用JavaScript中的方法,而JS也可调用 JAVA中的方法.1、可用的脚本引擎Java 6提供对执行脚本语言的支持,这个支持来自于JSR223规范,对应的包是javax.script。默认情况下,Java 6只支持javascript脚本,它底层的实现是Mozilla Rhino,它是个纯Java的jav
2016-09-27 00:25:56
5425
1
转载 java 创建文件-创建目录-创建临时文件
[java] view plain copy print?import java.io.File; import java.io.IOException; /** * 创建新文件和目录 */ public class CreateFileUtil { /** * 创建单个文件 *
2016-09-25 23:40:31
1408
转载 Java:GOF的23种设计模式(下)
三:构造型模式(1)建造者模式也叫生成器模式(Builder)1.建造者模式的意图是把构造对象实例的代码逻辑移到要实例化的类的外部2.生成器模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。[java] view plain copy public class Product {
2016-09-15 01:03:54
991
转载 Java:GOF的23种设计模式(上)
最近学习设计模式,主要参考两本书《大话设计模式》和《Java设计模式》,而两本书的重要参考书目都有大名鼎鼎的GOF的《设计模式》。等到自己的理解能力足够时,一定会继续研读《设计模式》、《Head First设计模式》这些圣经。现在的学习就当是一种了解,虽知现在学习不可能很深入,理解得非常浅显,就当是为以后做个铺垫,某年某月某日看到某些代码时,会惊觉这怎么这么像之前学的那些设计模式的?我想那时一
2016-09-15 01:02:00
3828
转载 Queue和Deque
注意:这都只是接口而已 1、QueueAPI在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。 Java代码 public interface Queue extends Collection 除了基本的 C
2016-08-30 22:29:08
298
原创 TreeSet和TreeMap排序
Set接口:HashSet HashMap元素必须重写equals和hashcode方法去重:比较==0即重复TreeMap:要求key可以排序或提供key比较器public TreeMap(Comparator comparator)TreeSet:确保元素实体可以排序或提供比较器 public TreeSet(Comparator comparator)
2016-08-29 23:11:48
2031
转载 JAVA强制类型转换总结
object对象转换为String的一些总结--------------------------------------------------------------------------------在Java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能。本文将对常用的转换方法进行一个总结。常用的方法有Object.toString(),(Stri
2016-08-29 02:15:41
10217
转载 java-----强制类型转换
在Java中强制类型转换分为基本数据类型和引用数据类型两种,这里我们讨论的后者,也就是引用数据类型的强制类型转换。 在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需要强制转换。因为子类拥有比父类更多的属性、更强的功能,所以父类转换为子类需要强制。那么,是不是只要是父类转换为子类就会成功呢?其实不然,他们之间的强制类型转换是有条件的。
2016-08-29 02:12:52
417
转载 Java中的泛型方法
泛型是什么意思在这就不多说了,而Java中泛型类的定义也比较简单,例如:public class Test{}。这样就定义了一个泛型类Test,在实例化该类时,必须指明泛型T的具体类型,例如:Test t = new Test();,指明泛型T的类型为Object。 但是Java中的泛型方法就比较复杂了。 泛型类,是在实例化类的时候指明泛型的具体类型;泛型方
2016-08-28 22:57:05
354
转载 Arrays.copyOf(...)和System.arraycopy(...)
首先观察先System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)的声明:[java] view plaincopyprint?public staticnativevoid arraycopy(Object src, int srcPos,
2016-08-26 09:17:04
272
原创 集合转数组的toArray()和toArray(T[] a)方法
下面代码是jdk ArrayList中的源码 public T[] toArray(T[] a) { if (a.length < size) a = (T[])java.lang.reflect.Array. newInstance(a.getClass().getComponentType(), s
2016-08-24 14:12:10
510
原创 Arrays详解_Arrays.sort_Arrays.copyOf_Arrays.asList
1. asList方法 @SafeVarargs public static T> ListT> asList(T... a) { return new ArrayList(a); } 使用该方法可以返回一个固定大小的List,如: ListString> stringList = Arrays.asList("Welcome", "To",
2016-08-24 14:01:31
318
原创 Map.Entry类_map.keySet()_map.entrySet()及Hashtable的排序
Map.Entry你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用Map.Entry类,你可以得到在同一时间得到所有的信息。标准的Map访问方法如下:Set keys = map.keySet();If(keys !=null){for(Iterator iter = keys.iterator();iter.hasNext();){ Object
2016-08-24 13:22:15
2633
原创 Map 集合详解HashMap_TreeMap_LinkedHashMap
Map接口的实现类有HashMap TreeMap LinkedHashMapHashMap:一般情况下,使用HashMap插入、删除、定位元素。底层实现链表加数组TreeMap:按自然规律大小顺序或自定义顺序遍历,使用TreeMap 。底层实现二叉树LinkedHashMap:按照添加的顺序输出,不进行大小排序。底层实现双向链表是HashMap的子类Eg: Maplinkedha
2016-08-24 10:59:18
385
原创 java-equals和==的比较规则和equals的重写
1、java中equals和==的区别 值类型是存储在内存中的堆栈(简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。2、==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。3、equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。4、==比较的是2个对象的地址,而
2016-08-22 15:12:15
2316
原创 JAVA实现双向链表终极解析!!熟练使用接口
双向链表结构和单向链表的区别:最后一个结点的链接地址上,单向链表是null,而双向链表是表头的链接地址。即双向链表的head和last互相指向示意图表头为空 head之前的节点是last=50这个节点 ,head之后的节点是first=10这个节点last之前是40这个节点,last之后是head这个头节点双向链表删除节点删除
2016-08-21 10:35:47
6334
原创 深入理解Java的接口类和抽象类
对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别一.抽象类
2016-08-19 18:54:11
194
原创 static_final_static final 用法
static_final_static final 用法..................................................................................................................1.使用范围:类、方法、变量。2.区别和联系:2.1.static 含义:静态的,被 sta
2016-08-17 10:28:44
303
原创 打印File目录树状结构原理_控制台打印_递归算法
import java.io.File;public class FileTree { public static void main(String[] args) { File f=new File("d:/BaiduYunDownload"); printTree(f,0); } public static void printTree(File f,int
2016-08-16 11:37:52
757
原创 可视化日历程序----Date时间类 Calendar日历类的应用
import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.util.
2016-08-15 16:24:26
2004
原创 二分法查找算法
算法:当数据量很大适宜采用该方法。采用二分法查找时,数据需是有序不重复的。 基本思想:假设数据是按升序排序的,对于给定值 x,从序列的中间位置开始比较,如果当前位置值等于 x,则查找成功;若 x 小于当前位置值,则在数列的前半段中查找;若 x 大于当前位置值则在数列的后半段中继续查找,直到找到为止。假设有一个数组{34,56,58,9,2,45,5,45,6,2,12,112},现要求
2016-08-15 00:35:44
396
原创 冒牌排序算法详解
对于「冒泡排序」算法,核心是 冒泡。如何冒泡?也就是说,把数组中最小的那个往上冒,冒的过程就是和他相邻的元素交换。这个冒的过程就是内循环。经过了一个冒的过程,可以使一个最小的元素冒出来,如果数组里面有 n 个元素,就得冒 n-1 次,这就是外循环。假设有数组 array = {10,9,8,7,6,5,4,3,2,1}则数组长度length = 10
2016-08-14 22:52:04
1588
原创 关于this的解析
1. this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。 例如
2016-08-12 10:33:45
316
smartupload 中文版解决乱码-jspsmartupoad
2017-01-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人