07 2018 档案
摘要:一、java运行时数据区域 Java虚拟机在执行java程序的过程中将它所管理的内存划分为若干个不同的数据区域,每个区域都有各自的用途,以及创建和销毁的时间。具体的如下图所示: 总体上来说JVM内存结构主要有三大块:堆内存、方法区和栈。堆内存细分为年轻代和老年代(老年代空间大小=堆空间大小-年轻代大
阅读全文
摘要:一、ArrayList与Vector ArrayList与Vector很多地方大同小异,Vector现在已经基本不再使用。具体的管理如下:1.ArrayList与Vector都实现了List接口,底层都是基于动态数组实现。 2.ArrayList与Vector底层数组初始大小均为10。 3.Arra
阅读全文
posted @ 2018-07-30 21:40
~直落银河九天~
摘要:一、ThreadLocal定义 ThreadLocal是一个可以提供线程局部变量的类,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路,通过为每个线程提供一个独立的变量副本解决了变量并发访问的冲突问题。在很多情况下,ThreadLocal比直接使用synchronized同步机制解
阅读全文
posted @ 2018-07-30 21:39
~直落银河九天~
摘要:一、java内存模型 1.java内存模型 程序运行过程中的临时数据是存放在主存(物理内存)中,但是现代计算机CPU的运算能力和速度非常的高效,从内存中读取和写入数据的速度跟不上CPU的处理速度,在这种情况下,CPU高速缓存应运而生。基于高速缓存的存储交互很好地解决了处理器与内存的速度矛盾,但是出现
阅读全文
posted @ 2018-07-25 20:18
~直落银河九天~
摘要:一、HashMap 定义 HashMap 是一个基于散列表(哈希表)实现的键值对集合,每个元素都是key-value对,jdk1.8后,底层数据结构涉及到了数组、链表以及红黑树。目的进一步的优化HashMap的性能和效率。允许key和value为NULL,同样非线程安全。 ①、继承AbstractM
阅读全文
posted @ 2018-07-21 13:43
~直落银河九天~
摘要:一、ArrayList 定义 ArrayList 是一个用双向链表实现的集合,支持随机访问,元素有序且可以重复。同样是非线程安全的,只在单线程下适合使用。 ①、实现 List 接口 List接口继承Collection接口,是List类的顶层接口,定义了大量方法,子类可进行个性化实现 ②、继承Abs
阅读全文
posted @ 2018-07-19 17:22
~直落银河九天~
摘要:一、Lock的出现 Lock的主要作用实现线程之间的同步互斥,与synchronized关键字的效果是一样的,synchronized是Java语言内置的特性,那么为什么又出现了Lock呢?原因是synchronized不是完美的,那么synchronized的缺陷在哪里呢? ①、通过synchro
阅读全文
posted @ 2018-07-18 23:17
~直落银河九天~
摘要:java中实现线程通信的四种方式 1.synchronized同步 多个线程之间可以借助synchronized关键字来进行间接通信,本质上是通过共享对象进行通信。如下: 结果输出: 2.while轮询的方式 一个线程修改共享对象的某个属性,另外一个线程不断的轮训查看共享对象的这个属性是否发生符合条
阅读全文
posted @ 2018-07-18 17:17
~直落银河九天~
摘要:一、ArrayList 定义 ArrayList 是一个用数组实现的集合,支持随机访问,元素有序且可以重复。 ①、实现 List 接口 List接口继承Collection接口,是List类的顶层接口,定义了大量方法,子类可进行个性化实现 ②、实现RandomAccess接口 RandomAcces
阅读全文
posted @ 2018-07-17 23:48
~直落银河九天~
摘要:一、线程安全 1.线程安全的概念 线程安全:某个类被单个线程,或者多个线程同时访问,所表现出来的行为是一致,则可以说这个类是线程安全的。 2.什么情况下会出现线程安全问题 在单线程中不会出现线程安全问题,在多线程编程的情况下,并且多个线程访问同一资源的情况下可能出现线程安全问题。如下面的例子,出现典
阅读全文
posted @ 2018-07-17 22:34
~直落银河九天~
摘要:一、Thread类的构成 Thread类实现Runnable接口。部分源码如下: 二、Thread类常用方法 1.currentThread()方法 currentThread()方法可以返回代码段正在被哪个线程调用的信息,使用如下: 结果输出: 结果输出: 2.isAlive()方法 isAliv
阅读全文
posted @ 2018-07-16 22:00
~直落银河九天~
摘要:一、多线程基础知识 1.进程和线程 进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。 线程:进程内部的一个独立执行单元;一个进程可以同时并
阅读全文
posted @ 2018-07-16 16:51
~直落银河九天~
摘要:一、集合框架 集合,通常也叫容器,java中有多种方式保存对象,集合是java保存对象(对象的引用)的方式之一,之前学习的数组是保存对象的最有效的方式,但是数组却存在一个缺陷,数组的大小是固定的,但是往往我们在写程序的时候,并不知道需要保存多少个对象,或者是否需要用更复杂的方式来存储对象。而java
阅读全文
posted @ 2018-07-15 13:04
~直落银河九天~
摘要:1、什么是 随机访问文件流 RandomAccessFile 这个类在很多资料上翻译成中文都是:随机访问文件,在中文里,随机是具有不确定的含义,指一会访问这里,一会访问那里的意思。如果以这种语义来解释的话,就会感到很困惑。其实,Random在英文中不仅仅有随机,还有任意的意思。如果中文名为任意访问文
阅读全文
posted @ 2018-07-12 15:56
~直落银河九天~
摘要:一、Java IO的定义 I/O:输入输出系统,由输入输出控制系统和外围设备两部分组成。 Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。java类库中的I/O类分为输入和输出两部分。 Ja
阅读全文
posted @ 2018-07-11 22:18
~直落银河九天~
摘要:一、File类 File类具备一定的误导性,可能容易认为它指代的是文件,实际并非如此,它既能代表一个特定文件的名称,又能表示一个目录下一组文件的名称。简而言之,File类是文件或者目录路径名的抽象表示,可以帮助我们处理文件目录的问题。 注意:File类只能操作文件的属性,文件的内容它是无法操作的,需
阅读全文
posted @ 2018-07-10 21:48
~直落银河九天~
摘要:一、注解的定义 1.注解(Annotation),也叫元数据。它是jdk1.5后引入的一个新的特性。与类,接口,枚举是同一个层次。可以声明在类、字段、方法、局部变量、方法参数等的前面。注解也属于一种类型,有自己的语法 如上所示,声明一个注解很简单,使用@interface声明TestAnnotati
阅读全文
posted @ 2018-07-07 13:00
~直落银河九天~
摘要:一、序列化和反序列化的定义 1.序列化:把java对象转换为二进制字节序列的过程 反序列化:把二进制字节恢复为对象的过程。 2.序列化的主要用途 把一个java对象通过序列化后永久的保存到硬盘上,例如通过文件保存在硬盘上 在网络上通过流传送对象的字节序列 二.序列化和反序列化使用 在java中,只有
阅读全文
posted @ 2018-07-07 00:09
~直落银河九天~
摘要:一、何谓数组? 1.数组是一种复合数据类型,是系列有序数据的集合,特点是数组中每一个数据的数据类型一定是相同的,通过索引可以快速定位数组中元素,获取数组中数据速度非常快。在java中,数组本质上是对象。数组是保存一组对象最有效一种方式,同样数组是一种效率最高的存储和 随机访问对象引用序列的方式,缺点
阅读全文
posted @ 2018-07-06 23:59
~直落银河九天~
摘要:枚举 enum:关键字enum可以将一组具名的值的有限集合创建成为一种新的类型。 1.枚举的简单使用 结果输出: 从结果可能觉得很奇怪,定义了一个枚举,如果把它看做一个类的话,为什么可以调用values()、ordinal()方法,这些方法我们自己从未定义。这些方法哪里来的呢?实际上是在创建枚举的时
阅读全文
posted @ 2018-07-05 22:39
~直落银河九天~
摘要:1.class对象在java中一切都是对象,从某种意义上,java中的对象可以分为:实例对象和Class对象。实例对象通过new关键得到,那么Class对象呢?Class对象无法通过new关键字获取,在类加载的过程中,JVM生成一个与加载的字节码文件相关的class对象。通过类名可以获取对应Clas
阅读全文
posted @ 2018-07-05 21:57
~直落银河九天~
摘要:一、字符串String 1、字符串操作可以说是我们在java中使用最频繁的操作之一,String不是基本类型,而是一个引用类型,查看jdk源码可以知道String这个类是被final修饰的,这就意味着String是不能被继承的,类中的方法默认是final方法。这或许是对字符串String的一种保护。
阅读全文
posted @ 2018-07-02 23:22
~直落银河九天~
摘要:对象的克隆 1、克隆即复制的意思,对象的克隆,意味着生成一个对象,这个对象和某个对象的属性和行为是一致的,但是这个对象和源对象是两个不同的对象。实现对象的克隆,方法是实现Cloneable接口,否则会报异常CloneNotSupportedException 输出: 从结果我们可以知道,两个引用指向
阅读全文
posted @ 2018-07-02 21:47
~直落银河九天~
摘要:一、什么是异常 java的基本理念是“结构不佳的代码不能运行”,在编译期间并不能发现所有的错误,余下的问题必须在运行阶段解决。异常处理是java中唯一正式的错误报告机制。异常情形是指阻止当前的方法或者作用域继续执行的问题。在java中通过异常处理机制来处理程序运行期间出现的错误,提升程序的健壮性。
阅读全文
posted @ 2018-07-01 02:01
~直落银河九天~

浙公网安备 33010602011771号