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

    java基础教程

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

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

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

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

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

    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语言的核心概念和关键知识点。 1. **Java语法基础**: - **变量**:在Java中,变量是存储...

    Java 面经手册·小傅哥.pdf

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

    JAVA基础编程练习题50题及经典算法90题【含源码及答案】

    这份资源包含的"JAVA基础编程练习题50题及经典算法90题"是学习和提升Java技能的理想材料。以下将分别介绍这些题目可能涵盖的知识点。 一、Java基础编程练习题50题: 这50题主要针对Java语法、数据类型、控制结构、...

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

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

    最全的java基础+java核心库学习笔记整理与整合源码

    javabase是java基础+java核心库 学习笔记整理整合而成的,里面包含进两百个涉及jse用法的常用易错、冷门及jdk6新特性等用法演示。 我的CSDN博客: http://blog.csdn.net/lmc1138789752/article/details/8272829

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

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

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

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

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

    在准备Java的笔试和面试时,了解并掌握其基础知识至关重要。这份“java笔试题大全”包含了各种Java相关的题目,包括但不限于语法、面向对象概念、异常处理、集合框架、多线程、I/O流、网络编程以及数据结构与算法等...

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

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

    Java基础入门--教学课件--PPT

    这份"Java基础入门--教学课件--PPT"旨在帮助初学者掌握Java编程的基本概念和语法,为深入学习Java打下坚实的基础。 1. **Java简介**: Java由Sun Microsystems(现为Oracle公司)于1995年推出,由詹姆斯·高斯林等...

    Java入门学习PPT课件

    对于初学者来说,理解Java的基础知识是十分重要的。本课件"Java入门学习PPT课件"旨在为初学者提供一个简单易懂的学习路径,帮助他们快速入门。 1. **Java编程基础** - **类与对象**:Java是面向对象的语言,一切皆...

Global site tag (gtag.js) - Google Analytics