自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 问答 (1)
  • 收藏
  • 关注

原创 【面试题26】数组中出现次数超过一半的数字

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

2017-06-15 10:31:21 299

转载 JVM GC垃圾回收算法

一、对象存活判断判断对象是否存活一般有两种方式:1.引用计数:每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计数为0时可以回收。此方法简单,无法解决对象相互循环引用的问题。2.可达性分析(Reachability Analysis):从GC Roots开始向下搜索,搜索所走过的路径称为引用链。当一个对象到GC Roots没有任何引用链相连时,则证明此对象是

2017-06-14 16:06:14 332

转载 JAVA中的数据存储(堆及堆栈)

转自:http://www.iteye.com/topic/6345301.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(对象可能在常量池里)(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(

2017-06-14 15:52:42 332

原创 【面试题25】字符串的排列

题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则打印由字符a,b,c所能排列出来的所有字符串:abc,abc,bac,bca,cab,cba我们求整个字符串的排列,可以看成两步:首先求出所有可能出现在第一个位置的字符,即把第一个字符和后面所有的字符交换。下图就是分别把第一个字符a和后面的b,c交换的情景。第二步固定第一个字符,求后面所有字符的排列。这个时候我们

2017-06-13 20:11:37 324

原创 【面试题25】二叉搜索树与双向链表

题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。引言    自己觉得对二叉树了解的不是很多,所以想专门练习一下这方面的问题,剑指Offer中有一道题是将二叉搜索树转换为双向链表,开始的时候照着书上的思路去做,最后发现问题很多,看来这本书也有很多问题啊,原因是Java和C++还是有很多不同的,特别是对对象的引用

2017-06-13 19:49:20 317

原创 【面试题24】复杂链表的复制

题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)/*public class RandomListNode {    int label;    RandomListNode next = null

2017-06-13 17:02:35 285

原创 【面试题23】二叉树中和为某一值的路径

题目描述输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。public class Solution {    privateArrayList> listAll = newArrayList>();    privateArrayList list = newAr

2017-06-13 15:27:45 270

原创 【面试题22】二叉搜索树的后序遍历

程序员的一生时间90%是用在编程上,而剩余的10%是活在世界上。题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。import java.util.*;public class Solution {    public boolean VerifySquenceOfB

2017-06-13 14:12:23 231

转载 java中queue的使用

Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接 口。Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法 了,而不能直接访问 LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用。BlockingQueue 继承了Q

2017-06-13 12:29:13 225

原创 【面试题21】包含min函数的栈

定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。思路:用一个栈data保存数据,用另外一个栈min保存依次入栈最小的数比如,data中依次入栈,5, 4,  3,8, 10,11, 12,1       则min依次入栈,5, 4,  3,no,no, no, no,1 no代表此次不如栈每次入栈的时候,如果入栈的元素比mi

2017-06-13 12:28:54 209

原创 【面试题20】顺时针打印矩阵

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.

2017-06-12 19:31:03 258

原创 【面试题19】二叉树的镜像

题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5

2017-06-12 16:55:08 225

原创 【面试题18】树的子结构

输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)/**public class TreeNode {    int val = 0;    TreeNode left = null;    TreeNode right = null;    public TreeNode(int val) {        this

2017-06-12 16:36:37 254

原创 【面试题17】合并两个排序的链表

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。递归实现:/*public class ListNode {    int val;    ListNode next = null;     ListNode(int val) {        this.val = val;    }}*/pu

2017-06-12 16:17:10 224

