自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

转载 偏向锁、轻量级锁、重量级锁

记录,学习播客:Java中的偏向锁,轻量级锁, 重量级锁解析_萧萧九宸的博客-CSDN博客_java 轻量级锁

2022-04-06 15:44:36 100

原创 JVM-学习笔记总结-类的验证

【深入理解java虚拟机】学习随记【验证】 是连接的第一个阶段,这一阶段的目的是确保Class文件的字节流中包含的信息符合《JAVA虚拟机规范》的全部约束要求,确保虚拟机的安全性。验证主要分以下三个阶段文件格式验证 验证字节流是否符合class文件格式的规范,并且被当前版本虚拟机处理,验证点如下:1. 是否以魔数0xACFEBABE开头;2 主次版本号是都在当前虚拟机接受范围之内; 3 常量池中的常量是否又不被支持的常量类型(检查常量tag标志);3 指向常量的各...

2021-11-27 21:16:53 220

原创 JVM-学习笔记总结:类加载的时机

一个类从被加载到虚拟机中,到生命周期结束被卸载出内存开始,它的整个生命周期将会经历如下图的七个阶段。其中,加载、验证、准备、初始化、卸载这五个阶段的执行开始时机的先后顺序是确定的(注意,是开始执行,不是进行顺序和完成顺序,彼此执行是相互交叉混合及逆行的,会在一个阶段的执行中激活另外一个阶段的执行)。而解析阶段时机不确定(因为在某些情况下可以在初始化之后再开始,这是为了支持java语言的运行时绑定的热特性,也被称为动态绑定或晚期绑定)。其中,对于第一个阶段加载,没有进行强制性约束,整个交给虚.

2021-11-25 19:58:19 594

原创 JVM-学习笔记总结:变量槽slot的理解

1. 关于slot的理解局部变量表中,最基本的存储单元为slot(变量槽)。 参数值的存放总在局部变量数组的index 0 开始,到数组长度-1的索引结束。 局部变量表中存放编译器可知的各种基本数据类型(8种),引用类型(reference),returnAddress类型的变量 在局部变量表中 32位以内的类型只占用一个slot(包括上面提到的returnAddress类型),64位的类型占用两个. byte short char在存储前被转化为int , boolean在存储前 也被转...

2021-11-24 20:44:23 905

原创 VMware的Linux虚拟机桥接模式突然上不了网解决方法

虚拟机的IP、子网掩码、默认网关、DNS设置得与宿主机在同一子网,虚拟机桥接模式一直以来都可以正常上网,但突然有一天就不能上网了,还死活ping不通外网、网关。此时只需将VM的虚拟网络编辑器中关于桥接模式的设置改一下就行了,具体步骤如下。1 打开“网络和Internet”设置更改适配器选项。2、查看window系统联网使用的网卡, 记住设备名。3、打开VMware, 点击编辑>虚拟网络编辑器。在弹出界面点击更改设置。4、桥接模式选择你刚才看到的联网的网卡名, 点击应用,确.

2020-08-13 17:39:59 1903 1

转载 LINUX系统vim指令提示command not found问题解决

LINUX系统vim指令提示command not found问题解决我们在安装完Centos后,它默认的是安装了VI编辑器,VIM是没有安装的,所以我们在使用vim test.txt时会提示: vim command not found 。。。 这就是说明我们的Linux环境没有安装vim编辑器,下面我们来说一下如何安装这个编辑器:vim编辑器需要安装三个包:vim-enhanced-7.0.109-7.el5vim-minimal-7.0.109-7.el5vim-common-7.0.10

2020-07-23 10:57:20 4533

转载 synchronized学习记录

synchronized关键字最主要的三种使用方式修饰实例方法,作用于当前对象的实例加锁,进入同步代码块之前要获得当前对象实例的锁 修饰静态方法,作用于当前类对象加锁,进入代码块之前要获得当前类对象的锁也就是给当前类加锁,会作用于类的所有对象实例,因为静态成员不属于任何一个实例对象,是类成员( static 表明这是该类的一个静态资源,不管new了多少个对象,只有一份,所以对该类的所有对象都加了锁)。所以如果一个线程A调用一个实例对象的非静态 synchronized 方法,而线程B需要调用这个实

