`
543089122
  • 浏览: 154316 次
  • 性别: 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基础教程完整版是JAVE_LOVER作者提供的一系列Java教程,总共包含18个章节,涵盖了JavaSE基本知识点、UML建模、单元测试等内容。下面是对每个章节的详细介绍: Java学习系列(一):Java的...

    java基础思维导图总结

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

    Java基础知识总结 (绝对经典)

    ### Java基础知识总结(绝对经典) #### 一、Java概述 - **起源与发展**:Java语言始于1991年Sun公司的James Gosling等人所开发的Oak语言,原计划用于控制嵌入式设备如有线电视交换盒和个人数字助理(PDA)。1994年...

    java基础教程

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

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

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

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

    Java是一种广泛使用的面向对象的编程语言,它简单、面向对象、稳定且跨平台。...学习Java基础不仅仅是学习它的语法和编程模型,还要理解Java的运行环境、开发环境以及如何有效地使用Java平台进行软件开发。

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

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

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

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

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

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

    java基础教学ppt

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

    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基础教程----精华版

    这个"java基础教程----精华版"显然是一份精心整理的资料,旨在帮助初学者快速掌握Java编程的基础知识。下面将详细介绍Java语言的核心概念和关键知识点。 1. **Java语法基础**: - **变量**:在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