编程基础 Java
文章平均质量分 92
白水不开
这个作者很懒,什么都没留下…
展开
-
JAVA基础(13)——序列化
JAVA基础系列规划:JAVA基础(1)——基本概念JAVA基础(2)——数据类型JAVA基础(3)——容器(1)——常用容器分类JAVA基础(4)——容器(2)——普通容器JAVA基础(5)——并发(1)——总体认识JAVA基础(6)——并发(2)——原子JAVA基础(7)——并发(3)——锁机制JAVA基础(8)——并发(4)——线程池JAVA基础(9)——容器(3)——并发容原创 2016-11-22 22:31:48 · 997 阅读 · 0 评论 -
JAVA基础(1)——基本概念
Java是面向对象的语言,面向对象思想将所有东西都看作对象,对象和对象之间通过行为进行沟通,不断的产生问题和解决问题。1. 概念类、对象对象是一个具体的实例,类是对象的抽象。类似:人(抽象的类)—> 张三(具体的人对象)。类由属性和方法构成,属性描绘了类的特点,而方法描述了类的功能。封装这种将所有的属性方法包装在一起的方法,就是封装。封装是为了实现信息隐藏,不仅指类中包含了哪些特性和行为,还包括规定原创 2016-10-29 17:14:57 · 1289 阅读 · 0 评论 -
JAVA基础(2)——数据类型
JAVA基础系列规划:JAVA基础(1)——基本概念JAVA基础(2)——数据类型JAVA基础(3)——容器(1)——常用容器分类JAVA基础(4)——容器(2)——普通容器JAVA基础(5)——并发(1)——总体认识JAVA基础(6)——并发(2)——原子JAVA基础(7)——并发(3)——锁机制JAVA基础(8)——并发(4)——线程池JAVA基础(9)——容器(3)——并发容原创 2016-11-22 22:22:06 · 1152 阅读 · 0 评论 -
JAVA基础(3)——容器(1)——常用容器分类
从元素存储的角度看,容器是存储元素的单元,这样来看,数据类型都是容器。在这里,遵从jdk的定义,将容器定义为jvm持有对象的单元。Java类库提供了一套相当完整的容器类,使用这些类的方法可以保存和操纵对象。常用容器如下表:(图片来自网络,已忘记出处,见谅)以下内容基于jdk1.8。在这里,集合类分为了Map和Collection两个大的类别。图片左上角的那一块灰色里面的四个类(原创 2016-10-29 14:08:26 · 6042 阅读 · 0 评论 -
JAVA基础(4)——容器(2)——普通容器
1. ListVector从Vector源码看:Vector自jdk1.0出现。Vector继承AbstractList,实现了List、RandomAccess、Cloneable、Serializable。Vector内部维护着protected Object[] elementData,会序列化整个数组,包括未存储数据的区域。Vector初始容量为10,容量是动态变化的,容量增长为((原创 2016-10-29 14:29:49 · 1441 阅读 · 0 评论 -
JAVA基础(10)——IO、NIO
IO 是主存和外部设备 ( 硬盘、终端和网络等 ) 拷贝数据的过程。 IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成。1. 标准IOJava 标准 IO 类库是 io 面向对象的一种抽象。基于本地方法的底层实现,我们无须关注底层实现。从处理数据类型上,可以分为字节流和字符流;从数据流向上,可以分为输入流和输出流。 - 字节流 字符流 输入流 InputStrea原创 2016-10-29 16:23:24 · 493 阅读 · 0 评论 -
JAVA基础(11)——泛型
先看这样一段小程序:public class GenericType { public static void main(String[] args) { ArrayList al = new ArrayList(); al.add("hello world!"); String s = al.get(0); //编译不通过 S原创 2016-10-29 14:54:33 · 661 阅读 · 0 评论 -
JAVA基础(12)——反射
1 概述反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。1.1 Java中的反射机制反射允许动态地发现和绑定类、方法、字段,以及所有其它的由语言所产生的元素。反射不仅可以列举类、字段以及方法,还可以在需要时完成创建实例、调用方法以及访问字段的工作。反射是Java被视为动态(或准动态)语言的关键。Java反射机制主要提供一下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一原创 2016-10-26 18:05:14 · 730 阅读 · 0 评论 -
JAVA基础(9)——容器(3)——并发容器
1. ListCopyOnWriteArrayListpublic class CopyOnWriteArrayList implements List, RandomAccess, Cloneable, java.io.Serializable源自jdk1.5。通常被认为是ArrayList的线程安全变体。CopyOnWriteArrayList内部也由可变数组实现原创 2016-10-29 14:45:22 · 1252 阅读 · 0 评论 -
JVM原理及调优(7)——JDK常用内置工具
系列文章规划:JVM基础(1)——内存模型JVM基础(2)——内存管理JVM基础(3)——编译机制JVM基础(4)——类加载机制JVM基础(5)——垃圾回收和调优JVM基础(6)——G1收集器及G1日志分析JVM基础(7)——jdk常用内置工具JDK常用内置工具(基于jdk8) 工具 用途 jps 列出已装载的JVM jstack 打印线程堆栈信息 jsta原创 2016-11-22 13:10:07 · 6085 阅读 · 1 评论 -
JVM原理及调优(5)——垃圾回收和调优
认识GC1 GC2 GC工作4 GC算法5 GC类型监控GC调优GC当应用规模达到一定量级时,GC对项目性能的影响会放大,我们需要通过GC调优实现了项目性能的提升。这不仅考验着我们对GC工作原理的理解,也考验着我们对应用特性的理解,是通往优秀程序员的必由之路。下面,我们通过浅显易懂的文字介绍一下GC调优。1. 认识GC首先,我们需要认识GC。知道什么是G原创 2016-10-21 13:48:56 · 1960 阅读 · 0 评论 -
JVM原理及调优(6)——G1收集器及G1日志分析
系列文章规划:JVM基础(1)——内存模型JVM基础(2)——内存管理JVM基础(3)——编译机制JVM基础(4)——类加载机制JVM基础(5)——垃圾回收和调优JVM基础(6)——G1收集器及G1日志分析JVM基础(7)——jdk常用内置工具1 G1简介1.1 概述G1 (Garbage-First)是一款面向服务器的垃圾收集器,主要针对配备多核处理器及大...原创 2016-11-15 12:57:47 · 13592 阅读 · 0 评论 -
JVM原理及调优(1)——内存模型
1. 基本概念1.1 顺序一致性程序执行最简单的模型就是按照指令出现的顺序执行,这叫顺序一致性模型。是一个理想化的内存模型。有以下规则:一个线程中的所有操作必须按照程序的顺序来执行。所有线程都只能看到一个单一的操作执行顺序。在顺序一致性内存模型中,每个操作都必须原子执行且立刻对所有线程可见。1.2 重排序但人为指定的顺序并不能总是保证符合CPU处理的特性,因此现代计算机体系和处理器架构都不保证原创 2016-11-21 20:56:23 · 2940 阅读 · 0 评论 -
JVM原理及调优(2)——内存管理
//TODO参考文献JVM自动内存管理:内存区域基础概念(视频)JDK,JRE,JVM区别与联系Java虚拟机的内存组成以及堆内存介绍Java之美[从菜鸟到高手演变]之JVM内存管理及垃圾回收Java堆内存与栈内存的区别Java 堆和栈的区别)原创 2016-11-21 20:56:53 · 1091 阅读 · 0 评论 -
JVM原理及调优(3)——编译机制
JVM只能够识别Class文件,Java源文件需要经过编译器编译生成字节码文件。1. 编译在 Java 中提到“编译”,自然很容易想到 javac 编译器将.java文件编译成为.class文件的过程,这里的 javac 编译器称为前端编译器,其他的前端编译器还有诸如 Eclipse JDT 中的增量式编译器 ECJ 等。相对应的还有后端编译器,它在程序运行期间将字节码转变成机器码(现在的 Java原创 2016-11-21 20:57:59 · 1094 阅读 · 0 评论 -
JVM原理及调优(4)——类加载机制
类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持 Java 语言的运行时绑定(也成为动态绑定或晚期绑定)。另外注意这里的几个阶段原创 2016-11-21 20:59:51 · 1720 阅读 · 0 评论 -
Java基础总结
安装JDK 弄清楚各个目录的用途。使用命令行工具javac编译,java命令运行程序。Java的包(package)对.class文件所在的路径的影响。JDK,JRE,JVM区别与联系面向对象编程 基本数据结构、表达式、语句、控制流、函数调用。类、引用类型和值类型的区别、成员、方法、访问控制、继承、多态、接口、接口实现。面向对象的基本思想,即对象、消息、封装、继承、多态等,这些通...原创 2018-07-07 09:49:02 · 835 阅读 · 0 评论