2020年7月30日
摘要: 1、概述 JDK源码中很多Native方法,特别是多线程、NIO部分,很多功能需要操作系统功能支持,作为Java程序员,如果要理解和掌握多线程和NIO等原理,就需要对操作系统的原理有所了解。 2、CPU 上下文切换 多任务操作系统中,多于CPU个数的任务同时运行就需要进行任务调度,从而多个任务轮流使 阅读全文
posted @ 2020-07-30 10:21 会说话的丶猫 阅读(1594) 评论(0) 推荐(0) 编辑
  2020年7月23日
摘要: 1.1 前言 之前做过一些项目会用到MySQL中的事物,也会根据需要配置事物的隔离级别,比如下图在切面中添加事物: 那么事物究竟是什么呢?今天和大家一起探讨学习一下。 1.2 事务的定义 什么是事务? 维基百科的定义:事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位,由一个有限的数据库操作序 阅读全文
posted @ 2020-07-23 15:25 会说话的丶猫 阅读(168) 评论(0) 推荐(0) 编辑
  2020年7月19日
摘要: 一、关于常量池 字符串在Java中用的非常得多,Jvm为了减少内存开销和提高性能,使用字符串常量池来进行优化。 在jdk1.7之前(不包括1.7),Java的常量池是在方法区的地方,方法区是一个运行时JVM管理的内存区域,是一个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态常量等。 阅读全文
posted @ 2020-07-19 23:15 会说话的丶猫 阅读(2387) 评论(0) 推荐(1) 编辑
  2020年7月18日
摘要: 前言: 上篇文章中学习了MySQL库的架构以及存储引擎,了解了基本索引(普通索引,唯一索引,主键索引),着重介绍了innerDB的存储方式以及内存模型,本篇文章和大家探讨一下MySQL库中索引的原理以及索引底层的数据结构。 1. 索引是什么 1.1. 索引的定义 维基百科对数据库索引的定义:数据库索 阅读全文
posted @ 2020-07-18 17:45 会说话的丶猫 阅读(1913) 评论(0) 推荐(0) 编辑
  2020年7月16日
摘要: 字节、字符、位(比特)的关系 Byte——字节,是指一小组相邻的二进制数码。通常是8位作为一个字节;字节是处理数据的基本单位; bit——位(比特)数据传输的单位,是计算机存储设备的最小单位,每一位的状态只能是0或者1; 换算:1个字节等于8个比特(1Byte=8bit) 字符:在计算机和电信技术中 阅读全文
posted @ 2020-07-16 22:13 会说话的丶猫 阅读(406) 评论(0) 推荐(0) 编辑
  2020年7月15日
摘要: 前言: MySQL数据库自己用了也有两三年了,基本上只是掌握增删改查的sql语句,从没有思考过MySQL的内部到底是怎么根据sql查询数据的,包括索引的原理,只知道加了索引查的就快,不知道为什么加上索引效率就会提升,包括索引的限制和优化也知之甚少,所以决定开一专题来学习与记录MySQL。 MySQL 阅读全文
posted @ 2020-07-15 22:00 会说话的丶猫 阅读(363) 评论(0) 推荐(0) 编辑
  2020年7月12日
摘要: 前言: 前几篇文章和大家介绍了JVM中的内存模型以及垃圾回收器,今天和大家一起学习一下在平时jvm调优的过程中常用的参数以及命令。 JVM中-XX类型的参数: 我们经常用到的-XX类型有两种定义: 1. a.Boolean类型 格式: -XX:[+-]<name> +或-表示启用或者禁用name属性 阅读全文
posted @ 2020-07-12 16:36 会说话的丶猫 阅读(148) 评论(0) 推荐(0) 编辑
  2020年7月11日
摘要: 前言: 前面的文件介绍了JVM的内存模型以及各个区域存放了那些内容,本编文章将介绍JVM中的垃圾回收Garbage Collector,和大家一起探讨一下。 如何确定一个对象是垃圾: 这里介绍两种方法: 引用计数法 对于某个对象而言,只要应用程序中持有该对象的引用,就说明该对象不是垃圾,如果一个对象 阅读全文
posted @ 2020-07-11 17:27 会说话的丶猫 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 回顾: 在之前的文章中,我们主要体现了当堆内存设置的比较小的情况下,比如:-Xmx20M -Xms20M,在项目运行的过程中,不断往内存中去添加对象, 这时候就会出现OOM,也就是内存溢出,本文章将展示方法区和虚拟机栈内存溢出的情况。 方法区内存溢出: 为了使方法区内存溢出,我们将JVM的参数调整为 阅读全文
posted @ 2020-07-11 14:25 会说话的丶猫 阅读(157) 评论(0) 推荐(0) 编辑
  2020年7月8日
摘要: 一:使用jvisualvm工具查看堆内存 visualgc插件下载链接 : https://visualvm.github.io/pluginscenters.html >选择对应版本链接 >Tools >Visual GC 首先我们启动本地工程,不停地往内存中添加对象,代码如下: @RestCon 阅读全文
posted @ 2020-07-08 23:28 会说话的丶猫 阅读(117) 评论(0) 推荐(0) 编辑