自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (6)
  • 收藏
  • 关注

原创 三分钟了解 HBase

HBase 初学

2023-09-21 14:26:52 63

原创 雪花算法原理以及改造 int 实现

雪花算法原理 雪花算法 int 实现

2023-05-04 17:52:09 710

原创 JVM 锁优化

JVM 锁

2022-08-18 16:30:59 199

原创 MySQL 索引篇

MySQL 索引和锁1. MySQL 存储引擎 MyISAM 与 InnoDB1.1 对比图1.2 SQL 性能下降原因磁盘满了select 语句问题索引失效关联查询 join 太多服务器调优及各个参数设置(缓冲、线程数等)1.2.1 举例说明创建索引假设数据库表 user 列元素为:id name email wechat。而我们要执行的查询语句为:select * from user where name = 'Best Wu'。假设表中的数据量为万级,下面我们先建

2021-09-02 14:03:41 246

原创 Java 垃圾回收

JVM 垃圾回收回顾 Java 内存运行时数据区的各个部分:程序计数器(Program Counter Register)一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。在 Java 虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。由于 Java 虚拟机的多线程是通过线程轮流切换、分配处理器执行时间的方式来实现的,在任何一个确定的

2021-04-28 13:25:41 200

原创 POJ 刷题日记

POJ 刷题日记1. a + b 问题,题号 1000package org.poj;import java.util.Scanner;/** * Calculate a+b * Two integer a,b (0<=a,b<=10) * * Q: Where are the input and the output? * * A: Your program shall always read input from stdin (Standard Input) and

2021-04-17 15:06:55 287

原创 Mybatis 缓存机制

Mybatis 的一级缓存与二级缓存当我们使用 Mybatis 开启一次与数据库的会话,Mybatis 会创建出一个 SqlSession 对象表示一次与数据库会话。在对数据库的一次会话中,我们有可能反复地执行相同的查询语句,如果不采取一些措施的话,每一次查询都会物理查询一次数据库,而我们在极短的时间内做了完全相同的查询,那么它们的结果极有可能完全相同,由于查询一次数据库的代价很大,这有可能造成很大的资源浪费。为了解决这一问题,减少资源的浪费,Mybatis 会在表示会话的 SqlSession 对象

2021-04-02 17:00:00 129

原创 Mybatis 实现原理

MyBatis 实现原理读取 mybatis 配置信息,并创建 SqlSessionFactory 对象。通过 SqlSessionFactoryBuilder 对象构建 SqlSessionFactory:public SqlSessionFactory build(InputStream inputStream) { return build(inputStream, null, null);}public SqlSessionFactory build(InputStream

2021-03-29 17:02:56 200

原创 Java 内存模型

Java 内存模型《Java 虚拟机规范》中曾试图定义一种 “Java 内存模型”(Java Memory Model,JMM)来屏蔽各种硬件和操作系统的内存访问差异,以实现让 Java 程序在各种平台下都能达到一致的内存访问效果。在此之前,主流程序语言(如 C 和 C++ 等)直接使用物理硬件和操作系统的内存模型。因此,由于不同平台上内存模型的差异,有可能导致程序在一套平台上并发完全正常,而在另外一套平台上并发访问却经常出错,所以在某些场景下必须针对不同的平台来编写程序。定义 Java 内存模型并非一

2021-03-22 14:05:48 108 2

原创 MySQL57 授权用户远程登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;FLUSH PRIVILEGES;

2021-03-11 10:45:53 224

原创 Java 运行时数据区

文章目录Java 运行时数据区1. 概述2. 运行时数据区域2.1 程序计数器2.2 Java 虚拟机栈(Java Virtual Machine Stack)2.2.1 运行时栈帧的结构2.2.2 局部变量表(Local Variables Table)2.2.3 操作数栈(Operand Stack)2.2.4 动态连接(Dynamic Linking)2.2.5 方法返回地址2.3 本地方法栈(Native Method Stacks)2.4 Java 堆(Java Heap)2.5 方法区(Meth

2021-01-21 22:43:07 82

原创 理解 OAuth2.0

OAuth2OAuth 是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是 2.0 版。一、应用场景为了理解 OAuth 的使用场景,下面举一个例子:有一个 “云冲印” 的网站,可以将用户存储在 Google 的照片,冲印出来。用户为了使用该服务,必须让 “云冲印” 读取自己存储在 Google 上的照片。问题是只有得到用户的授权,Google 才会同意 “云冲印” 读取这些照片。那么,“云冲印” 怎样获得用户的授权呢?传统方法时,用户将自己的 Goo

2021-01-12 08:16:05 524

原创 MySQL 企业常用架构与调优

MySQL 企业常用架构与调优问题分类:选择 Percona Server、MariaDB 还是 MySQL常用的 MySQL 调优策略MySQL 常见的应用架构分享MySQL 经典应用架构一、选择 Percona Server、MariaDB 还是 MySQL1. MySQL 三种存储引擎MySQL 提供了两种存储引擎:MyISAM 和 InnoDB,MySQL 4 和 5 使用默认的 MyISAM 存储引擎。从 MySQL 5.5 开始,MySQL 已将默认存储引擎从 MyISAM

2021-01-08 15:49:54 139

原创 Flyway 数据库迁移工具

Flyway 数据迁移工具简介Flyway 是一个开源的数据库迁移工具。相对于配置,它更倾向于简单和约定。它基于 7 个基本的命令:MigrateCleanInfoValidateUndoBaselineRepair迁移可以使用 SQL(支持特定于数据库的语法,如PL/SQL、T-SQL) 或 Java(用于高级数据转换或处理 lob)编写。它有命令行客户端,如果你在 JVM 上使用它,可以使用 Java API(也可以工作于 Android)应用于工程启动的时候迁移数据库。另外,

2020-10-15 20:28:44 301

原创 Shell 基础编程

Shell 基础编程Shell 变量如何定义一个变量?eg:name="Best Wu"上面的指令为定义一个变量name 值为 "Best Wu"。命名规则首个字符必须为字母(a-z,A-Z)中间不能有空格,可以使用下划线(_)不能使用标点符号不能使用 bash 里的关键字(可用 help 命令查看保留关键字)如何使用变量?eg:name="Best Wu"echo $nameecho ${name}备注:echo 执行的两个命令,均为输出变量的值,变量名外边的花括

2020-10-09 19:48:41 252

原创 动态代理

动态代理​ 动态代理是相对于静态代理而提出的设计模式。在 Spring 中,有两种方式可以实现动态代理 —— JDK 动态代理和 CGLIB 动态代理。JDK 动态代理​ 对于静态代理,一个代理只能代理一个对象,如果有多个对象需要被代理,就需要很多代理类,造成代码的冗余。JDK 代理的对象是动态生成的。JDK 代理的条件是被代理对象必须实现接口。​ 一个简单案例说明 JDK 动态代理的实现方式,如一个 Animal 接口中定义一个 eat() 方法,表示动物需要吃饭。public inter

2020-09-16 08:36:24 82

原创 IoC 容器原理

IoC 容器IoC 的概念​ IoC 是 Inversion of Control 的简写,译为 控制反转。IoC 是一种设计思想,在没有 IoC 设计的场景下,开发人员在使用所需的对象时,需要手动创建各种对象,在 Java 中 如 new Object() ,如传统 Java 开发方式:​ 有了 IoC 这样的设计思想,在开发中,意味着将设计好的对象交给容器管理,而不再是像传统的编程方式中,在对象内部直接控制对象,如使用 IoC 的 Java 开发方式:​ 那么如何理解 IoC?从 Io

2020-09-15 10:42:03 100

原创 单例设计模式

单例设计模式饿汉式(立即加载)public class Singleton { private Singleton() { // 私有化构造方法,外部不能通过new来创建实例 } private static final Singleton INSTANCE = new Singleton();// 立即加载 开辟内存空间 public s...

2020-01-10 22:23:53 79

java-tools.zip

java-tools.zip

2021-05-26

Sentinel-1.8.1.zip

Sentinel-1.8.1.zip

2021-05-14

xxl-job-code.zip

xxl-job-code.zip

2021-05-04

MyCache.zip

MyCache.zip

2021-04-30

rocketmq.zip

rocketmq.zip

2021-04-28

book-wujt.zip

java 复习基础常用知识命令

2021-04-20

空空如也

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

TA关注的人

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