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种方法:
- 用new语句创建,最常见的创建方法;
- 反射手段,调用Java.lang.Class类的newInstance实例方法;
- 调用对象的clone()方法;
- 运用反序列化手段,调用Java.io.objectinputStream对象的readObject()方法。
6.==和equals()的区别
- == 表示 判断2个变量或对象实例是否指向同一个内存空间; equals()表示 判断2个变量或对象实例所指向的内存空间的值是否相同。
- == 表示 对内存地址进行比较,equals()表示 对字符串的内容进行比较。
- == 表示引用是否相同,equals() 表示值是否相同。
7.jquery如何获取class属性
- attr获取属性 ;
- text获取文本内容元素;
- val获取表单字段的值;
- 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