JVM笔记:运行时数据区-程序计数器(PC寄存器)
1 程序计数器作用
它是一块很小的内存空间, 几乎可以忽略不记。也是运行速度最快的存储区域。
在JVM 规范中, 每个线程都有它自己的程序计数器, 是线程私有的, 生命周期与线程的生命周期保持一致。
任何时间一个线程都只有一个方法在执行, 也就是所谓的当前方法。程序计数器会存储当前线程正在执行的 ...
JVM笔记:类加载子系统
1 内存结构概述1.1 结构图
1.2 更详细的结构图
2 类加载子系统作用
类加载器子系统负责从文件系统或者网络中加载Class 文件, class 文件在文件开头有特定的文件标识。
ClassLoader只负责class文件的加载, 至于它是否可以运行, 则由Execution Engine ...
JVM笔记:JVM与Java体系结构
1 Java及字节码1.1 Java生态圈Java 是目前应用最为广泛的软件开发平台之一。随着Java 以及Java 社区的不断壮大,Java 也早己不再是简简单单的一门计算机语言, 它更是一个平台、一种文化、个社区。
作为一个平台, Java 虚拟机扮演着举足轻重的作用。
Groovy 、Sca ...
SpringBoot接入微信支付
1 开发需要的参数
mchId: 商户号
appId:用户id
key:密钥
certLocalPath:证书路径
2 引入第三方支付接口xml1234567<!-- 微信支付 第三方接口--><!-- https://github.com/Wechat-Group/WxJava ...
SpringBoot接入支付宝支付
1 开发前的准备1.1 密钥的的生成先去官网下载支付宝平台助手,下载地址:https://opendocs.alipay.com/open/291/105971 ,下载并安装平台助手,使用平台助手生成应用公钥和应用私钥。
1.2 创建应用配置账号信息沙箱账号申请地址:https://openhome ...
Java学习笔记(十四):MySQL数据库
1 数据库的基本概念1.1 什么是数据库数据库(DataBase,简称:DB),是一个用于存储和管理数据的仓库。
1.2 数据库的特定
持久化存储数据。数据库其实是一个文件系统。
方便存储和管理数据。
使用统一的方式操作数据库——SQL。
1.3 常用的数据库可以通过网址:https:// ...
Java学习笔记(十三):Junit单元测试、反射、注解
1. Junit单元测试1.1 测试分类
黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
白盒测试:需要写代码的。关注程序具体的执行流程。
1.2 Junit使用Junit测试属于白盒测试。
使用步骤如下:
定义一个测试类(测试用例)
如:
测试类名:被测试的类名Test ...
Java学习笔记(十二):方法引用
在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿什么参数做什么操作。那么考虑一种情况:如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,那是否还有必要再写重复逻辑?
1 冗余的Lambda场景来看一个简单的函数式接口以应用Lambda表达式:
ja ...
Java学习笔记(十一):Stream流
说到Stream便容易想到I/O Stream,而实际上,谁规定“流”就一定是“IO流”呢?在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端
1 引言1.1 传统集合的多步遍历代码几乎所有的集合(如 Collection ...
Java学习笔记(十):函数式接口
1 函数式接口1.1 概念函数式接口在Java中是指:有且仅有一个抽象方法的接口。
函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进 ...