随笔分类 -  学习笔记

1
摘要:## 准备编译工具Clion### 下载地址工具是macos用的系统[百度云盘下载地址(密码: 7dus)](https://pan.baidu.com/s/1zsPfhs3yP0-flGcuh64AqQ)## 下载mysql源码[Mysql源码下载地址](https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.4-rc.tar.g... 阅读全文
posted @ 2020-09-06 21:06 白羽流光 阅读(462) 评论(0) 推荐(0)
摘要:## 重载构造方法```javapublic class CreateObject1 { private String name; private String sex; private Integer age; private String addr; public CreateObject1(String name,String sex) { ... 阅读全文
posted @ 2020-09-04 15:33 白羽流光 阅读(184) 评论(0) 推荐(0)
摘要:我是七月中旬内推到蚂蚁金服,因为他们是新建的部门所以十分缺人,当天下午把简历写好发进去,晚上8点就接到电话说明天晚上可以面试。时过境迁,三年过去了很久没有面试,突然这么面试还是有点小紧张。## 一面 Leader面晚上8点整,面试官准时打电话过来,手机来电显示的是蚂蚁花呗,我以为是我花呗没交被人打电话催了。流程如下:* 自我介绍* 上来闲聊,问了对于扣费明细顺序的理解。* 事务ACID,其中详细问... 阅读全文
posted @ 2020-09-01 11:22 白羽流光 阅读(170) 评论(2) 推荐(0)
摘要:## 在VisualVM中下载BTrace插件![-w900](https://img2020.cnblogs.com/blog/1332881/202008/1332881-20200824141701862-1576029268.jpg)安装此插件并激活## 写调试程序```javapublic class BTraceTest { public int add(int a, int b... 阅读全文
posted @ 2020-08-24 14:17 白羽流光 阅读(193) 评论(0) 推荐(0)
摘要:垃圾回收器 概述 垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商、不同版本的JVM来实现。 由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本。 不同角度分析垃圾收集器,可以将GC分为不同的类型。 评估GC的性能指标 吞吐量:运行用户代码的时间占总运行时间的比例 阅读全文
posted @ 2020-07-06 09:13 白羽流光 阅读(221) 评论(0) 推荐(0)
摘要:垃圾回收 概述 什么是垃圾? 垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾 如果不及时对内存中的垃圾进行清理,那么,这些垃圾对象所占的内存空间会一直保留到应用程序结束,被保留的空间无法被其他对象使用。甚至可能导致内存溢出。 为什么需要GC? 对于高级语言来说,一个基本认知 阅读全文
posted @ 2020-07-02 13:55 白羽流光 阅读(231) 评论(0) 推荐(1)
摘要:StringTable String的基本特性 String:字符串,使用一对""引起来表示 String声明为final的,不可被继承。 String实现了Serializable接口:表示字符串是支持序列化的。实现了Compareable接口:表示String可以比较大小。 String在jdk 阅读全文
posted @ 2020-06-29 17:38 白羽流光 阅读(293) 评论(0) 推荐(0)
摘要:执行引擎 概述 执行引擎是Java虚拟机核心组成部分之一。 “虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系 阅读全文
posted @ 2020-06-29 17:36 白羽流光 阅读(135) 评论(0) 推荐(0)
摘要:对象的实例化内存布局与访问定位 对象的实例化 创建对象的方式 new 最常见的方式 变形1:XXX的静态方法 变形2:XXX的Builder/XXXFactory的静态方法 Class的newInstance():反射的方式,只能调用空参的构造器,权限必须是public Constructor的ne 阅读全文
posted @ 2020-06-29 17:35 白羽流光 阅读(226) 评论(0) 推荐(0)
摘要:方法区 栈、堆、方法区的关系 运行时数据区结构图 从线程共享与否角度来看 栈、堆、方法区的交互关系 这两幅图中: reference就是person Person就是对象类型数据 new Person就是对象实例数据 方法区的理解 《Java虚拟机规范》中明确说明:”尽管所有的方法区在逻辑上是属于堆 阅读全文
posted @ 2020-06-29 17:34 白羽流光 阅读(261) 评论(0) 推荐(0)
摘要:堆 堆的核心概述 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。 Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。是JVM管理的最大一块内存空间。 堆内存的大小是可以调节的。 《Java虚拟机规范》规定,堆可以处于物理上不连续的内存空间中,但在逻辑上它应该被视为连续 阅读全文
posted @ 2020-06-29 17:32 白羽流光 阅读(233) 评论(0) 推荐(0)
摘要:本地方法 什么是本地方法? 简单地讲,一个Native Method就是一个Java调用非Java代码的接口,一个Native Method是这样一个Java方法;该方法的实现由非Java语言实现,比如C。这个特征并非Java所持有,很多其他的编程语言都有这一机制,比如在C中你可以用extern “ 阅读全文
posted @ 2020-06-29 17:30 白羽流光 阅读(179) 评论(0) 推荐(0)
摘要:操作数栈 每一个独立的栈桢中除了包含局部变量表以外,还包含一个后进先出的操作数栈,也可以称之为表达式栈。 操作数栈,在方法执行过程中,根据字节码指令,往栈中写入数据或提取数据,即入栈/出栈 某些字节码指令将值压入操作数栈,其余的字节码指令将操作数取出栈。使用他们后再把结果压入栈。 比如:执行复制、交 阅读全文
posted @ 2020-06-29 17:29 白羽流光 阅读(1218) 评论(0) 推荐(0)
摘要:虚拟机栈 内存中的栈和堆 栈是运行时的单位,堆是存储的单位。 即:栈解决程序的运行问题,即程序如何执行,或者说如何处理数据。堆解决的是数据存储的问题,即数据怎么放、放在哪儿。 虚拟机栈的基本内容 Java虚拟机栈是什么? Java虚拟机,早期也叫Java栈。每个线程在创建时都会创建一个虚拟机栈,其内 阅读全文
posted @ 2020-06-29 17:28 白羽流光 阅读(247) 评论(0) 推荐(0)
摘要:PC Register程序计数器 JVM中的程序计数器,Register的命名源于CPU的寄存器,寄存器存储指令相关的线程信息。CPU只有把数据装载到寄存器中才能够运行。 这里,并非是广义上所指的物理寄存器,或许将其翻译为PC计数器会更加贴切(也称程序钩子),并且不容易引起不必要的误会。JVM中的P 阅读全文
posted @ 2020-06-29 17:26 白羽流光 阅读(309) 评论(0) 推荐(0)
摘要:运行时数据区 Java虚拟机定义了若干种程序运行时期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁。另外一些则是与线程一一对应,这些与线程对应的数据区域会随着线程的开始和结束而创建和销毁。 灰色的为单独线程私有的,红色的为多个线程共享的。即 每个线程:独立包括程序计 阅读全文
posted @ 2020-06-29 17:24 白羽流光 阅读(191) 评论(0) 推荐(0)
摘要:## 运行时数据区及线程### 运行时数据区![](https://img2020.cnblogs.com/blog/1332881/202006/1332881-20200621205126733-932097060.jpg)Java虚拟机定义了若干种程序运行时期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁。另外一些则是与线程一一对应,这些与线程对应的数据区域... 阅读全文
posted @ 2020-06-21 20:53 白羽流光 阅读(1092) 评论(1) 推荐(0)
摘要:Java的泛型详解 泛型的好处 编写的代码可以被不同类型的对象所重用。 因为上面的一个优点,泛型也可以减少代码的编写。 泛型的使用 简单泛型类 上面例子可以看出泛型变量为T; 用尖括号()括起来,并放在类名后面; 泛型还可以定义多个类型变量比如上面的例子 first和second不同的类型: 注: 阅读全文
posted @ 2020-05-20 17:31 白羽流光 阅读(869) 评论(1) 推荐(3)
摘要:class.getFields的定义 返回类提供的public域包括超类的共有变量; class.getDeclareFields的定义 返回类中声明的全部域,其中包括私有和受保护的成员,但是不包括父类的成员. 代码演示 1.定义一个Account类 2.定义一个User类继承了Account类 3 阅读全文
posted @ 2020-05-19 11:38 白羽流光 阅读(789) 评论(0) 推荐(0)
摘要:类加载 在JAVA代码中,类型(指类的本身比如class、interface、枚举,不代表对象比如new出来的实例)的加载(其中一种为:将已经存在的类class文件从磁盘上加载到内存中)、连接(将类与类关系处理好)与初始化过程(类的静态变量赋值)都是在程序运行期间( RUNTIME )完成的。 提供 阅读全文
posted @ 2020-05-08 16:47 白羽流光 阅读(213) 评论(0) 推荐(0)

1