首页 > 编程语言 >Java 基础面试笔记(二)

Java 基础面试笔记(二)

时间:2023-06-11 17:02:53浏览次数:60  
标签:Java String 获取 StringBuffer System 笔记 面试 Date Calendar

1.arraylist和linkedlist

区别:

概念上:ArrayList是实现了基于动态数组的数据结构,LinkedList是基于链表结构。

性能上: ArrayList 的查询效率比较高,增删动作的效率比较差,适用于查询比较频繁,增删动作较少的元素管理的集合。LinkedList 的查询效率低,但是增删效率很高。适用于增删动作的比较频繁,查询次数较少的元素管理集合。

ArrayList ,LinkedList 都是线程不安全的。

2.StringBuffer 和 StringBuilder

区别:

1. 线程安全:StringBuffer线程安全,StringBuilder线程不安全。因为StringBuffer的所有公开方法都是synchronized修饰的。

2. 缓冲区:StringBuffer每次获取toString都会直接使用缓存区的toStringCache值来构造一个字符串。而StringBuilder则每次都需要复制一次字符数组,再构造一个字符串。

3. 性能:既然StringBuffer是线程安全的,他的所有公开方法都是同步的,StringBuilder是没有对方法加锁同步的,所以毫无疑问,StringBuilder的性能要远大于StringBuffer。

总结:

       StringBuffer适用于在多线程操作同一个StringBuffer的场景,如果是单线程场合StringBuilder更合适。

3.super和this关键字

在java类中使用super引用父类的成分,用this引用当前对象

          this可以修饰属性、构造器、方法

          super可以修饰属性、构造器、方法

4.基本数据类型

byte,short,int,long,float,double,boolean,char

5.创建一个对象有几种方法?

4种方法:

  1. 用new语句创建,最常见的创建方法;
  2. 反射手段,调用Java.lang.Class类的newInstance实例方法;
  3. 调用对象的clone()方法;
  4. 运用反序列化手段,调用Java.io.objectinputStream对象的readObject()方法。

6.==和equals()的区别

  1. == 表示 判断2个变量或对象实例是否指向同一个内存空间; equals()表示 判断2个变量或对象实例所指向的内存空间的值是否相同。
  2. == 表示 对内存地址进行比较,equals()表示 对字符串的内容进行比较。
  3. == 表示引用是否相同,equals() 表示值是否相同。

7.jquery如何获取class属性

  1. attr获取属性 ;
  2. text获取文本内容元素;
  3. val获取表单字段的值;
  4. html获取所选元素的内容;

8.获取时间的四种方式

//1 通过Date类来获取当前时间,通过SimpleDateFormat来设置时间格式

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式

System.out.println(df.format(new Date()));// new Date()为获取当前系统时间


//2 通过System类中的currentTimeMillis方法来获取当前时间

long date2 = System.currentTimeMillis();

String currentTime2 = dateFormat.format(date2);

System.out.println(currentTime2);


//3 通过Calendar类来获取当前时间 ,Calendar获取的MONTH范围是0-11,0代表1月,11代表12月

Calendar date3 = Calendar.getInstance();

//date3.add(Calendar.MONTH, 12);

String month = date3.get(Calendar.MONTH)<10?"0"+(date3.get(Calendar.MONTH)+1):(date3.get(Calendar.MONTH)+1)+"";

System.out.println(date3.get(Calendar.YEAR)+"-"+month+"-"+date3.get(Calendar.DATE)+" ");

//将Calendar的对象转为Date对象

Date dateC = date3.getTime(); 

//4 通过Date类来获取当前时间 

Date date = new Date(); 

String year = String.format("%tY", date); 

String month4 = String.format("%tm", date); 

String day = String.format("%te", date); 

System.out.println(year+"-"+month4+"-"+day);

9.Java8新特性

       Lambda表达式(也称为闭包)是Java 8中最大和最令人期待的语言改变。它允许我们将函数当成参数传递给某个方法,或者把代码本身当作数据处理,最简单的Lambda表达式可由逗号分隔的参数列表、->符号和语句块组成。

10.tomcat有几种connector优化方式?

