java基础
胡育诚
这个作者很懒,什么都没留下…
展开
-
java编译运行详解
1,不同操作系统,java源程序编译生成的字节码是一样吗?java编译生成的字节码,在所有操作系统都是一样,故其有这样的特点: write once, run anywhere.2,不同操作系统,安装的java虚拟机是一样吗?不同的操作系统,其java 虚拟机是不一样的。虚拟机将java字节代码转换对应操作系统的相关指令,保证其正常运行,jvm会根据操作系统来解释原创 2016-01-02 11:18:06 · 1346 阅读 · 0 评论 -
java中子类static方法隐藏父类static方法
父类public class TestA { public static int a=0; public int b=0; public static int c=0; public static void print(){ System.out.println("我也用"); } public void hello(){原创 2017-04-09 17:41:14 · 3554 阅读 · 2 评论 -
ConcurrentHashMap原理分析
1 使用方法private final Map wordCounts = new ConcurrentHashMappublic long increase(String word) { Long oldValue = wordCounts.get(word); Long newValue = (oldValue == null) ? 1L : oldValue + 1原创 2017-03-06 19:52:22 · 559 阅读 · 0 评论 -
HashMap源码深度解析
这里新增加节点采用了头插法,新节点都增加到头部,新节点的next指向老节点这里涉及到了HashMap的扩容问题,随着HashMap中元素的数量越来越多,发生碰撞的概率就越来越大,所产生的链表长度就会越来越长,这样势必会影响HashMap的速度,为了保证HashMap的效率,系统必须要在某个临界点进行扩容处理。该临界点在当HashMap中元素的数量等于table数组长度*加载因子。但是扩容是一个非常耗时的过程,因为它需要重新计算这些数据在新table数组中的位置并进行复制处理。原创 2017-01-16 21:34:54 · 15725 阅读 · 8 评论 -
java类型转换问题
byte b1=1,b2=2,b3,b6; final byte b4=4,b5=6; b6=b4+b5; b3=(b1+b2); System.out.println(b3+b6);b3=b1+b2编译出错b1和b2是byte类型,java中进行计算时候将他们提升为int类型,再进行计算,b1+b2计算后已经是int类型,赋值给b3,b3是byte类型,类型不匹配,编译不会通过,原创 2016-12-10 09:26:59 · 351 阅读 · 0 评论 -
java内部类
1,内部类介绍1.1什么是内部类内部类是定义在另一个类中的类。内部类是个编译时的概念,一旦编译成功后,它就与外部类属于两个完全不同的类(当然他们之间还是有联系的)。对于一个名为OuterClass的外部类和一个名为InnerClass的内部类,在编译成功后,会出现这样两个class文件:OuterClass.class和OuterClass$InnerClass.class。1.2原创 2016-06-08 14:29:17 · 388 阅读 · 0 评论 -
java中sleep和wait的区别
(1)sleep()是线程类的方法,而wait()方法,是Object类的方法。(2)sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。 而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池原创 2016-05-08 16:07:51 · 516 阅读 · 0 评论 -
java中的线程问题
首先给出一个思考题12345678910111213141516171819202122232425262728293031原创 2016-05-02 14:00:20 · 448 阅读 · 0 评论 -
java关于Object类中9大方法的分析
首先看Object类的源代码public class Object { /* 返回此 Object 的运行时类。*/ public final native Class getClass(); public native int hashCode();原创 2016-05-02 12:41:08 · 1472 阅读 · 0 评论 -
java关于参数传递的思考
首先思考一个问题publicclass Test{ publicstatic void changeStr(String str) { str = "welcome"; } publicstatic void mai原创 2016-05-02 12:15:45 · 592 阅读 · 0 评论 -
java中Iterator遍历时的删除问题
首先思考一个问题list是一个ArrayList的对象,哪个选项的代码填到//todo delete处,可以在Iterator遍历的过程中正确并安全的删除一个list中保存的对象?()1234567891011Iterator it = lis原创 2016-05-01 23:16:19 · 3719 阅读 · 0 评论 -
java中关于String类与基本类型的思考
首先给出一个思考题:有如下一段代码,请选择其运行结果()12345678910publicclass StringDemo{ privatestatic final String MESSAGE="taobao"; pu原创 2016-05-01 23:02:42 · 472 阅读 · 0 评论 -
java中几种复制数组的方法比较
java中主要有四种复制数组的方法:(1)System.arraycopy()public static native void arraycopy(Object src, int srcPos,Object dest, int destPos,int length); (2)for循环逐一复制(3)Object中的clone();(4)A原创 2016-05-02 13:39:08 · 568 阅读 · 0 评论