`
123003473
  • 浏览: 1067270 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Java中用于面试总结

    博客分类:
  • java
 
阅读更多
/**
		 * java中常见异常
		 虚拟机: 内存溢出异常 
                    
                       
		 * 1、int 除0异常  ArithmeticException
		 * 2、字符串:字符串转换为数字类型时抛出的异常 NumberFormatException
		 *          java.lang.StringIndexOutOfBoundsException
		 * 3、数组越界: ArrayIndexOutOfBoundsException
		 * 4、对象:ClassCastException  空指针:NullPointerException   Hashtable当key或value为null时,抛空指针异常
		 * 
		 * 
		 * 1、流 IOException  FileNotFoundException
		 * 2、线程 InterruptedException 
		 * 3、Dom文件解析: ParserConfigurationException
		 *    SAX解析:    SAXException
		 * 
		 * 
		 * 9、类加载器: ClassNotFoundException
		 *             NoClassDefFoundError 
		 *11、 反射: NoSuchFieldException, NoSuchMethodException IllegalArgumentException
		 *          不合法的参数异常 : 
		 *          因此一旦发现这个异常,我们要做的,就是赶紧去检查一下方法调用中的参数传递是不是出现了错误。
		 *          java.lang.InstantiationException
         *          实例化异常。当试图通过newInstance()方法创建某个类的实例,而该类是一个抽象类或接口时,抛出该异常。
         *12、IllegalAccessException
		 *    当应用程序试图反射性地创建一个实例(而不是数组)、
		 *    设置或获取一个字段,或者调用一个方法,但当前正在执行的方法无法访问指定类、字段、方法或构造方法的定义时,
		 *    抛出 IllegalAccessException 
		 * 
		 *          
		 *  8、Servlet: ServletException
		 *            javax.servlet.jsp.JspException
		 *  9、数据库:  SQLException             
		 
		 *   
                  Exception in thread "main" java.lang.StackOverflowError
                   OutOfMemoryError
                    递归做阶乘时
                 
		 */




/**
	     * 流的总结:
	     * 字节流:InputStrem OutputStream Reader Writer
	     * 
	     * 对象流:ObjectInputStream ObjectOutputStream
	     * 
	     * 文件流:FileInptStream FileOutputStream
	     *        FileReader FileWriter
	     * 
	     * 字节数组流:ByteArrayInputStream
	     *           ByteArrayOutputStream
	     * 字符数组流: CharArrayReader
	     *           CharArrayWriter
	     * 字符串流:StringReader StringWriter
	     * 
	     * 缓冲流: BufferedInputStream BufferedOutputStream
	     *        BufferedReader  BufferedWriter
	     *                                   
	     *字节流通向字符流的桥梁 InputStreamReader 
	     */



内部类:

package innerClazz;

class A
{
	int val;
	A(int v)
	{
		this.val = v;
	}
}

public class B extends A
{
	int val = 1;

	B()
	{
		super(2);
	}

	class C extends A
	{
		int val = 3;
		C()
		{
			super(4);
			/*有人会问,如果内部类里的一个成员变量与外部类的一个成员变量同名,也即外部类的同名成员变量被屏蔽了,怎么办?没事,Java里用如下格式表达外部类的引用: 
			outerClass.this 
			有了它,我们就不怕这种屏蔽的情况了。 
		     * */
			System.out.println(B.this.getClass().getName());
			System.out.println(C.this.getClass().getName());
			System.out.println(B.this.val); //1
			System.out.println(C.this.val); //3  于这个相同 System.out.println(val); //3
			System.out.println(super.val); //4
		}
	}

	public static void main(String[] args)
	{
		B b = new B();
		B.C bc = b.new C();
	}
}





1、java有个特点就是序列化,简单地来说就是可以将这个类存储在物理空间(当然还是以文件的形式存在),那么当你从本地还原这个文件时,你可以将它转换为它本身。这可以极大地方便网络上的一些操作,但同时,因为涉及到安全问题,所以并不希望把类里面所有的东西都能存储(因为那样,别人可以通过序列化知道类里面的内容),那么我们就可以用上transient这个关键字,它的意思是临时的,即不会随类一起序列化到本地,所以当还原后,这个关键字定义的变量也就不再存在。
transient 关键字表示在Serializable 的时候不保存该值。




2、Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。

Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。

这样当多个线程同时与某个对象交互时,就必须要注意到要让线程及时的得到共享成员变量的变化。

而volatile关键字就是提示VM:对于这个成员变量不能保存它的私有拷贝,而应直接与共享成员变量交互。

使用建议:在两个或者更多的线程访问的成员变量上使用volatile。当要访问的变量已在synchronized代码块中,或者为常量时,不必使用。

由于使用volatile屏蔽掉了VM中必要的代码优化,所以在效率上比较低,因此一定在必要时才使用此关键字。



3、strictfp:精确的浮点运算


动态代理和CGlib的区别

获得div的高度




Java的动态代理与Cglib的区别
动态代理:JDK的动态代理在创建代理的时候要求被代理的类要实现接口
如果没有实现接口,此时可以用cglib这个工具jar
这两个动态代理的实现的区别在于:JDK的方式利用指定的接口,生成一个实现这些接口的代理类(和被代理类为‘兄弟’关系),而cglib不用指定接口,而是生成一个继承被代理类的子类,进行方法的覆盖。(为‘父子’关系)





匿名内部类由于没有名字,所以它没有构造函数(但是如果这个匿名内部类继承了一个只含有带参数构造函数的父类,创建它的时候必须带上这些参数,并在实现的过程中使用super关键字调用相应的内容)。如果你想要初始化它的成员变量,有下面几种方法:




Java内存溢出1.数据量过于庞大;死循环 ;静态变量和静态方法过多;递归;无法确定是否被引用的对象;
2.虚拟机不回收内存(内存泄漏);内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存

self
parent
top

location  ?search  #hash

screen

history

document  forms   
          links
分享到:
评论

相关推荐

    java中高级面试题十大总结

    Java作为一门广泛使用的编程语言,...这些知识点构成了Java中高级面试的核心内容,对于提升程序员的技术能力和解决问题的能力至关重要。通过深入理解和实践这些知识点,开发者能够在项目中编写出更高效、更健壮的代码。

    10万字面试总结Java.pdf

    这份"10万字面试总结Java.pdf"涵盖了Java基础知识、JVM、Spring框架、并发编程、Linux、Dubbo、Mybatis、Springcloud、Spring Boot、消息队列和Zookeeper等多个核心主题,旨在帮助Java开发者全面准备面试。...

    java面试总结文档

    ### Java面试总结文档知识点解析 #### 一、Java基础篇 - 概念 ##### 1. Linux概述 - **起源与发展**:Linux是由芬兰学生Linus Torvalds于1991年开始创建的一个开源操作系统内核。随着社区的不断发展与完善,Linux...

    Java最新面试总结.docx

    ### Java最新面试总结知识点 #### 一、面向对象分析(OOA) 面向对象分析(OOA)是在系统开发过程中的一个重要阶段,它基于系统业务调查资料,并采用面向对象的思想来进行分析工作。OOA的主要任务是从收集到的信息...

    java高级工程师面试总结

    ### Java高级工程师面试总结 #### Java基础 - **Hashtable和HashMap的区别**: - `Hashtable`是线程安全的,而`HashMap`不是。这意味着在多线程环境中使用`Hashtable`时无需额外的同步措施,但这也使得其性能较低...

    应聘java考试面试题总结

    ### 应聘Java考试面试题总结 #### 一、作用域关键字详解 在Java中,作用域关键字(如`public`、`private`、`protected`等)用于控制类、方法、变量等成员的访问权限。以下是这些关键字的详细介绍: 1. **public**...

    java青鸟学生面试总结

    通过上述知识点,可以看出面试总结中包含了Java基础语法、面向对象编程、异常处理、JDBC编程、Servlet以及JSP等多个方面的内容,这些都是求职者在面试中常见的考点,尤其对于初学者来说,掌握这些知识点非常有助于...

    Java架构师面试总结

    【Java架构师面试总结】 Java语言作为一门广泛应用于企业级开发的编程语言,因其独特的特性和设计理念,成为了面试中常见的考察点。以下是针对Java架构师面试的一些关键知识点: 1. **Java语言特点** - **简单...

    java面试题总结资料

    这份"java面试题总结资料"涵盖了多个Java核心领域的关键知识点,包括但不限于: 1. **基础语法**:理解基本的数据类型(如整型、浮点型、字符型和布尔型),变量的声明与使用,以及运算符的优先级。同时,要熟悉...

    java面试题面试总结

    【Java面试知识点总结】 在Java面试中,面试官通常会关注候选人的基础知识、编程技能、设计模式理解以及项目经验。以下是一些常见的Java面试问题及其解答: 1. 文档生成: 在软件工程的不同阶段,需要生成不同的...

    JAVA笔试和面试题目要点总结

    Java笔试和面试中,涉及到的知识点广泛而深入,主要涵盖了Java技术栈的多个方面,包括设计模式、企业级开发框架和Web服务等。以下是对这些知识点的详细解释: 1. **MVC模式**:MVC全称为Model-View-Controller,是...

    java工程师面试题总结

    Java工程师面试题总结涉及到Java基础的多个方面,包括语法、类、内部类、继承、异常处理、线程、集合、IO操作以及Java虚拟机的相关知识点。下面将对上述提及的知识点进行详细解释。 首先,Java基础部分包括: - ...

    java经典面试题汇总(精华版).pdf

    根据提供的文件信息,以下是从标题、...通过以上分析,我们可以看到面向对象的思想如何应用于 Java 编程中,以及 Java 中的一些基本概念和技术点。这些知识点不仅适用于面试准备,也是日常开发中必不可少的基础知识。

    本人3年内面试总结java

    【标题】"本人3年内面试总结java" 是一篇关于作者在过去三年中积累的Java面试经验的总结,涵盖了从基础知识到高级概念的多个方面。这份资料旨在帮助求职者准备Java相关的面试和笔试,确保他们在技术面试中能够表现出...

    JAVA程序员面试宝典笔记总结(刘磊版)

    ### JAVA程序员面试宝典笔记总结 #### 1. JDK与JRE - **JDK (Java Development Kit)**:这是Java开发工具包,包含了Java运行所需的各类库和工具,包括编译器、文档、示例代码等。JDK还包含了一个JRE(Java Runtime...

    Java面试题,10万字208道Java经典面试题总结(附答案)

    因此,对Java的理解和掌握,特别是面试中的常见问题,是每个Java开发者必须熟练掌握的。以下是一些Java面试中常见的知识点: 1. JDK和JRE的区别: JDK(Java Development Kit)是Java开发工具包,它包含了编写、...

    java面试重点总结

    ### Java面试重点总结 #### 一、反射机制 **反射机制**是Java中一项非常重要的技术,它允许程序在运行时动态地获取类的信息并直接操作这些信息。这对于框架开发和扩展性要求高的系统非常重要。 - **应用场景**: ...

    java集合类面试题总结

    Java 集合类面试题总结 Java 集合类是 Java 语言中的一种重要组件,用于存储和操作数据。下面总结了 Java 集合类的一些常见问题和答案。 HashMap 和 Hashtable 的区别 HashMap 和 Hashtable 都是 Java 中的散列表...

    10万字总结java面试题和答案(1).pdf

    下面是Java面试题和答案中的一些重要知识点总结: 一、Java语言特点 * 简单易学:Java语言的语法简单易学,易于初学者学习和掌握。 * 面向对象:Java语言是面向对象的编程语言,具有封装、继承、多态的特性,易于...

    Java基础面试总结复习.md

    ### Java基础面试总结复习知识点详解 #### Java语言的特点 1. **简单易学**:Java的设计初衷是为了简化C++的复杂性,使编程更简单直接。它的语法清晰、逻辑结构明确,非常适合初学者入门。 2. **面向对象**:Java...

Global site tag (gtag.js) - Google Analytics