转载 [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大家.对于这次跳槽找工作, 我准备了挺长的时间, 其中也收集了很多比较好的笔试面试题, 大都是一些常用的基础, 很多都是由于时间原因没有来得及给出答案, 但是题目大都是比较经典实用的, 现在都放到这里, 希望对正处于找工作的博友有一定的帮助.第一部分: Java基础(此部分面试题题目来自:http://www.h

2017-06-12 15:07:30 1054

原创 12.数据库概念相关

1. 什么是存储过程?它有什么优点?答:存储过程是一组予编译的SQL语句,它的优点有:    允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。    允许更快执行,如果某操作需要执行大量SQL语句或重复执行,存储过程比SQL语句执行的要快。    减少网络流量,例如一个需要数百行的SQL代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。

2017-06-12 15:04:25 287

原创 11.数据库总结

问题及描述: --1.学生表 Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Course(CID,Cname,TID) --CID --课程编号,Cname 课程名称,TID 教师编号 --3.教师表 Teacher(TID,Tname) --TID 教师编号,T

2017-06-12 15:03:21 321

原创 10.浏览器跨域问题.

此块内容参考Ajax文档部分。主要复习内容:    1.JavaScript核心对象    2.浏览器BOM对象    3.文档对象模型DOM    4.常见事件    5.Ajax编程(web交互2种方式的对比)    6.传统Ajax编程的步骤以及从服务器端返回的数据格式    7.JSON数据格式的转换操作   

2017-06-12 15:01:21 336

原创 9.脚本语言知识总结

核心内容概述1.JavaScript加强,涉及到ECMAScript语法、BOM对象、DOM对象以及事件。2.Ajax传统编程。3.jQuery框架,九种选择器为核心学习内容4.JQuery UI插件5.jQuery Ajax编程6.jQuery第三方插件7.反向Ajax编程(彗星)一、JavaScript基础加强JavaScript是在浏览器内容运行,无需编译

2017-06-12 14:59:42 379

原创 8.Hibernate总结以及在面试中的一些问题.

1.为什么要使用Hibernate开发你的项目呢?Hibernate的开发流程是怎么样的?为什么要使用①.对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 ②.Hibernate 是一个基于JDBC的主流持久化框架,是一个优秀的ORM 实现。他很大程度的简化DAO层的编码工作 ③.hibernate 的性能非常好,因

2017-06-12 14:56:37 308

原创 7.Mybatis总结以及在面试中的一些问题

1.JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?① 数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。解决:在SqlMapConfig.xml中配置数据链接池,使用连接池管理数据库链接。② Sql语句写在代码中造成代码不易维护,实际应用sql变化的可能较大,sql变动需要改变java代码。解决:将Sql语句配

2017-06-12 14:55:14 573

原创 6.SpringMVC总结以及在面试中的一些问题

1.简单的谈一下SpringMVC的工作流程?流程 1、用户发送请求至前端控制器DispatcherServlet 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4、DispatcherServ

2017-06-12 14:52:55 288

原创 5.Spring总结以及在面试中的一些问题

1.谈谈你对spring IOC和DI的理解,它们有什么区别?IoC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建UserService对象的控制权,交由Spring框架管理,简单说,就是创建UserService对象控制权被反转到了Spring框架DI:Dependency Injection 依赖注入,在Spring框架负责创建Bean对象时,动

2017-06-12 14:51:22 293

原创 4.Strust2总结及在面试中的一些问题

1. JavaEE软件三层结构和MVC的区别?JavaEE软件三层机构是由sun公司提供JavaEE开发规范的:Web层(表现层)、业务逻辑层、数据持久层。【其中WEB层会使用前端控制器模式】 MVC是一种思想,是一种模式,将软件分为 Model模型、View视图、Controller控制器。【JavaEE开发更强调三层结构,web层开发更注重MVC】 Struts2 就是web层开发

2017-06-12 14:49:52 407

原创 3.JavaWeb基础知识总结

1.web服务器与HTTP协议Web服务器l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。l Internet上供外界访问的Web资源分为:• 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。• 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。

2017-06-12 14:41:31 1559

原创 2.java面试复习大纲

[Java面试一]面试复习大纲.一、Java基础部分 (搞定所有技术之后才考虑复习的技术点)    1.数组中的排序问题(笔试或者机试,前者可能性更大)    2.面向对象的理解    3.集合相关的问题,比如hashmap跟hashtable的区别。搞清楚每个集合对象的特性就欧了。    4.多线程启动方式,以及产生死锁的原因和解决办法【多线程问题不是很常问,有精力就

2017-06-12 14:37:56 317

原创 1.Java基础知识精华部分

一:java概述(快速浏览):1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;1994年将Oak语言更名为Java; Java的三种技术架构:JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;JAVASE

2017-06-12 14:35:17 515

原创 SpringMVC原理

前言:今天来回顾下SpringMVC的开发原理, 使用图文并茂的方式 来解析其中的内幕, 我相信懂了其中的运行机制后, 对于面试中SpringMVC大家都可以说so easy了. 一, 图示法第二张图的前端控制器应为DispatcherServlet. 看完图中的整体流程后, 我们再使用实际代码来说明每一步需要处理 的事情.二. 代码示例第一步: 用

2017-06-12 14:31:12 238

原创 【面试题16】反转链表

题目:输入一个链表,反转链表后,输出链表的所有元素。分析:反转链表只需改变链接方向,改变方向时需要将原本指向后一个结点的链接方向指向前一个结点,因此需要记录下三个结点。实现:(非递归)public ListNode ReverseList(ListNode head) {      ListNode cur = head;      ListNode

2017-06-12 10:31:57 239

原创 【面试题15】链表中倒数第K个结点

题目:链表的倒数第k个节点题目:输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个结点是值为4的结点。  链表的节点定义如下,这里使用的是C#来定义: public class Node {

2017-06-12 10:15:00 355

原创 String、StringBuffer与StringBuilder之间区别

关于String,StringBuffer,StringBuilder的东西,现在整理一下。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下  1.三者在执行速度方面的比较:StringBuilder >  StringBuffer  >  String  2.String 的原因    String:字符串常

2017-06-10 18:51:26 145

转载 海量数据存储管理

如何处理海量数据在实际的工作环境下,许多人会遇到海量数据这个复杂而艰巨的问题,它的主要难点有以下几个方面:一、数据量过大,数据中什么情况都可能存在。如果说有10条数据,那么大不了每条去逐一检查,人为处理,如果有上百条数据,也可以考虑,如果数据上到千万级别,甚至过亿,那不是手工能解决的了,必须通过工具或者程序进行处理,尤其海量的数据中,什么情况都可能存在,例如,数据中某处格式出了

2017-06-05 18:59:32 653

原创 java synchronized详解

记下来,很重要。Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的一个synchronized(t

2017-06-02 07:19:05 228

转载 数据库事务隔离级别

事务隔离(isolation)定义了数据库系统中一个操作产生的影响什么时候以哪种方式可以对其他并发操作可见。隔离是事务ACID (原子性、一致性性、隔离性、持久性)四大属性中的一个重要属性。目录  1 并发控制(Concurrency control)2 隔离级别(Isolation levels)2.1 可序列化(Serializable)2.2 可重

2017-06-01 16:05:21 221

原创 数据库 4 种隔离级别

int java.sql.Connection.TRANSACTION_SERIALIZABLE = 8 [0x8](隔离性最强)dirty reads, non-repeatable reads and phantom reads are prevented. This level includes the prohibitions in TRANSACTION_REPEATAB

2017-06-01 16:03:02 205

原创 线程的五大状态

线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞状态及死亡状态。    1.新建状态(New):         当用new操作符创建一个线程时, 例如new Thread(r),线程还没有开始运行,此时线程处在新建状态。 当一个线程处于新生状态时,程序还没有开始运行线程中的代码     2.就绪状态(Runnable)    

2017-06-01 14:18:40 217

原创 java常用正则表达式

java常用正则表达式1。^\d+$  //匹配非负整数(正整数 + 0) 2。^[0-9]*[1-9][0-9]*$  //匹配正整数 3。^((-\d+) ?(0+))$  //匹配非正整数(负整数 + 0) 4。^-[0-9]*[1-9][0-9]*$  //匹配负整数 5。^-?\d+$    //匹配整数 6。^\d+(\.\d+)?$  //匹配非负浮点数(正浮

2017-06-01 14:16:12 181

空空如也

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

TA关注的人

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