b:Eclipse的特点描述 免费 纯Java语言编写 免安装 扩展性强 c:MyEclipse 在Eclipse基础上追加的功能性插件,对插件收费 在WEB开发中提供强大的系统架构平台 11.02 ,选中类后F4 B:视图 是由某些视窗的组合而成的 Java视图 Debug视图 11.05_Java开发工具(Eclipse工作空间的基本配置) A:程序的编译和运行的环境配置(一般不改) window Java修改 -- Java Edit Text Font b:控制台 window -- Preferences -- General -- Appearance -- Colors And Fonts ) 应用程序编程接口 B:Java API 就是Java提供给我们使用的类,这些类将底层的实现封装了起来, 我们不需要关心这些类是如何实现的,只需要学习这些类如何使用。 (面试题) 11.22_常见对象(==号和equals方法的区别) ==是一个比较运算符号,既可以比较基本数据类型,也可以比较引用数据类型,基本数据类型比较的是值,引用数据类型比较的是地址值 equals
这里的内存,指的是JVM (Java Virtual Machine)虚拟出来的Java进程内存空间。内存的堆和栈概念可参考Linux从程序到进程。 ? Java的栈也受到同样的限制,当一次方法调用结束,该方法存储在栈上的数据将清空。在 Java中,所有的(普通)对象都储存在堆上。因此,new关键字的完整含义是,在堆上创建对象。 垃圾回收是Java中重要的机制,它直接影响了Java的运行效率。我将在以后深入其细节。 参数传递 当我们分离了引用和对象的概念后,Java方法的参数传递机制实际上非常清晰: Java的参数传递为值传递。也就是说,当我们传递一个参数时,方法将获得该参数的一个拷贝。 基本类型变量的值传递,意味着变量本身被复制,并传递给Java方法。Java方法对变量的修改不会影响到原变量。 引用的值传递,意味着对象的地址被复制,并传递给Java方法。
这里的内存,指的是JVM (Java Virtual Machine)虚拟出来的Java进程内存空间。 ? 对象引用 栈的读取速度比堆快,但栈上存储的数据受到有效范围的限制。 Java的栈也受到同样的限制,当一次方法调用结束,该方法存储在栈上的数据将清空。在 Java中,所有的(普通)对象都储存在堆上。因此,new关键字的完整含义是,在堆上创建对象。 垃圾回收是Java中重要的机制,它直接影响了Java的运行效率。我将在以后深入其细节。 参数传递 ---- 当我们分离了引用和对象的概念后,Java方法的参数传递机制实际上非常清晰: Java的参数传递为值传递。也就是说,当我们传递一个参数时,方法将获得该参数的一个拷贝。 基本类型变量的值传递,意味着变量本身被复制,并传递给Java方法。Java方法对变量的修改不会影响到原变量。 引用的值传递,意味着对象的地址被复制,并传递给Java方法。
系统日志的概念及作用 日志系统作为一种应用程序服务,对于跟踪调试、程序状态记录、崩溃数据恢复都有着重要的作用 常用Java日志系统 Log4J 最早的Java日志框架之一,由Apache基金会发起 2种特别级别,ALL OFF [java] view plain copy Java程序举例来说: //建立Logger的一个实例,命名为“com.foo” Logger logger PropertyConfigurator.configure(StringconfigFilename):读取使用Java的特性文件编写的配置文件。 Log4j支持两种配置文件格式,一种是XML格式的文件,一种是javaproperties(key=value)【Java特性文件(键=值)】。 举例:Testlog4.main(TestLog4.java: 10 )
JVM组成部分 类加载器 运行时数据区 执行引擎 本地库接口 运行流程: 首先通过类加载器(ClassLoader)会把 Java 代码转换成字节码,运行时数据区(Runtime Data Area)
Java 9之前字符串采用char[]数组来保存字符,即 private final char[] value ; Java 9做了改进,采用byte[]数组来保存字符,即private final 字符串作为基础的数据结构,大量地应用在一些集合容器之中,尤其是一些散列集合,在散列集合 中,存放元素都要根据对象的 hashCode() 方法来确定元素的位置。 说一说你对Java反射机制的理解 ? Java程序中的对象在运行时可以表现为两种类型,即编译时类型和运行时类型。 Java中的容器,线程安全和线程不安全的分别有哪些? 从Java5开始,Java在java.util.concurrent包下提供了大量支持高效并发访问的集合类,它们既能包装 良好的访问性能,有能包装线程安全。
前段时间给大家发过一份 java 面试题的思维导图,接下来我会用通俗、简洁、易记的话将其整理成一系列的文章,加深自己印象的同时,也希望能助大家跳槽成功! 1. 说说 java 的基本数据类型以及所占的字节数。 byte、short、int、long,1、2、4、8;boolean、char、float、double,1、2、4、8。 2. 什么是 java 的多态? 多态就是要到运行时才能确定类型,体现为重载和重写。 7. 为什么重写了 equals 方法就要重写 hashCode 方法? 12 和 -11,四舍五入是操作数加上 0.5 然后向下取整。 11. float f = 3.4、short s = 1, s = s + 1、s += 1 是否正确? 18. java 中的异常体系你知道吗?
11.构造器constructor是否可以override? 答:构造器不能被继承,因此不能被重写,但可以被重载。 import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInputStream 在Java诞生初期,垃圾回收是Java最大的亮点之一,因为服务器端的编程需要有效的防止内存泄露问题,然而时过境迁,如今Java的垃圾回收机制已经成为被诟病的东西。 标准的Java进程既有栈又有堆。栈保存了原始型局部变量,堆保存了要创建的对象。Java平台对堆内存回收和再利用的基本算法被称为标记和清除,但是Java对其进行了改进,采用“分代式垃圾收集”。 面试题 - 编程实现文件拷贝。
JAVA 说出ArrayList, Vector, LinkedList的存储性能和特性(集合类:ArrayList与 LinkedList的区别,为什么JAVA提供这样两种同样带有顺序的集合类,它们有什么不同 在JAVA中,如何跳出当前的多重嵌套循环? 用break; return 方法。 abstract class在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。 在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。 java中实现多态的机制是什么? 方法的重写Overriding和重载Overloading是Java多态性的不同表现。 什么是java序列化,如何实现java序列化? 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。
所以Java程序运行比较高效,而且,由于字节码并不针对一种特定的机器,因此,Java程序无需重新编译便可在多种操作系统的计算机上运行。 1.3.Java程序从源代码到运行一般有下面3步。 JRE是Java运行时环境。它是运行已编译 Java 程序所需的所有内容的集合,包括 Java 虚拟机(JVM),Java 类库,java 命令和其他的一些基础构件。 但是,它不能用于创建新程序。 11.==和 equals 的区别 == : 它的作用是判断两个对象的地址是不是相等。即判断两个对象是不是同一个对象。 i1 = 33; Integer i2 = 33; System.out.println(i1 == i2);// 输出 true Integer i11 = 333; Integer i22 = 333; System.out.println(i11 == i22);// 输出 false Double
更多内容请关注微信公众号【Java技术江湖】 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、 (关注公众号后回复”资料“即可领取 3T 免费技术学习资源以及我我原创的程序员校招指南、Java学习指南等资源) ** 本文对java的泛型的概念和使用做了详尽的介绍。 具体代码在我的GitHub中可以找到 https://github.com/h2pl/MyTech 文章首发于我的个人博客: https://h2pl.github.io/2018/04/29/javase11 更多关于Java后端学习的内容请到我的CSDN博客上查看: https://blog.csdn.net/a724888 泛型概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用 : java.lang.Integer cannot be cast to java.lang.String ArrayList可以存放任意类型,例子中添加了一个String类型,添加了一个Integer
java基本数据类型有哪些? java.util.Collection是集合类的一个顶级接口。 介绍下java的集合? java的是反射? java线程创建方式继承Thread类:定义一个类继承Thread类,重写run方法。这种方式不推荐,因为Java单继承机制会限制该类的复用性。
在程序里,将一个功能抽取出来,把代码单独定义在一个大括号里面,形成单独的功能,就叫方法。
来源不详了原文地址: Java 基础面试题-20211228欢迎访问我的博客: http://blog.duhbb.com/题目转发和重定向的区别HashMap 和 HashTable 的区别什么是死锁 深拷贝和浅拷贝的区别Java 中注释的代码一定不会执行吗? 没有注释的代码一定会执行吗? 虚拟机自带的一种堆栈跟踪工具.jstack 用于打印出给定的 java 进程 ID 或 core file 或远程调试服务的 Java 堆栈信息. Jstack 工具可以用于生成 java 虚拟机当前时刻的线程快照. 原文地址: Java 基础面试题-20211228欢迎访问我的博客: http://blog.duhbb.com/
x.getClass().getName()); } public static void main(String[] args) { aa aa=new aa(); aa.f("11 ");//结果:java.lang.String aa.f(11);//结果:java.lang.Integer aa.f(111.1f);//结果:java.lang.Float aa.f(111.1);//结果:java.lang.Double } } 五、String StringBuffer StringBuilder的区别? 如果要操作少量的数据用:String (2)单线程操作字符串缓冲区 下操作大量数据 :StringBuilder (3)多线程操作字符串缓冲区 下操作大量数据 :StringBuffer 三、总结 以上就是一些面试题内容
在字节流的基础上添加了缓存等功能。 5. 适配器模式: 将已有的数据转换成需要的数据。适配器模式将原本不兼容而不能一起工作的类变的可以一起工作。 通常大量数据都会保存在堆空间,栈和堆的大小都可以通过JVM的启动参数来调整,栈空间用光了会引发StackOverflowError(栈溢出异常),而堆和常量池空间不足会引发OutOfMemoryError(内存溢出异常) Java 中的GC GC是垃圾收集的意思,Java提供的GC功能可以自动检测对象是否超过作用域从而达到回收内存的目的,Java语言没有提供释放已分配内存的操作方法,垃圾收集器会自动进行管理。 标准的Java进程既有栈又有堆。栈保存了原始型局部变量,堆保存了要创建的对象。Java平台对堆内存回收和再利用的基本算法被称为标记和清除,Java对其进行了改进,采用"分代式垃圾收集"。 这种机制会将Java对象的生命周期将堆内存划分为不同的区域,在垃圾收集过程中,可能会将对象移动到以下不同区域: 伊甸园(Eden):这是对象最初诞生的区域,并且对大多数对象来说,这里是唯一存在过的区域
本文来源于并发编程网清英的一篇文章:你应该知道的JAVA面试题,最近自己也在面试一些候选人,发现这篇文章中的有些点我也拿不准,因此按照自己的理解整理一份参考回答。 基础题目 1. Java线程的状态 Java线程在某个时刻只能处于以下六个状态中的一个。 Java线程状态.png 参考资料: Java Platform SE 8文档 Java核心技术 卷I—P634 2. 进程与线程的区别,进程间如何通讯,线程间如何通讯? 垃圾回收关注的是堆内存(heap); 常见的垃圾收集算法 标记-清除算法 复制算法 标记-整理算法 分代收集算法 11. Java虚拟机运行时数据区 程序计数器(PC):Java线程私有,类似于操作系统里的PC计数器,用于指定下一条需要执行的字节码的地址; Java虚拟机栈:Java线程私有,虚拟机展描述的是Java方法执行的内存模型
2,Java 特征 简单,Java 会让你的工作变得更加轻松,使你把关注点放在主要业务逻辑上,而不必关心指针、运算符重载、内存回收等与主要业务无关的功能。 字节码是指的java程序编译后的结果。是一组8位字节为基础单位的二进制流 动态性,它具有适应不断变化的环境的能力,它能够支持动态内存分配,从而减少了内存浪费,提高了应用程序的性能。 健壮性,Java 有强大的内存管理功能,在编译和运行时检查代码,它有助于消除错误。 高性能,Java 最黑的科技就是字节码编程,Java 代码编译成的字节码可以轻松转换为本地机器代码。 解释性,Java 被编译成字节码,由 Java 运行时环境解释。 多线程性,Java支持多个执行线程(也称为轻量级进程),包括一组同步原语。 下面是简单程度的理解 java实际只有值传递,并非是引用传递,非基础类型传递应当是地址作为值。 总结: 除了基本类型之外的,所有类型,包括数组的赋值,都是引用传递,这一句话就可以搞定了。
51、java中实现多态的机制是什么? 答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。 答:static i = 10; //常量 class A a; a.i =10;//可变 54、什么是java序列化,如何实现java序列化? 57、在JAVA中,如何跳出当前的多重嵌套循环? 答:用break; return 方法。 java.awt java.io java.util java.sql常用的接口:Remote List Map Document NodeList线程编程方面 60、java中有几种方法可以实现一个线程 Java中的线程有四种状态分别是:运行、就绪、挂起、结束 68、简述synchronized和java.util.concurrent.locks.Lock的异同 ?
11、HashMap和Hashtable的区别 两者最主要的区别在于Hashtable是线程安全,而HashMap则非线程安全。 13、简述Java反射机制及其作用。 Java反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制 一般认为,Java 内的传递都是值传递,Java 中实例对象的传递是引用传递。 15、Java 支持多继承么? Java 中类不支持多继承,只支持单继承(即一个类只有一个父类)。 但是 Java 中的接口支持多继承,即一个子接口可以有多个父接口。 16、什么是死锁? 它是指两个或者两个以上的线程在执行的过程中,因争夺资源产生的一种互相等待的现象。