有没有写过多线程的代码
1.实现多线程的方法包括哪几种,那一种更好,为什么?
2.hashcode,equals方法的重写原因
3.HashTable和HashMap的区别,HashMap中的数据如何全部遍历出来?
4.String类可不可以继承:String类是final类故不可以继承。
5.Java的内存分配,堆的划分,jvm原理
6.GC的原理
7.ArrayList和LinkedList的区别
8.Shell的命令 grep scp
9.Read/Writer和InputStream/OutputStream的区别?
10.实现多线程同步的方法有几种?
11.oracle的内存结构PS:知道多少回答多少,分不多,互相学习
1.实现多线程的方法包括哪几种,那一种更好,为什么?
2.hashcode,equals方法的重写原因
3.HashTable和HashMap的区别,HashMap中的数据如何全部遍历出来?
4.String类可不可以继承:String类是final类故不可以继承。
5.Java的内存分配,堆的划分,jvm原理
6.GC的原理
7.ArrayList和LinkedList的区别
8.Shell的命令 grep scp
9.Read/Writer和InputStream/OutputStream的区别?
10.实现多线程同步的方法有几种?
11.oracle的内存结构PS:知道多少回答多少,分不多,互相学习
继承Thread类
实现Runnable接口
使用Timer和TimerTask组合
其中实现Runnable接口比较好,一个类可以实现任意多个接口,所以该种实现方式在实际实现时的通用性要比其他的方式好一些,比较灵活。
7.ArrayList和LinkedList比较:
它们都是具有相同接口和外部行为的简单的序列,但它们对某些操作所花费的代价却是天壤之别。在ArrayList中,随机访问元素是一个花费固定时间的操作;但是,对LinkedList来说,随机选取元素在列表中的移动,这种代价是高昂的,访问越靠近表尾的元素,花费的时候越长。而另一方面,如果想在序列中间插入一个元素,LinkedList的开销却比ArrayList要小。
(ArrayList适于随机访问,LinkedList适于插入操作)
我只知道thread 和runnable两种
2.hashcode,equals方法的重写原因
equals是用来比较的 如果你不重写的话默认只是继承object 的实现 和==没区别 也就是说他们比的事指针地址java的说话就是比较引用而不比较引用指向的实际变量,换一种情况,如果比较的是两个自定义的类那么实际上我们相比较的应该是类的属性,自己实现一下就ok了 . hashcode 据本人理解是因为散列表的原因,散列表是通过对象的值进行散列运算产生结果作为一个数组的索引保存这个对象,对象的值相同的情况下(equals相同),hashcode肯定相同了,因为是用一个字符(这里只是打比方)同一种算法计算出来的.
3.HashTable和HashMap的区别,HashMap中的数据如何全部遍历出来?
其中一个实现了同步 我忘记是哪一个了,便利的方法就是获得hashmap的keyset 然后iterator出来每一个索引在hashmap.get()就行了
4.String类可不可以继承:String类是final类故不可以继承。5.Java的内存分配,堆的划分,jvm原理
内存分配有代码区 常量区 局部变量区 new的区域(怎么称呼忘记了)
6.GC的原理
就是每new一次 虚拟机会有一个对象引用数的累加值,当累加值=0时进行内存释放,当然这也不是实时的 好像优先级不高7.ArrayList和LinkedList的区别
这个就如楼上说的.
8.Shell的命令 grep scp
没用过linux
9.Read/Writer和InputStream/OutputStream的区别?
一个是字符流 一个是字节流
10.实现多线程同步的方法有几种?
synchronized和那个wait notify并用两种方法吧
11.oracle的内存结构
这个没研究过 就做过分区优化 索引之类的
覆盖了equals方法后 为了使得两个equals后返回true的对象能够得到相同的hashCode ,即一致性 就得重写hashCode方法...
Hashtable 是线程安全的 而HashMap 是非线程安全的 故而HashMap 只适合单个线程的情况
除此之外:HashMap允许讲null作为entry的key或者value 但是 Hashtable则不可...
3.(The HashMap class is roughly equivalent to Hashtable, except that it is unsynchronized and permits nulls)API原话,HashMap大致等于Hashtable,除了HashMap 是非同步的和允许空(这里的空是指既允许空键也允许空值)
3.(The HashMap class is roughly equivalent to Hashtable, except that it is unsynchronized and permits nulls)API原话,HashMap大致等于Hashtable,除了HashMap 是非同步的和允许空(这里的空是指既允许空键也允许空值)
6.GC的原理
当没有外部的reference指向一个object的时候,这个object就可以被gc了。但是何时gc由jvm决定。
共享服务器模式的话UGA在SGA中分配,专用服务器连接UGA在SGA中分配
更正一下:共享服务器模式的话UGA在SGA中分配,专用服务器连接UGA在PGA中分配
2.hashcode,equals方法的重写原因
一个hashcode可能对应多个对象,即equals不同,hashCode可能相同。
3.HashTable和HashMap的区别,HashMap中的数据如何全部遍历出来?转成set HashSet<Entity<E,E>> 然后 Iterator 。 getkey,getValue()拿到
4.String类可不可以继承:
String类是final类故不可以继承。5.Java的内存分配,堆的划分,jvm原理
内存就三块,堆,栈,方法区6.GC的原理
对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是可达,哪些对象是不可达的.当GC确定一些对象为不可达时,GC就有责任回收这些内存空间。7.ArrayList和LinkedList的区别
ArrayList相当于数组,linkedList相当于链表8.Shell的命令 grep scp
9.Read/Writer和InputStream/OutputStream的区别?字符,,字节。
10.实现多线程同步的方法有几种?
三: synchronized, wait notify
11.oracle的内存结构
http://blog.csdn.net/codolio/archive/2010/03/28/5424483.aspx
GC的原理,楼主可以参考JAVA之父参与编写的一本书:
《Java程序设计语言》
一直想研究研究线程的并发。
String b = "a" + "b";问题 a == b 返回的值,ab值是存放在堆中还是栈中,他是一个对象,还是一个变量值?