![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
文章平均质量分 56
七夜丶雪
听雪楼前听雪落,彼岸花开彼岸零
展开
-
Java并发之volatile详解
JVM内存区域线程独占区域程序计数器(Program Counter Register)概述 :程序计数器是一块个较小的内存空间, 它可以看做是当前线程所执行的字节码的行号指示器. 在虚拟机的概念模型里(仅是概念模型, 各种虚拟机可能通过一些更高效的方式去实现), 字节码解释器工作时就是通过改变这个计数器的值来选取下一条执行的字节码指令, 分支,循环,跳转,异常处理,线程恢复等基础功能...原创 2018-09-24 23:06:57 · 189 阅读 · 0 评论 -
JVM监控工具-jstat详解
概述监控JVM统计信息, 如gc信息, 类加载信息, JIT信息命令格式: jstat [ generalOption | outputOptions vmid [ interval[s|ms] [ count ] ]generalOption : jstat命令选项,如 -help或-optionsoutputOptions : 包含一个statOption的输出选项v...原创 2019-02-18 19:16:32 · 1180 阅读 · 0 评论 -
JVM监控工具-jps
概述用于查看操作系统上有哪些java进程, 类似于Linux系统下的ps命令, jps也支持查看远程主机上的java进程, 这个用处不大, 本文基于JDK8参数不加任何参数 : 显示进程id,以及main方法所在类名-q : 只显示进程id-m : 显示进程id,main方法所在类名, 以及传递给main方法的参数(如果有的话)-l : 展示类的完整路径或ja...原创 2019-02-17 15:05:35 · 591 阅读 · 0 评论 -
JDK8新特性-Optional类
概述JDK8 新增, 主要用于解决 NullPointException异常私有构造方法, 不允许通过new 获得一个Optional实例提供一系列静态工厂方法获得Optional对象value为空的Optional可以认为是一个空的OptionalAPI 简介empty 方法 private static final Optional<?> EMPTY =...原创 2019-01-13 22:48:19 · 2539 阅读 · 0 评论 -
JDK8新特性-Predicate 接口
概述JDK8 提供的函数式接口提供一个抽象方法test, 接受一个参数, 根据这个参数进行一些判断, 返回判断结果 true / false提供几个默认的default方法, and, or, negate 用于进行组合判断在流中被广泛使用test 方法 /** * 接收一个参数, 判断这个参数是否匹配某种规则, 匹配成功返回true, 匹配失败则返回false ...原创 2019-01-13 17:15:37 · 8196 阅读 · 0 评论 -
JDK8新特性-Function接口与BiFunction接口
Function 接口JDK8新增的函数式接口接口只有一个抽象方法apply, 接受一个T类型参数, 返回一个R类型参数, T, R表示泛型, 可以相同除了一个抽象的apply方法之外, Function存在两个默认的default方法, compose和andThen, 这两个方法都是用来组合不同的Function的这个函数式接口被大量应用于集合以及Stream(流)中apply ...原创 2019-01-13 16:02:11 · 3354 阅读 · 1 评论 -
线性结构-队列
队列特点线性结构队列对应的操作也是数组的子集只能从一端(队尾)添加元素,另一端(队首)取出元素先进先出(FIFO : First In First Out)实现自己的队列基于自己实现的动态数组实现队列,源码地址 :https://blog.csdn.net/love905661433/article/details/82909334同样可以使用JDK自带的ArrayList进行替...原创 2018-09-30 15:08:34 · 632 阅读 · 0 评论 -
线性结构-栈
栈的特点线性结构栈对应的操作是数组的子集只能从一端添加元素, 也只能从一端取出元素只能从栈顶操作入栈,出栈;又叫压栈和弹栈后进先出Last In First Out(LIFO)栈的应用Undo操作(撤销)程序调用系统栈, jvm方法区中的栈帧括号匹配-编译器实现一个栈这里使用了自己创建的动态数组, 具体代码参加博文:https://blog.csdn.net/lov...原创 2018-09-30 14:54:06 · 329 阅读 · 0 评论 -
线性结构-动态数组
数组是最简单的线性结构, 不过数组都是固定长度的, Java实现一个功能类似于ArrayList的动态数组package array;/** * 动态数组 * @author qiyexue * @param <E> */public class Array<E> { private int size; private E[] data; pu...原创 2018-09-30 14:44:11 · 239 阅读 · 0 评论 -
Java8新特性-lambda表达式简单解释
lambda表达式格式(参数) -> 单行语句; 不需要显式return, lambda表达式能自行判断出返回值(参数) -> {多行语句}; 如果方法有返回参数的话,需要显式的使用return(参数) -> 表达式;函数式接口对于只包含一个抽象方法的接口, 可以通过lambda表达式创建该接口的对象. 这种接口称为函数式接口可以使用@Functional...原创 2018-09-22 23:25:29 · 1155 阅读 · 0 评论 -
JVM工具-jstack
jstack打印线程堆栈信息, 支持支持本地java进程,core文件以及远程java进程命令格式jstack [ options ] pidjstack [ options ] executable corejstack [ options ] [ server-id@ ] remote-hostname-or-IPoptions : 功能选项pid : 要打印堆栈信息的Ja...原创 2019-02-20 08:02:37 · 1430 阅读 · 0 评论