Java进阶
Java进阶知识
我不是忘尘
一只喜欢古风歌的程序猿
展开
-
JVM内存划分详解
本文摘抄自《深入理解Java虚拟机:JVM高级特性与最佳实践》目录程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量池方法区和堆是由所有线程共享的数据区虚拟机栈、本地方法栈、程序计数器是线程隔离的数据区程序计数器程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型中,字节码解释器工作时就是通过改变这个计数器的值来选择需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要这个计数器来完成。由于Java虚拟机的多线程是通过原创 2020-08-08 21:05:24 · 325 阅读 · 0 评论 -
Java多线程基础(三)Lock锁与死锁
目录Lock锁Lock和synchronized的区别死锁Lock锁Lock是一个接口,接口的实现类是ReentrantLockLock lock=new ReentrantLock();try{ lock.lock();//获得锁}catch(Exception ex){ }finally{ lock.unlock(); //释放锁}实例:两个人向一...原创 2020-03-25 21:09:24 · 353 阅读 · 0 评论 -
Java多线程基础(二)
目录线程中断线程让步线程同步通过单例模式了解同步线程中断interrupt()方法当前线程如果处于sleep()或join()状态并被其他线程中断的话,会引发中断异常,进入异常处理如果没有处于sleep()或join()状态使被其他线程中断,不会引发异常,不会进入异常处理class MyThread1 implements Runnable{ @Override public voi...原创 2020-03-25 20:09:42 · 94 阅读 · 0 评论 -
Java 多线程基础(一)
目录线程简介进程与线程并发线程状态线程生命周期线程实现三种实现方式的比较多线程实现线程的优先级线程简介进程与线程进程(Process) 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。是计算机中的程序关于某数据集合上的一次运行活...原创 2020-03-23 20:17:58 · 245 阅读 · 0 评论 -
Java 简单使用字符流
目录文件流缓冲流以字符为单位读写。字符流只能用于 文本文件。(jpg等不能用)文件流节点流:提供基本的文件读写。FileReader:FileWriter:读: public static void main(String[] args) throws IOException { // 读 // 1. FileReader fr = new FileReader(...原创 2020-03-22 20:40:28 · 108 阅读 · 0 评论 -
Java 简单使用字节流
目录文件流文件中有中文时使用try-cath-finally处理方式:输出缓冲流Scanner 扫描器类对象流文件流节点流:FileInputStream: 输入流FileOutputStream:输出流读的步骤: public static void main(String[] args) throws IOException { // f:/data/a.txt 读取 在控制...原创 2020-03-22 20:03:25 · 255 阅读 · 0 评论 -
Java Hashtable详细介绍
目录第1部分 Hashtable介绍第2部分 Hashtable数据结构第3部分 Hashtable源码解析(基于JDK1.6.0_45)第3.1部分 Hashtable的“拉链法”相关内容3.1.1 Hashtable数据存储数组3.1.2 数据节点Entry的数据结构第3.2部分 Hashtable的构造函数第3.3部分 Hashtable的主要对外接口3.3.1 clear()3.3.2 c...转载 2020-03-22 14:57:15 · 12998 阅读 · 0 评论 -
Java TreeSet详细介绍
目录第1部分 TreeSet介绍第2部分 TreeSet数据结构第3部分 TreeSet源码解析(基于JDK1.6.0_45)第4部分 TreeSet遍历方式4.1 Iterator顺序遍历4.2 Iterator逆序遍历4.3 for-each遍历HashSet第5部分 TreeSet示例第1部分 TreeSet介绍TreeSet简介TreeSet 是一个有序的集合,它的作用是提供有序的S...转载 2020-03-22 14:26:10 · 436 阅读 · 0 评论 -
Java HashSet详细介绍
目录第1部分 HashSet介绍第2部分 HashSet数据结构第3部分 HashSet源码解析(基于JDK1.6.0_45)第4部分 HashSet遍历方式4.1 通过Iterator遍历HashSet4.2 通过for-each遍历HashSet第5部分 HashSet示例第1部分 HashSet介绍HashSet 简介HashSet 是一个没有重复元素的集合。它是由HashMap实现...转载 2020-03-22 14:06:31 · 675 阅读 · 0 评论 -
Java集合之Set简介
Set 是继承于Collection的接口。它是一个不允许有重复元素的集合。AbstractSet是一个抽象类,它继承于AbstractCollection,AbstractCollection实现了Set中的绝大部分函数,为Set的实现类提供了便利。HastSet 和 TreeSet 是Set的两个实现类。HashSet依赖于HashMap,它实际上是通过HashMap实现的。Has...转载 2020-03-22 12:31:58 · 296 阅读 · 0 评论 -
Java HashMap详细介绍
目录第1部分 HashMap介绍第2部分 HashMap数据结构第3部分 HashMap源码解析(基于JDK1.6.0_45)第3.1部分 HashMap的“拉链法”相关内容3.1.1 HashMap数据存储数组3.1.2 数据节点Entry的数据结构第3.2部分 HashMap的构造函数第3.3部分 HashMap的主要对外接口3.3.1 clear()3.3.2 containsKey()3....转载 2020-03-22 12:25:16 · 353 阅读 · 0 评论 -
简单了解JavaMap
参考链接目录概要1 Map2 Map.Entry3 AbstractMap4 SortedMap5 NavigableMap6 Dictionary概要如上图:(01) Map 是映射接口,Map中存储的内容是键值对(key-value)。(02) AbstractMap 是继承于Map的抽象类,它实现了Map中的大部分API。其它Map的实现类可以通过继承AbstractMap来减少...转载 2020-03-22 10:18:30 · 188 阅读 · 0 评论 -
Java文件简述
目录文件常用方法目录常用方法获得目录内容FilenameFileter :文件名过滤器FileFilter:文件过滤器文件常用方法boolean exists() 该路径表示的文件或目录是否存在long length() 返回文件的长度boolean canRead() 文件是否可读boolean canWrite() 文件是否可写boolean delete() 删除路径名表示的...原创 2020-03-21 21:44:34 · 137 阅读 · 0 评论 -
Java集合之Collection
目录集合与数组的区别Collection常用方法List集合List的方法List接口子实现类的特点集合遍历Iterator迭代器ListIterator迭代器ArrayListLinkedListArrayList 和LinkedList区别ArrayList 和 Vector 区别集合与数组的区别数组:1.存储 基本类型 和 引用类型的数据2.长度是固定的。集合:1.只能存储引用类...原创 2020-03-17 22:22:47 · 398 阅读 · 0 评论 -
Java-ArrayList扩容机制
参考链接ArrayList简介ArrayList实现了List接口,它是一个可调整大小的数组,可以用来存放各种形式的数据。它是线程非安全的,按照插入的顺序来存储数据。ArrayList的主要成员变量:private static final int DEFAULT_CAPACITY = 10;//数组默认初始容量 private static final Object[] EMPTY_...转载 2020-03-17 17:36:48 · 365 阅读 · 0 评论