一些常见JAVA问题】的更多相关文章

常见 Java 异常解释:(译者注:非技术角度分析.阅读有风险,理解需谨慎o(╯□╰)o) java.lang ArithmeticException 你正在试图使用电脑解决一个自己解决不了的数学问题,请重新阅读你的算术表达式并再次尝试. ArrayIndexOutOfBoundsException 请查看 IndexOutOfBoundsException.不同之处在于这个异常越界的元素不止一个. ArrayStoreException 你已用光了所有数组,需要从数组商店中购买更多的数组. C…
一.Java基础 1.Arrays.sort实现原理和Collections.sort实现原理答:Collections.sort方法底层会调用Arrays.sort方法,底层实现都是TimeSort实现的.TimSort算法就是找到已经排好序数据的子序列,然后对剩余部分排序,然后合并起来.2.foreach和while的区别(编译之后) 线程池的种类,区别和使用场景3.分析线程池的实现原理和线程的调度过程4.线程池如何调优5.线程池的最大线程数目根据什么确定 6.动态代理的几种方式7.Hash…
Java提高——常见Java集合实现细节(1) 2018年04月18日 15:07:35 阅读数:25 集合关系图 Set和Map set代表一种集合元素无序.集合元素不可重复的集合 map代表一种由多个key-value对组成的集合 set和map的关系 set和map的接口十分类似. Map的key有一个特征:所有key不能重复,且key之间没有顺序,也就是说将所有key组合起来就是一个Set集合. Map——>Set : Map中提供了  Set<k> keySet()  返回所有…
常见 Java 异常解释:(译者注:非技术角度分析.阅读有风险,理解需谨慎o(╯□╰)o) java.lang ArithmeticException 你正在试图使用电脑解决一个自己解决不了的数学问题,请重新阅读你的算术表达式并再次尝试. ArrayIndexOutOfBoundsException 请查看 IndexOutOfBoundsException.不同之处在于这个异常越界的元素不止一个. ArrayStoreException 你已用光了所有数组,需要从数组商店中购买更多的数组. C…
ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一.你可以从这里查看全部的Java面试系列. Q.请写一段代码来计算给定文本内字符“A”的个数.分别用迭代和递归两种方式. A.假设给定文本为”AAA rating”.迭代方式就很直观,如下: public class Iteration { public int countA(String input) { if (input == null || input.length( ) == 0) { return 0…
ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一.你可以从这里查看全部的Java面试系列. 这篇文章介绍的常见面试题是关于重载(overloading)方法和重写(overriding)方法的. Q.下面代码片段的输出结果是什么? public class MethodOverrideVsOverload { public boolean equals( MethodOverrideVsOverload other ) { System.out.println…
ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一.你可以从这里查看全部的Java面试系列. Q2.下面的代码片段的输出是什么? Object s1 = new String("Hello"); Object s2 = new String("Hello"); if(s1 == s2) { System.out.println("s1 and s2 are =="); } else if (s1.equals(s…
ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一.请看此系列相关面试题.你可以从这里查看全部的Java面试系列. 一些比较核心的Java问题经常会用来考验面试者的Java基本知识功底.这篇文章列出来了一些在我的书里面没有的面试题,通过这些面试题读者也可以梳理一下Java基础知识点. Q1.下面的代码片段会输出什么? String s = " Hello "; s += " World "; s.trim( ); System.ou…
概述 性能优化一向是后端服务优化的重点,但是线上性能故障问题不是经常出现,或者受限于业务产品,根本就没办法出现性能问题,包括笔者自己遇到的性能问题也不多,所以为了提前储备知识,当出现问题的时候不会手忙脚乱,我们本篇文章来模拟下常见的几个Java性能故障,来学习怎么去分析和定位. 预备知识 既然是定位问题,肯定是需要借助工具,我们先了解下需要哪些工具可以帮忙定位问题. top命令 top命令使我们最常用的Linux命令之一,它可以实时的显示当前正在执行的进程的CPU使用率,内存使用率等系统信息.t…
 Spring Framework [Java开源JEE框架] Spring是一个解决了许多在J2EE开发中常见的问题的强大框架. Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯.Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器.然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的. Spring提供了唯一的数据访问抽象,包括简单和有效率的J…
  Android开发(29)  版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客:http://blog.csdn.net/finddreams/article/details/44403041 因为Androd使用Java语言来编程的,所以我们做Android开发全面的掌握Java基础是必须的.在面试的过程中,我们发现很多公司发的笔试题有很多知识点都是Java的,搞安卓久了,Java基础的…
1.抽象:  抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象. 2.继承:  继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类).派生类可以从它的基类那里继承方法和实例变量…
初学者最常犯的编程错误是什么呢?有可能他们总是混淆等值(==)与赋值(=),或者 & 和 &&:也有可能是他们在循环中使用错误的分隔符(for (int i = 0, i < 5, i++))...? 为了回答这个问题,数据科学家最近检查了来自世界各地25万个Java编程新手的错误.在使用了大量的数据(数据来自3700万的源代码,所以是精确的)之后,他们发现了学生第一次学习Java时最容易犯的错误,以及他们从所犯错误中吸取教训所需要的时间.这个结果非常出人意料. 黑匣子数据采…
翻译人员: 铁锚 翻译时间: 2013年11月7日 原文链接: Top 10 questions of Java Strings 本文介绍Java中关于String最常见的10个问题: 1. 字符串比较,使用 "==" 还是 equals() ? 简单来说, "==" 判断两个引用的是不是同一个内存地址(同一个物理对象). 而 equals 判断两个字符串的值是否相等. 除非你想判断两个string引用是否同一个对象,否则应该总是使用 equals()方法. 如果你…
1.ActiveMQ 反序列化漏洞(CVE-2015-5254) ref:https://www.nanoxika.com/?p=408 Apache ActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持Java消息服务.集群.Spring Framework等. Apache ActiveMQ 5.13.0之前5.x版本中存在安全漏洞,该漏洞源于程序没有限制可在代理中序列化的类.远程攻击者可借助特制的序列化的Java Message Service(JMS…
最近正值春招,一直在给公司招聘 Java 程序员,我从 2015 年做 TeamLeader 开始就习惯性地收集平时遇到的 Java 技术问题或周围朋友见过的面试题,经过不断筛选,终于凝练成一套实用的小题库.(题库中所有的问题请看下文,考验你水平的时候到了.) 一方面是给公司招聘用,另一方面是想用它来挖掘我在 Java 技术栈中的技术盲点,然后修复和完善它,以此来提高自己的技术水平. 我从 2009 年开始参加编程工作,到现在为止还觉得要学的东西很多,学习的过程也给我带来了很多成就感,成就感推动…
常用/常见应用服务器介绍:自己总结.整理一些常见的应用服务器,资料主要来源于网上.     常用Java Web 服务器Java Web应用程序需要部署在Java web服务器中运行,常用的Java Web服务器有Tomcat.GlassFish.WebLogic.JBoss.WebSphere.Jetty.JRun等.   Apache Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安…
本文介绍Java中关于String最常见的10个问题: 1. 字符串比较,使用 "==" 还是 equals() ?简单来说, "==" 判断两个引用的是不是同一个内存地址(同一个物理对象).而 equals 判断两个字符串的值是否相等.除非你想判断两个string引用是否同一个对象,否则应该总是使用 equals()方法.如果你了解 字符串的驻留 ( String Interning ) 则会更好地理解这个问题 2. 对于敏感信息,为何使用char[]要比Stri…
 注:  有的面试题是我面试的时候遇到的,有的是偶然看见的,还有的是朋友提供的, 稍作整理,以供参考.大部分的应该都是这些了,包含了基础,以及相对深入一点点的东西.   JAVA面试题集 基础知识: 1.C++或Java中的异常处理机制的简单原理和应用. 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常.违反语义规则包括2种情况.一种是JAVA类库内置的语义检查.例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时…
JAVA基础 JAVA中的几种基本数据类型是什么,各自占用多少字节. String类能被继承吗,为什么. 不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变. String,Stringbuffer,StringBuilder的区别. String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) ArrayList和LinkedList有什么区别. 讲讲类的实例化顺序,比如父类静态数…
原文:https://blog.csdn.net/weiyongxuan/article/details/45920765 一.Java的异常的基类是java.lang.Throwable 二.守护线程 1.java中只有用户线程和守护线程 2.守护线程的典型是GC,垃圾回收器 3.守护线程是用来服务用户线程的 三. volatile关键字volatile关键字用在多线程同步中,可保证读取的可见性,JVM只是保证从主内存加载到线程工作内存的值是最新的读取值,而非cache中.但多个线程对 vol…
看到别人分享的面试题,感觉蛮全面的,分享出来,慢慢研究答案. 一.Java 基础 1.JDK 和 JRE 有什么区别? 2.== 和 equals 的区别是什么? 3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗? 4.final 在 java 中有什么作用? 5.java 中的 Math.round(-1.5) 等于多少? 6.String 属于基础的数据类型吗? 7.java 中操作字符串都有哪些类?它们之间有什么区别? 8.String str="i&…
一.前言 在本文中,我们总结下抓 Java dump 的几种不同方法. Java Heap Dump 是特定时刻 JVM 内存中所有对象的快照.它们对于解决内存泄漏问题和分析 Java 应用程序中的内存使用情况非常有用. Java Heap Dump 通常以二进制格式的 hprof 文件存储.我们可以使用 jhat 或 JVisualVM 之类的工具打开和分析这些文件.同样,使用 MAT 工具分析是很常见的. 二.JDK 工具包 JDK 附带了几个以不同方式 Heap Dump 的工具.所有这些…
先看一张图: 是不是有点晕, 晕就对了.这个仅仅是 slf4j 的情况,实际上, 我们不仅要接触到 slf4j ,有时候还会接触其他的日志系统.且看下文分解. 1 直接使用各个日志系统 1.1 直接使用log4j 最开始的时候, 我们都是使用log4j, 怎么使用呢? 先引入jar,log4j-1.x.x  jar maven是这样的: <dependency> <groupId>log4j</groupId> <artifactId>log4j</a…
1.什么是B/S架构?什么是C/S架构? B/S browser/server Web应用程序 C/S Client/Server 桌面应用程序 2.String str="www",与String str = new String("www")一样吗? 不一样,第一个是存储在常量池中,第二个是存储在堆中的一个实例. 3.如果父类只有有参构造方法,那么子类必须要重写父类的构造方法吗? 要重写 4.Super与this表示什么? Super代表父类的对象 调用父类的属…
1.泛型的好处 保护了类型安全 避免了强制类型转化 2.final关键字的作用 final修饰的属性是常量 final修饰的方法不可被重写 final修饰的类不能被继承,如:String 3.静态变量和实例变量的区别? 静态变量:类变量 它属于类 当虚拟机加在class时产生 实例变量:当创建对象时才产生实例变量 4.Collection和Collections的区别 Collection是集合的接口 子接口有:Set.List等 Collections是集合的工具类 该类中都是静态方法,可直接…
简介 最常用的一个. 与Linux中的查看Java进程命令功能相同: ps -ef | grep java jps与这个命令的区别在于,jps仅仅过滤出Java本身的进程以及运行的引导类,就是引导main方法所在的类. 使用 -q 仅输出VM标识符,不包括class name,jar name,arguments in main method -m 输出main method的参数 -l 输出完全的包名,应用主类名,jar的完全路径名 -v 输出jvm参数 -V 输出通过flag文件传递到JVM…
1. java.lang.NullPointerException(空指针异常)  调用了未经初始化的对象或者是不存在的对象 经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等.对数组操作中出现空指针, 即把数组的初始化和数组元素的初始化混淆起来了.数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化, 依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话). 2. java.lang.ClassNotFoundExcepti…
1. Set和Map Set代表一种集合元素无序.集合元素不可重复的集合,Map则代表一种由多个key-value对组成的集合,Map集合类似于传统的关联数组.表面上看它们之间相似性很少,但实际上Map和Set之间有莫大的关联. 1.1 Set和Map的关系 在看Set和Map之间的关系之前,先来看看Set集合的继承体系. 再看Map集合的类继承关系: 仔细观察图3.2中的Map集合的继承体系里被灰色覆盖的区域,可以发现,这些Map接口.实现类和Set集合的接口.实现类的类名完全类似,这绝不是偶…
denied   /dɪ'naɪəd/    adj 拒签  v 拒绝…