`
543089122
  • 浏览: 154786 次
  • 性别: 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编程技能和成功进入IT行业具有很高的价值。对于想要深入学习Java的朋友们来说,这是一个...

    java基础思维导图总结

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

    java基础教程

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

    韩顺平_循序渐进学Java零基础【完整笔记】1

    【标题】:“韩顺平_循序渐进学Java零基础【完整笔记】1” 【描述】:这个课程是为初学者设计的,旨在通过系统的学习帮助学生掌握Java编程的基础。课程分为三个阶段,详细讲解了Java语言的核心概念、就业前景以及在...

    Java基础教程教学ppt

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

    java基础知识总结(超级经典)

    Java是一种广泛使用的面向对象的编程语言,它简单、面向对象、稳定且跨平台。...学习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...

    java基础教学ppt

    java基础教学ppt,共15章.第一章 Java语言基础知识 第二章 Java 环境的配置 第八章:Java 的多线程机制. 第十三章 类的继承 * 继承时候的构造方法 * 隐藏和覆盖 * 重载、覆盖和重载的区别 * Object类 *...

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

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

    Java笔试题汇总(包括Java基础框架数据库等,大部分公司招聘使用的)

    Java笔试题是评估应聘者技术水平的重要方式,涵盖了Java语言的基础、框架和数据库等多个方面。以下是对这些知识点的详细解析: 1. **Java基础** - **语法基础**:包括类、对象、封装、继承、多态等面向对象编程...

    李兴华java基础笔记

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

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

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

    JAVA_API1.6文档(中文)

    java.lang 提供利用 Java 编程语言进行程序设计的基础类。 java.lang.annotation 为 Java 编程语言注释设施提供库支持。 java.lang.instrument 提供允许 Java 编程语言代理检测运行在 JVM 上的程序的服务。 java....

    Java 面经手册·小傅哥.pdf

    当你仔细阅读书籍时,会发现Java中有大量的数学知识,包括:扰动函数、负载因子、拉链寻址、开放寻址、斐波那契(Fibonacci)散列法还有黄金分割点的使用等等。 适合人群 1. 具备一定编程基础,工作1-3年的研发...

    分布式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项目,最初的目的是为了开发一个分布式代码系统,以便能够控制家用电器并通过电子邮件与之...

Global site tag (gtag.js) - Google Analytics