`
543089122
  • 浏览: 155862 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

突然发现自己的JAVA基础很差

    博客分类:
  • java
阅读更多
今天因为一个问题上网搜索却牵扯出了另一个问题。。。纠结。、、还是纠结
纠结之余发现自己的java基础很是薄弱!于是写下了一个纠结的牵扯出的另一个纠结的问题,旨在提醒自己基础很重要!

1、类的私有构造函数虽然不能在外部进行实例化,但是通过反射可以实例化。
PersonDemo p = PersonDemo.class.getDeclaredConstructor(String.class,int.class).newInstance("张三",20);

2、都知道System.gc();是进行垃圾回收(实际会不会还是由JVM决定),它其实会调用Runtime.getRuntime().gc(); ,
gc()是一个native方法。有个很重要的方法Object的finalize方法,gc()的时候会调用此方法进行IO释放操作。

3、java中的HashMap是基于哈希表的 Map 接口的实现,内部是用数组+链表实现的,性能方面 哈希表>二叉树>线性表.为什么哈希表这么快呢?通过查看源码得知
int i = indexFor(hash, table.length);

indexFor这个方法得到的是数组的索引,在看indexFor这个方法:
static int indexFor(int h, int length) {
        return h & (length-1);
}

通过把哈希值和数组长度进行与运算,为什么要进行与运算呢?因为与运算后得到的数字一定大于等于0并且小于等于数组长度。
(&运算:同位都为1则为1,否则为0。这样2个数进行&运算后得到的10进制数一定0<=n<=len)。
关于哈希表的说明见百科,说的很详细
http://baike.baidu.com/view/1320746.htm
http://zh.wikipedia.org/wiki/%E5%93%88%E5%B8%8C%E8%A1%A8

4、位运算符(&、|、~、^) 与 移位运算符(<<、>>、>>>)
虽然做开发的时候几乎用不到位运算和移位运算,但是看java源代码和别的开源东西的时候这些东西似乎无处不在,所以这个还是很重要的。
http://www.blogjava.net/handan/archive/2007/05/14/117336.html
http://www.iteye.com/topic/766461


分享到:
评论

相关推荐

    java基础练习题(基础)精选

    Java基础练习题由本人整理并上传,非常适合于初学者加强巩固自己的知识,编程学好的唯一途径就是多练习。

    黑马程序员java基础试题、笔记

    总的来说,这个压缩包提供了全面的Java学习资源,不仅覆盖了基础理论,还涉及到实践应用,特别是针对面试的准备,对提升Java编程技能和成功进入IT行业具有很高的价值。对于想要深入学习Java的朋友们来说,这是一个...

    Java基础教程完整版

    Java基础教程完整版 Java基础教程完整版是JAVE_LOVER作者提供的一系列Java教程,总共包含18个章节,涵盖了JavaSE基本知识点、UML建模、单元测试等内容。下面是对每个章节的详细介绍: Java学习系列(一):Java的...

    java基础思维导图总结

    Java基础总结,融入java基础绝大部分内容,更会在之后的博客中逐渐细化。写一个两年以后还能看懂的博客

    java笔试题大全(java笔试,面试笔试,逻辑题,各大公司题目,java基础)

    这些文件旨在帮助准备Java相关职位的求职者全面复习并提升自己的技能。 首先,Java基础知识是任何Java开发者的基础,这包括但不限于Java语法、数据类型、运算符、流程控制语句(如if、switch、for、while)、类与...

    java基础教程

    《Java基础教程(第3版)》以通俗易懂的语言,循序渐进地向读者介绍了Java语言编程的基础知识。针对较难理解的问题,所列举的例子都是由简到繁,便于读者掌握Java编程技巧。在第3版中加大了面向对象的知识容量,补充...

    Java基础教程教学ppt

    Java基础教程 教学ppt. 苏州职业大学计算机与电子工程系曾海 &lt;br&gt;内容如下: &lt;br&gt;Java基础教程第十三单元《文件处理》ppt及习题 Java基础教程第十二单元《意外处理》ppt+习题+作业 Java基础教程第...

    尚硅谷_Java基础实战_Bank项目_源代码.zip

    Java基础实战_Bank项目_源代码,循序渐进的完成了BANK小项目,将JAVA的面向对象,很好的应用到实际代码编写中,通过学习这些代码,可以很好地加深对JAVA语言的理解,以及对JAVA面向对象编程的理解,提升自己的能力。

    Java十大基础笔记整理(PDF)

    这份"Java十大基础笔记整理(PDF)"提供了全面的Java基础知识概览,适合初学者进行学习和复习。下面,我们将深入探讨Java的基础知识,涵盖核心概念、语法和编程实践。 1. **Java简介**:Java是由Sun Microsystems...

    传智播客毕向东Java基础全套视频教程》黑马程序员

    《传智播客毕向东Java基础全套视频教程》黑马程序员下载地址.txt ) 完整的视频资源,入门必备.

    java基础知识大全(必看经典).pdf

    初学者必看java基础知识大全(必看经典).pdf

    Java语言程序设计-基础篇(原书第8版).pdf

    根据提供的文件信息,“Java语言程序设计-基础篇(原书第8版)”这本书主要面向初学者,旨在通过详细的讲解和示例帮助读者掌握Java编程的基础知识。以下是对该书籍可能涉及的一些关键知识点进行的总结: ### 1. Java...

    2017年阿里Java基础面试题文档 Java知识分享

    ### 2017年阿里Java基础面试题文档解析 #### 一、自我介绍与问题解决能力 在自我介绍部分,面试者应该清晰地表达自己的背景、经历以及为什么选择当前的职业道路。此外,通过讲述一个具体的问题解决案例,能够展现...

    李兴华java基础笔记

    ### 李兴华Java基础笔记知识点总结 #### 1. Java简介与背景 - **Java的起源与发展**:Java最初由Sun Microsystems公司的James Gosling等人于1991年开始研发,最初的代号为Oak(橡树)。随着互联网的发展,Oak项目...

    JAVA语言程序设计基础篇课后编程题答案

    《JAVA语言程序设计基础篇》是一本面向大学计算机专业学生的教材,旨在帮助学生建立坚实的Java编程基础。课后编程题是检验和巩固学习效果的有效方式,通过解答这些题目,学生可以深入理解Java语法、控制结构、类与...

    分布式java应用基础与实践附带源码(完整版)

    分布式Java应用基础与实践是Java开发领域中的一个重要话题,它涉及到如何在多个计算机节点上协同工作,以提高系统的可扩展性、可靠性和性能。在这个完整版的资源中,包括了一本名为“分布式JAVA应用 基础与实践.pdf...

    java语言程序设计(基础篇)原书第十版 习题答案(部分)

    java语言程序设计(基础篇)原书第十版 课后习题答案,自己一个行一行写的代码,不是标准答案,但每个答案都测试过。 从第9章到第13章。 包含的题目有: 第九章:9.1-9.5 9.7-9.9 9.13 第十章:10.1 10.4-10.7 第十...

    JAVA基础入门教程

    ### JAVA基础入门教程知识点概述 #### 一、Java语言历史与发展背景 - **起源与初期目标**:Java语言起源于Sun公司的Green项目,最初的目的是为了开发一个分布式代码系统,以便能够控制家用电器并通过电子邮件与之...

    毕向东_Java基础视频课堂笔记

    标题《毕向东_Java基础视频课堂笔记》表明,这份文档是一份关于Java基础的视频课程的详细笔记,该课程由传智播客的毕向东老师主讲,并且共分为35个教学日。由于文档是通过OCR扫描生成,可能会有文字识别错误或遗漏,...

    java零基础学习hadoop手册

    java零基础学习hadoop手册--很不错的资料

Global site tag (gtag.js) - Google Analytics