bio 、nio 、aio 、apr。

标签:Java,String,获取,StringBuffer,System,笔记,面试,Date,Calendar
From: https://blog.51cto.com/u_15558311/6458269

相关文章

  • Redis学习笔记4-脚本、持久化和集群 Redis学习笔记1-基础命令及数据结构: http://blog.
        Redis学习笔记4-脚本、持久化和集群Redis学习笔记1-基础命令及数据结构:http://blog.guoyb.com/2016/07/21/learn-redis-basic-commands/Redis学习笔记2-事务与过期时间:http://blog.guoyb.com/2016/08/23/learn-redis-adv/Redis学习笔记3-排序与消息通知:http://blog......
  • JAVA Set 交集,差集,并集
    /***Createdbyyuhuion2017/7/110011.*/importjava.util.HashSet;importjava.util.Set;publicclassTestSet{publicstaticvoidmain(String[]args){Set<String>result=newHashSet<String>();Set<String>......
  • Java8新特性Stream之list转map及问题解决
    List集合转Map,用到的是Stream中Collectors的toMap方法:Collectors.toMap具体用法实例如下://声明一个List集合Listlist=newArrayList();list.add(newPerson("1001","小A"));list.add(newPerson("1002","小B"));list.add(......
  • Java中匿名内部类
      packagecom.itheima.d8_innerclass_anonymous;/***目标:学习匿名内部类的形式和特点*/publicclassTest{publicstaticvoidmain(String[]args){Animala=newAnimal(){@Overridepublicvoidrun(){......
  • 一份55页Java性能调优PPT分享
    提起“肖桦”这个人,相信很多小伙伴对他比较陌生。除去现任唯品会资深技术专家头衔外,他更为技术圈所熟知的是他的著名开源项目:SpringSide。SpringSide是以springFramework为核心的,Pragmatic风格的JavaEE应用参考示例,是JavaEE世界中主流技术选型,最佳实践的总结与演示。到目前为......
  • 梦断代码读书笔记03
    在阅读这篇文章之前,我一直认为外国人在IT领域是领头羊,但是读完之后,我发现尽管他们实现了很多著名的项目和出色的软件,但是他们的项目管理和软件开发能力实在是有限。他们总是怀着远大的目标和宏伟的志向去开发软件,比如Chandler项目,他们希望能够提供最好的用户体验,使用最新的技术,平......
  • 01-《程序员修炼之道——从小工到专家》读书笔记
     这本书描述了一些程序员编写大型项目时所应该遵循的最基本的原则和可以使用的最基本的工具。它没有描述某一种特定的语言、特定的算法,也没有推荐一种编程方法作为万灵药,而是介绍了实用主义的思想,并介绍了一整套方法论帮助程序员与团体避免错误、避免浪费无谓的时间,更有效地开发......
  • 02-《程序员修炼之道——从小工到专家》读书笔记
    复制别人的代码时,代码中可能包含了我们并不需要的段落,或者是出现了我们并不理解的逻辑,这会导致我们的代码不够清晰、不够简洁。另外,如果我们使用之前成功的代码来解决新问题,那么我们就会变成一个只能解决管理员问题,却不能写出优秀代码的程序员。最后,当我们不写注释时,这会让后来的......
  • 03-《程序员修炼之道——从小工到专家》阅读笔记
     重写、重做和重新架构代码合起来,称为重构。那么我们该在什么时候进行重构呢?当你遇到绊脚石——代码不再合适,你注意到有两样东西其实应该合并或是其他任何对你来说是“错误”的东西,那么你不要对改动犹豫不决,应该现在就做。但往往现实世界特别复杂,当你去找你的老板和客户,对他们说......
  • 01-《梦断代码》阅读笔记
    在讲团队协作时,作者提到了一本书《大教堂与集市》。《大教堂与集市》的作者认为,重要的软件应该像建大教堂一样,由独立的巫师精心打造,在面世之前绝对不发布beta版本。而Linux采用的开发风格却像一个乱哄哄的大集市,铺陈了各种日程和手法,要从中得到一个前后一致的稳定系统,简直只能......