java面试题
烦到困
学习的痛苦......是终生的
展开
-
什么是进程?线程?多线程?线程安全?线程同步和异步,各自好处和弊端?
1.什么是进程进程是指运行中的应用程序,每个进程都有自己独立的地址空间(内存空间)2.什么是线程?什么是多线程?线程是进程中的一个实体,是被系统独立调度和分派的基本单位线程有就绪、阻塞和运行三种基本状态在单个程序中同时运行多个线程完成不同的工作,称为多线程3.什么是线程安全?线程安全是多线程编程时的计算机程序代码中的一个概念。在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会...原创 2018-12-04 14:24:43 · 535 阅读 · 0 评论 -
Session, Cookie区别
1、Session由应用服务器维护的一个服务器端的存储空间;Cookie是客户端的存储空间,由浏览器维护。2、用户可以通过浏览器设置决定是否保存Cookie,而不能决定是否保存Session,因为Session是由服务器端维护的。3、Session中保存的是对象,Cookie中保存的是字符串。4、Session和Cookie不能跨窗口使用,每打开一个浏览器系统会赋予一个SessionID,此...转载 2018-12-04 17:07:32 · 127 阅读 · 0 评论 -
更改TreeSet的排序方式
TreeSet 的排序方式一让元素本身具有比较性,需要实现Comparable接口覆盖compareTo方法class Student implements Comparable{ //重写compareto方法进行排序 int age; String name; Student(String name,int age){ this.name=name; this...原创 2018-12-04 16:48:46 · 730 阅读 · 0 评论 -
Tomcat,Apache,JBoss的区别?
1、Apache是Http服务器,Tomcat是web服务器,JBoss是应用服务器。2、Apache解析静态的html文件;Tomcat可解析jsp动态页面、也可充当servlet容器转载http://foohsinglong.iteye.com/blog/1195780。拓展web服务器它只需支持HTTP协议、HTML文档格式及URL。其主要功能是传送页面使浏览器可以浏览,又因为它主要...转载 2018-12-04 16:39:54 · 1513 阅读 · 0 评论 -
HashTable, HashMap,TreeMap区别?
1、HashTable线程同步,HashMap非线程同步。2、HashTable不允许<键,值>有空值,HashMap允许<键,值>有空值。3、HashTable使用Enumeration迭代,HashMap使用Iterator迭代。4、HashTable中hash数组的默认大小是11,增加方式的old*2+1,HashMap中hash数组的默认大小是16,增长方式一...原创 2018-12-04 15:56:46 · 111 阅读 · 0 评论 -
List,Set,Map的区别?什么场景下使用list,set,map?
转载https://www.cnblogs.com/IvesHe/p/6108933.htmlList,Set,Map的区别List:1.可以允许重复的对象。2.是一个有序容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序。3.常用的实现类有 ArrayList、LinkedList 和 Vector。ArrayList 最为流行,它提供了使用索引的随意访问,而 LinkedLis...转载 2018-12-04 15:44:30 · 890 阅读 · 0 评论 -
Vector,ArrayList, LinkedList的区别是什么?
1.Vector、ArrayList都是以类似数组的形式存储在内存中,LinkedList则以链表的形式进行存储。2、Vector线程同步,ArrayList、LinkedList线程不同步。3、LinkedList适合指定位置插入、删除操作,不适合查找;ArrayList、Vector适合查找,不适合指定位置的插入、删除操作。4、ArrayList在元素填满容器时会自动扩充容器大小的50%...原创 2018-12-04 15:34:42 · 152 阅读 · 0 评论 -
synchronized为什么能解决线程安全问题?
synchronized在英语中翻译成同步,同步想必大家都不陌生。例如同步调用,有A,B两个方法,必须要先调用A并且获得A的返回值才能去调用B,也就是说,想做下一步,必须要拿到上一步的返回值。同样的道理,使用了synchronized的代码,当线程t1进入的时候,另一个线程若t2想进入,就必须要得到返回值才能进入,怎么得到返回值呢?那就要等t1出来了才会有返回值。这就是多线程中常说的加锁使用s...转载 2018-12-04 14:42:02 · 1216 阅读 · 0 评论 -
String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的
1、String是字符串常量,StringBuffer和StringBuilder都是字符串变量。后两者的字符内容可变,而前者创建后内容不可变。2、String不可变是因为在JDK中String类被声明为一个final类。3、StringBuffer是线程安全的,而StringBuilder是非线程安全的。拓展1.线程安全会带来额外的系统开销,所以StringBuilder的效率比Stri...原创 2018-12-04 14:36:51 · 891 阅读 · 0 评论 -
关于String的intern方法
@Test public void testfdk2(){ String a1=new String ("aaa1");//同时会生成堆中的对象 以及常量池中1的对象,但是此时a1是指向堆中的对象的 String x=a1.intern();//"aaa1" 常量池中的已经存在,之后返回引用,不会将a1当做"aaa1"的引用,a1指向的一样是Stri...原创 2019-05-17 00:02:54 · 185 阅读 · 0 评论