![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔试题/面试题
文章平均质量分 91
坦GA
积沙成塔
展开
-
Java中方法执行顺序
Java中方法执行顺序:首先是静态块先执行,静态方法,最后是构造函数。构造方法只有在new对象的时候才会执行,静态语句块和静态方法在类加载到内存的时候就已经执行了。另外,静态语句块只能给静态变量赋值,里面不能出现方法,同样,静态方法里面也不能出现静态语句块。先是静态语句块执行,然后静态方法加载到内存,静态语句块你不管它它会自动会执行,而静态方法它一直存在于内存中,只有你用类名点方法名的时候转载 2016-08-17 12:00:24 · 4304 阅读 · 0 评论 -
MySQL和Oracle和Mongodb分页
在做查询记录集的展现时,分页实现是常做的工作了。不同的数据库,分页的实现也不尽相同,这里我们对比Myslq和Oracle来简要说明一下两种常用数据库中的分页实现1.MySql中的limit关键字以模糊查询为例子,limit写到where子句的后面select * from user where name like '%mm%' limit startrow,readsize;转载 2016-08-18 10:39:26 · 1412 阅读 · 0 评论 -
Object类中有哪些方法
在JDK1.7下,Object的源代码如下:public class Object { private static native void registerNatives(); static { registerNatives(); } public final native Class getClass(); public nat原创 2016-08-18 10:56:14 · 3360 阅读 · 0 评论 -
Java容器
在学Java以前,一说到存放东西,第一个想到的就是使用数组,使用数组,在数据的存取方面的却也挺方便,其存储效率高访问快,但是它也受到了一些限制,比如说数组的长度以及数组的类型,当我需要一组string类型数据的同时还需要Integer类型的话,就需要定义两次,同时,数组长度也受到限制,即使是动态定义数组长度,但是长度依然需要固定在某一个范围内,不方便也不灵活。 如果说我想要消除转载 2016-08-18 12:18:25 · 361 阅读 · 0 评论 -
Java中方法参数传值问题
1.以下代码的输出结果:public class Demo { public static void main(String[] args){ Demo d = new Demo(); String str = "BEA"; d.change(str); System.out.println(str); } void change(String s){ //这原创 2016-08-18 20:09:06 · 585 阅读 · 0 评论 -
linux查看文件有多少行(WC)
使用wc命令 具体通过wc --help 可以查看。如:wc -l filename 就是查看文件里有多少行 wc -w filename 看文件里有多少个word。 wc -L filename 文件里最长的那一行是多少个字。wc命令 wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。 语法:wc [选转载 2016-09-08 22:48:59 · 16791 阅读 · 0 评论 -
Java中length,length(),size()区别
1 java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性。2 java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法。3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看。 这个例子来演示这两个转载 2016-09-08 23:10:48 · 671 阅读 · 0 评论 -
Java中char类型能存储汉字吗
可以,Java中的char是Unicode编码,Unicode编码占两个字节,也就是16位,足够存储一个汉字。代码:public static void main(String[] args) { char c = '和'; System.out.println(c); }结果:和转载 2016-09-08 23:17:49 · 2419 阅读 · 0 评论 -
String到底创建了多少个对象
String到底创建了多少个对象?Java代码 String str=new String("aaa"); 这行代码究竟创建了几个String对象呢?答案是2个,而不是3个。由于new String("aaa")相当于"aaa"与一个就是创建出来的放在堆时原实例对象,而另一个就是放在常量池中的 "aaa" 对象,当然这里的str本身只是一个引用,放在转载 2016-08-18 20:48:25 · 676 阅读 · 0 评论 -
MyBatis中#{}和${}的区别
mybatis本身的说明:String SubstitutionBy default, using the #{} syntax will cause MyBatis to generate PreparedStatement properties and set the values safely against the PreparedStatement paramet转载 2016-08-18 21:49:33 · 407 阅读 · 0 评论 -
深入理解Java的接口和抽象类
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口转载 2016-08-18 22:37:02 · 386 阅读 · 0 评论 -
Linux中Vi和Vim区别
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。vim的这些优势主要体现在以下几个方面:1、多级撤消我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。2、易用性vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。3、语法加亮vim可以用不同的颜色来加亮你的代转载 2016-09-10 11:21:59 · 3549 阅读 · 0 评论 -
Linux中CP和SCP(远程拷贝)的介绍
名称:cp使用权限:所有使用者使用方式:cp [options] source destcp [options] source... directory说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。把计-a 尽可能将档案状态、权限等资料都照原状予以复制。-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至转载 2016-09-07 23:09:44 · 700 阅读 · 0 评论 -
MySQL触发器trigger
原文地址:http://www.cnblogs.com/zzwlovegfj/archive/2012/07/04/2576989.html触发器(trigger):监视某种情况,并触发某种操作。触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert转载 2016-09-08 22:29:15 · 314 阅读 · 0 评论 -
Redis五种数据类型的使用场景
String[html] view plain copy 1、String 常用命令: 除了get、set、incr、decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一段内容 设置及获取字符串的某一位(bit) 批量设置一系列字符转载 2016-08-30 11:19:12 · 695 阅读 · 0 评论 -
有return的情况下try catch finally的执行顺序(最有说服力的总结)
结论:1、不管有木有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;4、finally转载 2016-08-30 19:10:50 · 567 阅读 · 0 评论 -
Java中构造函数、static块、{}块的执行顺序
测试代码如下:父类:public class ParentTest { public ParentTest(){ System.out.println(0); } static{ System.out.println(1); } { System.out.println(2); }}子类:public class ChildTest ext原创 2016-08-30 20:56:33 · 609 阅读 · 0 评论 -
Java子类构造函数中默认调用父类的空参构造函数
测试代码如下:父类:public class ParentTest { public ParentTest(){ System.out.println(1); } public ParentTest(String name){ System.out.println(2); }}子类:public class ChildTest extends Par原创 2016-08-30 21:10:51 · 3379 阅读 · 0 评论 -
XML文件中不允许出现的字符
一共有五个:所有的特殊字符对应的编码:特殊字符 代替符号 特殊原因& & 每一个代表符号的开头字符> > 标记的结束字符标记的开始字符" &quo原创 2016-08-30 21:30:33 · 10860 阅读 · 0 评论 -
方正电子公司--部分笔试题
1.下列哪个方法声明是正确的(A)A. public static void final m4()B. public abstract synchronized void m3()C. public abstract native void m2()D. public abstract static void m1()2.JDK1.6中,switch(expr)中exp原创 2016-08-30 21:33:05 · 1480 阅读 · 0 评论 -
Javac编译器详解
前端编译器:把*.java文件转变成*.class文件 后端运行期编译器(JIT编译器,Just In Time Compiler):把字节码转成机器码 静态提前编译器(AOT编译器,Ahead Of Time Compiler):把*.java编译成本地机器码 前端编译器:Sun的Javac、Eclipse JDT中的增量式编辑器(ECJ) JIT编译器:HotS原创 2016-08-31 13:38:27 · 6917 阅读 · 1 评论 -
分布式事务介绍
事务就是一个会话过程中,对上下文的影响是一致的,要么所有的更改都做了,要么所有的更变都撤销掉。就要么生,要么死。没有半死不死的中间不可预期状态。事务是为了保障业务数据的完整性和准确性的。分布式事务,常见的两个处理办法:1)两段式提交:典型的就是XA,有个事务协调器,告诉大家,来都准备好提交,大家回复,都准备好了,然后协调器告诉大家,一起提交,大家都提交了。2)补偿:转载 2016-08-31 19:35:12 · 665 阅读 · 0 评论 -
关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究
本文原文连接: http://blog.csdn.net/bluishglc/article/details/7612811 ,转载请注明出处!1.XAXA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管理器(Transaction Manager)和(局部)资源管理器(Resource Manager)之间的接口。XA接口是双向的系统接口,转载 2016-08-31 20:02:04 · 629 阅读 · 0 评论 -
优先队列(堆)
优先队列(priority model)模型 insert:等价enqueue(入队)操作 deleteMin:它的工作是找出、返回并删除优先队列中最小的元素,等价dequeue(出队)操作优先队列基本模型: 优先队列可以用外部排序。在贪婪算法(greedy algorithm)的实现方面优先队列也是很重要的,该算法通过反复求出最小元来进行操作。一些简单的实现原创 2016-09-03 16:17:01 · 808 阅读 · 0 评论 -
时间复杂度和空间复杂度详解
算法的时间复杂度和空间复杂度合称为算法的复杂度。1.时间复杂度(1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或转载 2016-09-12 20:09:22 · 629 阅读 · 0 评论 -
Java序列化的几种方式
在Java中socket传输数据时,数据类型往往比较难选择。可能要考虑带宽、跨语言、版本的兼容等问题。比较常见的做法有两种:一是把对象包装成JSON字符串传输,二是采用java对象的序列化和反序列化。随着Google工具protoBuf的开源,protobuf也是个不错的选择。对JSON,Object Serialize,ProtoBuf 做个对比。定义一个待传输的对象User转载 2016-09-01 10:15:17 · 605 阅读 · 0 评论 -
ZooKeeper的原理及使用
ZooKeeper是Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby。今天这篇文章分为三个部分来介绍ZooKeeper,第一部分介绍ZooKeeper的基本原理,第二部分介绍ZooKeeper提供的Client API的使用,第三部分介绍一些ZooKeeper典型的应用场景。转载 2016-09-01 10:47:40 · 611 阅读 · 0 评论 -
Linux磁盘管理
概述Linux磁盘管理好坏管理直接关系到整个系统的性能问题。 Linux磁盘管理常用三个命令为df、du和fdisk。df:列出文件系统的整体磁盘使用量du:检查磁盘空间使用量fdisk:用于磁盘分区dfdf命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。语法:df [-ahikHTm转载 2016-09-01 13:17:37 · 423 阅读 · 0 评论 -
树的遍历
先序遍历:preorder traversal。 中序遍历:总的运行时间为O(N)。 后续遍历:总的运行时间为O(N)。 层序遍历:level order traversal。在层序遍历中,所有深度为d的节点要在深度d+1的节点之前进行处理。层序遍历与其它类型的遍历不同的地方在于它不是递归地执行的,它用到队列,而不使用递归所默示的栈。按顺序打印二叉查找树的代码: /原创 2016-09-13 10:47:45 · 554 阅读 · 0 评论 -
12款Java工具:源代码优化与分析
本文介绍一些Java源代码优化和分析工具,以帮助我们优化代码以及检查源代码中的潜在问题。 本文英文原文来源:http://java.dzone.com/articles/java-tools-source-code 1. PMD 网址:http://pmd.sourceforge.net/ PMD能够扫描Java 源代码,查找类似以转载 2016-09-01 15:03:49 · 550 阅读 · 0 评论 -
Filter、Servlet和Interceptor的执行顺序
1. Filter可认为是Servlet的一种“变种”,它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的处理链。它与Servlet的区别在于:它不能直接向用户生成响应。完整的流程是:Filter对用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后Filter再对服务器响应进行后处理。 通过上图可以看转载 2016-08-10 19:56:22 · 4914 阅读 · 1 评论 -
B树(Balanced-tree)
B-树是一种多路搜索树(并不一定是二叉的)。如果有更多的分支,那么就有更少的高度。这样,31个节点的理想二叉树(perfect binary tree)有5层,而31个节点的5叉树则只有3层,一颗M叉查找树可以有M路分支。随着分支增加,树的深度在减小。一颗完全二叉树(complete binary tree)的高度大约为log2N,而一颗完全M叉树(complete M-ary tree)的高原创 2016-09-13 11:06:21 · 2785 阅读 · 0 评论 -
Java类加载器
虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放在Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。 类加载器应用在:类层次划分、OSGi、热部署、代码加密等领域。 类与类加载器 对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性,每一原创 2016-09-01 16:18:15 · 483 阅读 · 0 评论 -
常用Java profiling工具的分析与比较
在 Java 程序的开发过程中,不可避免地会遇到内存使用、性能瓶颈等问题。Java Profiler 工具能帮助开发人员快速、有效地定位这些问题,因此成为了 Java 开发过程中的一个重要工具。目前市场上的 Java Profiler 工具种类繁多,本文将对目前比较常见的几种工具进行简要介绍,并从功能、性能等角度作比较,从而帮助 Java 程序员选择合适的 Java Profiler 工具。转载 2016-09-01 21:41:04 · 9405 阅读 · 0 评论 -
JVM对象已死吗
1.引用计数器(Reference Counting) 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1,当引用失效时,计数器值就减1,任何时刻计数器为0的对象就是不可能再被使用的。 使用引用计数器算法进行内存管理的应用: 1)微软的COM(Component Object Model)技术 2)使用ActionScript3的FlashPlayer原创 2016-08-23 10:11:00 · 648 阅读 · 0 评论 -
十大网站压力测试软件-- WEB压力测试工具介绍
Grinder Grinder是一个开源的JVM负载测试框架,它通过很多负载注射器来为分布式测试提供了便利。 支持用于执行测试脚本的Jython脚本引擎HTTP测试可通过HTTP代理进行管理。根据项目网站的说法,Grinder的 主要目标用户是“理解他们所测代码的人——Grinder不仅仅是带有一组相关响应时间的‘黑盒’测试。由于测试过程可以进行编码——而不是简单地脚本 化,所以程序员转载 2016-09-02 13:28:48 · 3151 阅读 · 0 评论 -
Java设计模式--适配器模式
首先,先来讲讲适配器。适配就是由“源”到“目标”的适配,而当中链接两者的关系就是适配器。它负责把“源”过度到“目标”。举个简单的例子,比如有一个“源”是一个对象人,他拥有2种技能分别是说日语和说英语,而某个岗位(目标)需要你同时回说日语、英语、和法语,好了,现在我们的任务就是要将人这个“源”适配的这个岗位中,如何适配呢?显而易见地我们需要为人添加一个说法语的方法,这样才能满足目标的需要。转载 2016-09-02 16:17:53 · 378 阅读 · 0 评论 -
Java中典型的内存泄露问题和解决方法
Q:在Java中怎么可以产生内存泄露?A:Java中,造成内存泄露的原因有很多种。典型的例子是一个没有实现hasCode和equals方法的Key类在HashMap中保存的情况。最后会生成很多重复的对象。所有的内存泄露最后都会抛出OutOfMemoryError异常,下面通过一段简短的通过无限循环模拟内存泄露的例子说明一下。复制代码代码如下:import转载 2016-09-02 16:56:06 · 996 阅读 · 0 评论 -
Set、TreeSet、Map、TreeMap简单介绍
SetSet接口:不重复。SortedSet接口:不重复,有序TreeSet类:SortedSet接口的一种有序实现;基本操作花费对数最坏情形时间 默认情况下,排序假设TreeSet中的项实现Comparable接口。另一种排序可以通过用Comparator接口实例化TreeSet来确定。MapMap接口:关键字必须唯一,值不必唯一;isEmpty、cle原创 2016-09-03 09:05:59 · 918 阅读 · 0 评论 -
表的抽象数据类型(abstract data type,ADT)
抽象数据类型(abstract data type,ADT)是带有一组操作的一些对象的集合。表ADT 我们将处理形如A0,A1,A2,A3,...,AN-1的一般的表,我们说这个表的大小是N。我们将大小为0的特殊的表称为空表(empty list)。 我们说Ai后继Ai-1(或继Ai-1之后,ii-1前驱Ai(i>0)。我们可以添加一些操作,比如next和previou原创 2016-09-03 09:57:57 · 1466 阅读 · 0 评论