自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

空调不够冷

努力的往前飞,再累也无所谓 黑夜过后的光芒有多美

  • 博客(19)
  • 问答 (4)
  • 收藏
  • 关注

原创 HashMap源码解析

HashMap在工作中比较常用,而且面试中经常被问到,所以我特意把它列出来进行分析。 本文基于JDK8的源码进行分析。HashMap位于Java.util 包中,键和值都可以为null,并发情况下不安全,数据结构为 数组 + 链表 + 红黑树。本文将从HashMap的 成员变量,get()put(), hash(),等进行分析。基础知识java 中的 << ...

2020-03-21 15:56:06 169

原创 IntellijIDEA 2019.3.3的tomcat服务器配置

IntellijIDEA版本:2019.3.3服务器:tomcat服务器点击 Add Configuration,如图:点击 “ + ”,选择 Tomcat Server ,再选择Local设置Tomcat参数Name:给你要设置的tomcat起个名字;点击Configure:可以选择你自己的Tomcat位置;After launch: 选择启动服务器后自动打开的浏览器;JR...

2020-03-02 20:39:14 2279

原创 JVM之方法方法返回地址

范德萨

2020-03-31 18:25:46 2117

原创 JVM之动态连接和静态连接

JVM的虚拟机运行时数据区中,虚拟机栈的栈帧中含动态链接,什么是动态连接?每一个栈帧都包含指向运行时常量池中该栈帧所属方法的引用,持有这个引用是为了支持方法调用过程中的动态连接。在class文件格式的常量池中存有大量符号引用(1.类的全限定名,2.字段名和属性,3.方法名和属性),字节码的方法调用指令就是以常量池中指向方法的符号引用为参数。这些符号引用一部分会在连接的解析阶段转为直接引用(向目...

2020-03-31 18:18:52 5175 1

原创 java虚拟机(JVM)内存管理之运行时数据区

java运行时数据区分为5个部分:堆,本地方法栈,虚拟机栈,方法区,程序计数 器。堆堆的空间比较大,里面存的是对象实例和数组,它是线程共享的,线程方法执行完成后所占空间不会被回收,所以要进行垃圾回收(GC)。方法区方法区里面有 == 运行时常量池,静态变量,类信息以及及时编译器编译后的class文件等 ==,常量池存放编译期产生的各种字面量和符号引用。Java虚拟机规范中定义了方法区这...

2020-03-31 10:59:09 134

原创 JVM的核心知识点清单

JVM是一线互联网公司的必考项目,作为一名合格的程序员,Java虚拟机是必须学习的。JVM的核心知识有哪些呢?java内存管理机制;GC;类加载机制;字节码执行引擎;java虚拟机性能调优;后续会根据这些知识点进行更新。...

2020-03-31 01:30:23 160

原创 Redis主从复制实战

主从复制的概念Redis主从复制是将一台Redis服务器的数据复制到另一台Redis服务器,发送数据的是主节点,接收收据的是从节点,数据只能从主节点发送到从节点。其中涉及到了两个角色,主节点和从节点,默认情况下Redis的节点都是主节点。且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。主从复制的作用数据冗余: 主从复制实现了数据的热备份,是持久化之外的一种数据冗...

2020-03-30 11:49:16 154

原创 Redis的服务集群搭建

本节在一台笔记本的电脑下进行集群搭建,环境为windows10。下载redis。解压redis,并复制2份,将3个文件分别重命名如下:修改Redis-x64-3.2.100-6380的 redis.windows.conf文件:找到port 6379,修改为在这里插入代码片...

2020-03-29 22:56:39 75

原创 Redis的持久化方式

Redis的持久化方式有2种:AOF和RDB 。持久化机制可以保证进程退出时数据丢失问题,下次重启时可以利用持久化的文件实现数据恢复。RDB触发机制手动触发手动触发对应2个命令:save命令和bgsave命令bgsave命令是对save命令的改进,现在save命令已经废弃。save命令:save命令会阻塞当前Redis服务器,直到RDB完成为止,对于内存较大的实例会造成长时间阻塞,...

2020-03-29 15:20:00 138

原创 Redis 中的数据结构

1. 预备知识1.1 全局命令keys * 查询所有的键,会遍历所有的键dbsize 键总数,查询Redis内置键数量的变量exists key 查询key是否存在expire key seconds 设置键的存活时间ttl key 查看键的剩余过期时间,返回值:大于0的整数,剩余过期时间;-1时,未设置过期时间;-2时,...

2020-03-28 03:24:18 208

原创 Redis概述

Redis的特性Redis是一个key-value数据库,全称为Remote Dictionary Server,它有如下特点:查询速度快所有数据都放在内存中;Redis用C语言开发,执行速度相对来说比较快;Redis采用单线程架构,避免了多线程竞争资源问题。基于键值对的数据结构服务器功能丰富提供了5种数据结构:字符串,哈希,列表,集合,有序集合;提供键过期功能,可...

2020-03-27 23:15:37 79

转载 分布式学习(负载均衡)

1. 简介传统的web架构中,用户通过网络访问服务器,服务器再访问数据库并将响应信息返回给客户端这样的web架构比较简单,但是有两个缺点:一旦服务器出现故障,则用户就不能访问;如果访问服务器的用户数量激增,会给服务器造成巨大压力。因此,我们可以提供多个服务器,将他们通过网络连接起来,形成一个逻辑上的服务器,负载均衡服务器负责将用户的请求均匀的分配到各个服务器。2. 优势高性能: 负载均衡...

2020-03-27 15:31:04 499

转载 linux下设置mysql不区分大小写

背景今天准备上线的环境,往服务器上布服务,某个功能查询报错,觉得很奇怪,环境一样,代码一样,数据一样,为何呢,看了一眼sql。本地运行正常,上线环境报错,报错信息缺少某列。仔细一看,where 条件的列别名是大写的,表别名是小写。大概就是这个意思 select aaa from b where B.aaa = ‘1’ 。心想,mysql不是不区分大小写吗。难道上线环境是区分的,一查还真是。。于是...

2020-03-23 16:08:23 153

转载 红黑树详细分析

1.红黑树简介红黑树是一种自平衡的二叉查找树,是一种高效的查找树。它是由 Rudolf Bayer 于1978年发明,在当时被称为对称二叉 B 树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的红黑树。红黑树具有良好的效率,它可在 O(logN) 时间内完成查找、增加、删除等操作。因此,红黑...

2020-03-22 18:17:20 167

原创 LinkedHashMap源码浅析

本文基于JDK8进行解析。public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>{ static class Entry<K,V> extends HashMap.Node<K,V> { Entr...

2020-03-22 12:39:31 115

原创 ConcurrentHashMap解析

public class ConcurrentHashMap<K,V> extends AbstractMap<K,V> implements ConcurrentMap<K,V>, Serializable { private static final long serialVersionUID = 7249069246763182397L;...

2020-03-22 11:29:27 426

原创 Java的序列化和反序列化

本节,我们来分析对象的序列化和反序列化。从以下几个方面来进行分析:为什么要进行序列化?什么是序列化与反序列化?如何实现序列化和反序列化?序列化和反序列化要注意什么问题?如何进行解决?为什么要进行序列化?将Java对象状态信息存储在硬盘或数据库中;通过网络传输Java对象,所以序列化Java类。通过RMI传输对象的时候;什么是序列化和反序列化?序列化: 将 ...

2020-03-20 10:40:44 156

原创 String源码解析

public final class String implements java.io.Serializable, Comparable<String>, CharSequence { private final char value[]; private int hash; // Default to 0 /** use serialVersionU...

2020-03-14 16:08:32 103

原创 关系数据库的表设计

开发中抽象出来的各个实体之间的关系有:一对一,一对多,多对多 三种,在设计表的时候 先考虑是哪种情况,然后再看看怎么建表。一对一。通常建表时建立 2 个表(主副表),外键建立在附表中。例如下图,可建立学生表和身份证表。2.一对多。建立 2 个表,将 “一” 的一方的主键作为 “多”的一方的外键。(后面说为什么)3.多对多。建立 3 个表,除了两个实体所建的两张表外,再建一张表(...

2020-03-02 22:22:46 353

空空如也

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

TA关注的人

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