Java面试系列4 一、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以。必须只有一个类名与文件名相同。 Public的类必须和文件名相同,并且一个.java的源文件中只能有一个公有的类。 二、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的,一个汉字两个字节。 四、数组有没有length()这个方法? JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。
java面试(4)SQL军规 注:军规主要适用于那些大企业,有着并发量大、数据量大的互联网业务 必须使用UTF8字符集,新库默认使用utf8mb4字符集。utf8mb4是utf8的超集,emoji表情以及部分不常见汉字在utf8下会表现为乱码,故需要升级至utf8mb4。
基本数据类型的局部变量存放在 Java 虚拟机栈中的局部变量表中,基本数据类型的成员变量(未被 static 修饰 )存放在 Java 虚拟机的堆中。 Java 基本数据类型的包装类型的大部分都用到了缓存机制来提升性能。 Byte,Short,Integer,Long 这 4 种包装类默认创建了数值 [-128,127] 的相应类型的缓存数据,Character 创建了数值在 [0,127] 范围的缓存数据,Boolean
Java并发学习4【面试+工作】 九.fork&join Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架 其中Vector(同步的ArrayList)和Stack(继承自Vector,先进后出)、HashTable(继承自Dictionary,实现了Map接口)是比较老的容器,Thinking in Java
面试官等不及了。。 1 自我介绍( 您好(人多就说大家好),很荣幸有机会参加此次面试,希望我今天能有好的表现,现在请允许我介绍一下自己:我叫变坏,今年18岁,毕业于牛客大学软件工程专业(或者说是牛客大学软件工程专业的应届生 ),在大学期间专业课学习了java这门编程语言,自己在网上也学习了一些相关的技术,在校期间自己也曾和同学使用java开发过一些项目,在学校也曾考取过相关的证书,获得过一些比赛的奖,大学期间还担任过课代表 ReetrantReadWriteLock 涉及到可重入锁、获取锁的顺序(公平非公平)、锁升级(不支持)、锁降级(支持)、读操作是线程共享、读写和写写操作是互斥、效率高于Synchronized) 4 :既然面试官问了,肯定不会只想听你说什么客户端服务器交流啥的,这里明显是要你说TCP报头,第一次客户端发送SYN报文,第二次服务器发送SYN+ACK报文,第三次客户端ACK报文。
此篇是本人在准备java开发岗位时准备的一些关于mysql的优化和一些面试需要特别注意的地方,还有诸多面试知识点在主页,欢迎大家查看,互相交流学习~~ 第一部分链接 第二部分链接 第三部分链接 4、故障转移和恢复 转移方式及恢复方法 1. <set>: 主要用于修改操作时出现的逗号问题 <choose> <when> <otherwise>:类似于java中的switch语句.在所有的条件中选择其一 <foreach>:迭代操作,批量操作 如何保证接口的幂等性 根据状态机很多时候业务表是有状态的,比如订单表中有:1-下单、2-已支付、3-完成、4-撤销等状态。 4 如果影响了0行,说明是重复请求,直接返回成功。 获取token 除了上述方案之外,还有最后一种使用token的方案。
Java多线程详解【面试+工作】 Java线程:并发协作-死锁 线程发生死锁可能性很小,即使看似可能发生死锁的代码,在运行时发生死锁的可能性也是小之又小。 /** * Java线程:并发协作-死锁 * * @author Administrator 2009-11-4 22:06:13 */ publicclass Test { publicstaticvoid * Java线程:线程池- * * @author Administrator 2009-11-4 23:30:44 */ publicclass Test { publicstaticvoid pool-1-thread-4正在执行。。。 pool-1-thread-3正在执行。。。 pool-1-thread-2正在执行。。。 ; import java.util.concurrent.TimeUnit; /** * Java线程:线程池- * * @author Administrator 2009-11-4 23:
4.Collection框架中实现比较要实现什么接口。 SortedSet和SortedMap接口对元素按指定规则排序。 TreeSet(); set.add(new Parent(3)); set.add(new Child()); set.add(new Parent(4) List HashMap 常用的包: java.lang java.io java.util java.sql javax.servlet org.apache.strtuts.action org.hibernate 32.什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。 有时候将一个java对象变成字节流的形式传出去或者从一个字节流中恢复成一个java对象,(例如,要将java对象存储到硬盘或者传送给网络上的其他计算机,这个过程我们可以自己写代码去把一个java对象变成某个格式的字节流再传输
这里选了几道高频面试题以及一些解答。不一定全部正确,有一些是没有固定答案的,如果发现有错误的欢迎纠正,如果有更好的回答,热烈欢迎留言探讨。 4、体现了Java面向对象这一核心特点(也可以继续说一些自己的理解) 类似参考文章,请移驾: Java中堆内存和栈内存详解 为什么要用线程池 那先要明白什么是线程池 线程池是指在初始化一个多线程应用程序过程中创建一个线程集合 4、线程池允许我们开启多个任务而不用为每个线程设置属性。 5、线程池允许我们为正在执行的任务的程序参数传递一个包含状态信息的对象引用。 6、线程池可以用来解决处理一个特定请求最大线程数量限制问题。 类似参考文章,请移驾: JAVA线程池原理详解(1) JAVA线程池原理详解(2) Java多线程和线程池 msyql优化经验 1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 4、任何地方都不要使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段。 5、避免频繁创建和删除临时表,以减少系统表资源的消耗。诸如此类,等等等等......
一般认为第一种形式要更加安全些 49、Java的接口和C++的虚类的相同和不同处。 50、Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。 另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。 Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。 JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。
JDBC驱动程序是使Java应用程序与数据库进行交互的软件组件。 JDBC驱动程序有4种类型: JDBC-ODBC桥驱动程序 本机API驱动程序(部分为Java驱动程序) 网络协议驱动程序(完全Java驱动程序) 驱动程序(完全Java驱动程序) 2.用Java连接数据库的步骤是什么 java.sql软件包包含JDBC API的接口和类。 准备声明 结果集 ResultSetMetaData 数据库元数据 CallableStatement等 类: DriverManager Blob Clob Types SQLException等 4. java面试(1)jdbc(1) 本文由 Java架构师必看 作者:system_mush 发表,其版权均为 Java架构师必看 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持
JDBC驱动程序有4种类型: JDBC-ODBC桥驱动程序 本机API驱动程序(部分为Java驱动程序) 网络协议驱动程序(完全Java驱动程序) 驱动程序(完全Java驱动程序) 2.用Java连接数据库的步骤是什么? ResultSetMetaData 数据库元数据 CallableStatement等 类: DriverManager Blob Clob Types SQLException等 4. 往期推荐 【3】进大厂必须掌握的面试题-Java面试-Servlet 【2】进大厂必须掌握的面试题- Java面试-面向对象 【1】进大厂必须掌握的面试题- Java面试基本问题 原文始发于微信公众号 (全栈程序员社区):【4】进大厂必须掌握的面试题-Java面试-jdbc 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/104320.html原文链接:https:
前面提到过,Java 8 的 HashMap 中就应用了红黑树来解决散列冲突时的查找问题。TreeMap 也是通过红黑树来保证有序性的。 详解字符串匹配 字符串匹配问题 在面试时,字符串相关的问题经常作为算法考察题,下面来看字符串匹配的问题。先来了解一道常考的面试题:“判断给定字符串中的括号是否匹配”。 一般面试题目的描述都比较简单,在解答前,可以跟面试官进一步沟通一下题目要求和细节。 加分项 要想在算法面试的相关题目获得面试官的加分,牢记下面几点: 能够将数据结构与实际使用场景结合,例如介绍红黑树时结合 TreeMap 的实现;介绍 B+ 树时结合 MySQL 中的索引实现等等 真题汇总 最后来看下常见的面试真题,第一部分总结如下。
为了帮助秋招的小伙伴们,学长这里整理了一系列的秋招面试题给大家,所以小伙伴们不用太过焦虑,相信你们一定能超常发挥,收到心仪公司的Offer~~ 内容涵盖:Java、MyBatis、ZooKeeper、 Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技术栈 推荐一款找工作神器网站:《牛客网》 |笔试题库|面试经验 |实习招聘内推| 目录Java基础篇13、 Collection包结构,与Collections的区别14、 Java的四种引用,强弱软虚15、 泛型常用特点16、Java创建对象有几种方式? 16、Java创建对象有几种方式? final也是很多面试喜欢问的地方,但我觉得这个问题很无聊,通常能回答下以下5点就不错了:被final修饰的类不可以被继承被final修饰的方法不可以被重写被final修饰的变量不可以被改变.如果修饰引用,那么表示引用不可变
Java为什么不支持多继承,使用多继承的坏处是什么? 这就是为什么Java利用接口来变相实现多重继承,接口中的方法都是未实现的,不会出现歧义问题。 Java中什么情况下会出现内存泄露? Java中有8种情况会出现内存泄露: 静态集合类:HashMap、LinkedList等。如果这些容器是静态的,那么它们的声明周期与程序一致,则容器中的对象在程序结束之前将不能被释放。 参考 java中内存泄露8种情况的总结
点击上方“java思维导图”,选择“置顶公众号” 技术文章第一时间送达! 文章来源:Java知音公众号 这里选了几道高频面试题以及一些解答。 4、体现了Java面向对象这一核心特点(也可以继续说一些自己的理解) ---- 为什么要用线程池 那先要明白什么是线程池 线程池是指在初始化一个多线程应用程序过程中创建一个线程集合,然后在需要执行新的任务时重用这些线程而不是新建一个线程 4、线程池允许我们开启多个任务而不用为每个线程设置属性。 5、线程池允许我们为正在执行的任务的程序参数传递一个包含状态信息的对象引用。 6、线程池可以用来解决处理一个特定请求最大线程数量限制问题。 4、任何地方都不要使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段。 5、避免频繁创建和删除临时表,以减少系统表资源的消耗。 insert into t_orders (id,goods_id) values (null,1); //3.修改商品status为2 update t_goods set status=2; //4.
实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值 4、Integer的默认值是null,int的默认值是0 关于Integer和int的比较 1 100); Integer j = 100; System.out.print(i == j); //false 4、对于两个非new生成的Integer对象,进行比较时,如果两个变量的值在区间-128 System.out.print(i == j); //true Integer i = 128; Integer j = 128; System.out.print(i == j); //false 对于第4条的原因 4.原始类型线程安全问题 4.1 那些类型是线程安全的 Java自带的线程安全的基本类型包括: AtomicInteger, AtomicLong, AtomicBoolean, AtomicIntegerArray 另外,如果对象是一个Java数组,那在对象头中还必须有一块用于记录数组长度的数据,因为虚拟机可以通过普通Java对象的元数据信息确定Java对象的大小,但是从数组的元数据中却无法确定数组的大小。
其实我感觉大家应该和我一样,都想有进入大厂工作毕竟生活需要理想,还需要苟且(挣高工资),其实现在大厂并不是特别容易进,作为一名好多年的Java选手,其实我感觉进入大厂,首先要把自己的技术和面试这两个重要点做好 最近这几天我一直在看java相关的基础,也在看一些面试相关的资源和视频,其实感觉不管什么技术面试,其实基础是很重要的。 现在正好暑假了,天气炎热,作为宅男的我本来就不想出去,所以还不如呆在家里,静下心来好好准备下基础的面试。所以这个暑假(虽然我没有暑假)我准备用60天时间,把Java面试中的面试题看一看,从头复习一遍。 主要涵盖的知识点我简单列了一下,计划从这些方面出发进行学:Java基础知识、集合容器、并发编程、JVM、Spring全家桶、MyBatis等ORMapping框架、MySQL数据库、Redis缓存、RabbitMQ 4、循环等待条件:多个线程相互等待对方释放资源 2、如何预防死锁? 采用trylock(timeout)方法,设置线程的超时时间,通过程序判断线程主动退出,主动进行判断如果不用资源后释放占有的资源。
Java的每个对象中都有一个锁(monitor,也可以成为监视器) 并且wait(),notify()等方法用于等待对象的锁或者通知其他线程对象的监视器可用。 在Java的线程中并没有可供任何对象使用的锁和同步器。 这就是为什么这些方法是Object类的一部分,这样Java的每一个类都有用于线程间通信的基本方法 volatile关键字在Java中有什么作用?
参考链接: 使用Java计算文本文件txt中的行数/单词数/字符数和段落数 基础 1. String是基础数据类型么? 不是,String是一个类 而java的8大基本数据类型分别是: 逻辑类 boolean 文本类 char 整数类 byte, short, int, long 浮点类 double, float。