java基础知识索引,java基础知识
java基础知识索引,java基础知识
- 一些关于java的题目
- 面向对象
- java内存
- 常量池
- 分析内存的工具
- java基本数据类型
- java 数组
- java 字符串
- String
- java 集合
- List
- LinkedList
- Map
- 排序
- java 并发
- java 并发容器
- java异常
- java IO
- 底层
- 传统IO
- NIO
- 反射
java学习路线
一些关于java的题目
根据这些题目可以查漏补缺。
【面试题】Java开发岗位面试题归类
你应该知道的JAVA面试题
面向对象
(豁然开朗)《面向对象分析与设计》读书笔记
PS:每个对象都可以看做一个独立的有限状态自动机。
【知乎】用一句话说明面向对象思想?
【知乎】对于卡内基梅隆大学计算机系删除基础课程中的面向对象编程课程,如何理解他们提到的「面向对象编程既是反模块化的又是反并行的」?
PS: 有答案从图灵机角度解释了并行
java内存
介绍Java中的内存泄漏
- 内存角度 + 对象生命周期
- Java 的 String类的substring()方法。
常量池
Java常量池的大概理解
Java常量池的面试题 (Integer缓存数值【-128-127】)
分析内存的工具
jprofiler
jconsole
jmap
jstat
java内存泄漏的定位与分析
java基本数据类型
[java中基本类型占用字节数](1字节 = 8 bits)(http://blog.csdn.net/witsmakemen/article/details/8974200/)
【整型】
Int: 4 字节
Short: 2字节
Long: 8字节 ( 长整型 )
Byte: 1字节【浮点型】
Float: 4字节
Double: 8字节【字符型】
char: 2字节【boolean型】
boolean:1字节
java 数组
【数组复制】java语言复制数组的四种方法
java 字符串
探秘Java中的String、StringBuilder以及StringBuffer
- final 关键字
- String 不变
- StringBuffer = StringBuilder + synchronized
String
Java-String类的常用方法总结
String类为什么是final的
定性(java中将String定为基本类型,与下面安全结合)
安全(不可变意味着并发时是安全的)
效率(无多态,不用查虚函数表)
【知乎】在java中String类为什么要设计成final?
java 集合
java集合框架:(图片来源)
List
LinkedList
Java集合—LinkedList源码解析
接口继承
双向循环链表
Map
Java集合—HashMap源码剖析
java源码分析之HashMap(评论区解释了为何 hash位置分配采取按位与的问题(为何与 lengh -1 相与))
排序
【Java学习笔记】<集合框架>对字符串进行长度排序
java Collections.sort()实现List排序的默认方法和自定义方法
java 并发
详细分析Java中断机制
Java线程之 InterruptedException 异常
线程池怎么做到线程重用?
java 并发容器
Java集合—ConcurrentHashMap原理分析
【方腾飞】聊聊并发(四)——深入分析ConcurrentHashMap
Java线程(七):Callable和Future
java异常
【较为简洁】Java异常分类
java IO
【知乎】 java中的io 流到底怎么理解?
底层
- JVM是在用户空间的,所以其IO需要经过内核去访问物理资源。
- 一个java程序打开IO,实际上通知内核去进行相应的IO设备传输,也就是说在IO读取的状态在内核中保存着,这就造成了一个问题。如果在程序中你不去关闭IO,那么内核中IO的状态始终是记录打开的状态(可能会有一定的自检机制),这就造成了给人一种资源被占用的假象。这也说明了,为何我们在java操作IO,操作数据库的时候需要控制关闭(因为java无法自动整理内核层面的东西)。(参考:《深入理解计算机系统》)
Java I/O底层是如何工作的?(参照:《深入理解linux内核》)
IO 的底层实现问题
传统IO
Java RandomAccessFile用法
- 【写入基本类型 & 读出基本类型】(在java中不同的数据类型占用不同数量的字节,所以将基本类型放入文件中时,形成不同的解析单元,比如说char可能占用了2位,而int占用了4位,因为单位不同,所以解析时需要人为干预)
- 【写入同一种基本类型】假如在写入文件的时候,都是字符串类型,并且指定了编码方式(如UTF-8),那么解析的时候,便可以按照规则(UTF-8的编码规则)进行解析(规律太明显,可批量解析)。
- 【java基本类型字节数】JAVA基本数据类型所占字节数是多少?(32位系统)
- 【多线程写文件】
NIO
攻破JAVA NIO技术壁垒
- Buffer
- Channel
- Selector
反射
【知乎】学习java应该如何理解反射?
PS:结合JVM对反射进行深入的讨论。
相关文章
- 暂无相关文章
用户点评