2020-07-17 16:14:27 91

原创 Java内存区域学习

Java内存区域学习记录java的一大优势就是在虚拟机的自动内存的管理机制下,我们程序员不需要对于内存进行控制,把其控制权交给了java虚拟机。但是我们还是得学习java的内存区域,因为一旦出现内存方面的问题,我们必须了解虚拟机是怎样使用的。1.运行时数据区域Java虚拟机在执行的时候会把它管理的内存划分为若干个不同的数据区域。这些区域有一部分是线程私有的,有一部分是线程共享的线程私有的:程序计数器 虚拟机栈 本地方法栈线程共享的:堆 方法区 直接内存1.1.

2020-07-16 09:36:50 92

原创 源码学习---ArrayList的扩容源码分析

ArrayList的扩容源码分析源码如下://下面是ArrayList的扩容机制//ArrayList的扩容机制提高了性能,如果每次只扩充一个,//那么频繁的插入会导致频繁的拷贝,降低性能,而ArrayList的扩容机制避免了这种情况。 /** * 如有必要,增加此ArrayList实例的容量,以确保它至少能容纳元素的数量 * @param minCapacity 所需的最小容量 */ public void ensureCapacity(int minCapacity

2020-07-15 17:40:42 90

原创 学习事务笔记

事务Transaction其实指的一组操作,里面包含许多个单一的逻辑。只要有一个逻辑没有执行成功,那么都算失败。 所有的数据都回归到最初的状态(回滚)*为什么要有事务?为了确保逻辑的成功。 例子: 银行的转账。使用命令行方式演示事务。开启事务start transaction;提交或者回滚事务commit; 提交事务, 数据将会写到磁盘上的数据库 rollback ; 数据回滚,回...

2020-07-15 17:30:31 82

转载 HashMap 的多种遍历方法以及性能分析!

来自:Java中文社群随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题。本文先从 HashMap 的遍历方法讲起,然后再从性能、原理以及安全性等方面,来分析 HashMap 各种遍历方式的优势与不足,本文主要内容如下图所示:HashMap 遍历HashMap 遍历从大的方向来说,可分为以下 4 类:迭代器(Iterator)方式遍历;For Each 方式遍历;Lambda 表达式遍历(.

2020-07-14 16:18:19 170

原创 数组转换为ArrayList和Arrays.asList()的使用

对于数组转化成集合的学习记录我们平时在开发中对于数组转化成一个List集合,最常用的方法应该就是Arrays.asList()String[] myArray = { "darin", "tom", "eric" }; List<String> myList = Arrays.asList(myArray);《阿里巴巴java开发手册》对这个方法的描述为:Arrays.asList()将数组转化为集合后,其地转化后的集合的底层仍然是数组。如下图这个方法的使用时候,传

2020-07-13 10:56:05 1038

原创 OOP规约

1.【强制】避免通过一个类的对象引用访问访问此类的静态变量或静态方法,无谓的增加编译器的解析成本,直接用类名来访问即可。2.【强制】所有的覆写方法,必须加@Override 注解。说明:getObject()与 get0bject()的问题。一个是字母的 O,一个是数字的 0,加@Override可以准确判断是否覆盖成功。另外,如果在抽象类中对方法签名进行修改,其实现类会马上编译报错。...

2019-08-21 15:12:27 174

网上商城项目,SSM

毕设项目,SSM框架,开发工具为,eclipse数据库为Mysql,SSM项目,服务器Tomcat,可直接运行,有疑问可以评论。有时间会回复。

2019-07-22

Recommend-master.zip

涉及相似度相关的算法,协同过滤,基于java的智能推荐

2019-05-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除