自定义博客皮肤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)
  • 收藏
  • 关注

原创 《高性能MySQL》2:Schema与数据类型优化

一、选择优化的数据类型(1)更小的更好选择不会超过范围的最小类型,因为它占用更小的内存、CPU缓存和处理周期、磁盘。例如DATETIME和TIMESAMP列都可以存储相同类型数据:时间和日期,精确到秒,但是TIMESAMP只使用DATETIME一半的存储空间。(2)简单就好简单类型减少CPU处理周期。例如整形比字符操作代价更低,因为字符集的排序规则比整形复杂(3)尽量避免N...

2019-12-31 15:13:58 303 2

转载 分布式-定时任务XXL JOB使用

一、分布式定时任务调度平台介绍小项目定时任务和业务代码存放在同一个JVM,即同一个服务器;大公司定时任务执行和业务代码服务器是分开的,是独立的JVM。下面学习分布式定时任务!传统定时任务请访问:连接1.1、传统定时任务问题思考(1)传统情况下定时任务会出现哪些问题? 宕机、报错、高并发(2)在高并发下导致Job服务器宕机,这时怎么处理? ...

2019-12-29 23:42:28 1431

原创 递归树:获取父目录下的所有子目录

任务调度方式有Thread、Timertask、线程池、quartz、SpringBoot内置的schedul,注意都不是分布式下使用的,分布式应该使用XXL-Job,下面抽几个常用的的概括一下。注意:这些代码平时开发时不用写,直接用就行了。基本一样的,理解起来也没啥难度一、TimerTask实现定时调度这个一般客户端开发用的比较多,平时不常用/** * 使用TimerTask...

2019-12-29 19:36:30 476

原创 《高性能MySQL》1:浅析MySQL基本常识

一、并发控制二、事物2.1、什么是事物事物是逻辑上的一组操作,要么都执行,要么都不执行。事物的四大特性(ACID):(1)原子性:事物是最小执行单元不可再分割,原子性确保动作要么全部完成,要么全部不完成;(2)一致性:执行事物前后数据保持一致,多个事物对同一个数据读取结果相同;(3)隔离性:并发访问数据库时,一个用户的事物不被其他事物干扰,彼此间独立;(4)持久性:...

2019-12-27 17:54:33 242

转载 分布式-分布式协调框架Zookeeper(一)——基础概念及常用命令

一、ZooKeeper概述1.1、什么是 ZooKeeperZooKeeper 是一个分布式协调框架。是一个典型的分布式数据一致性解决方案。分布式应用可以基于ZooKeeper实现比如数据的发布/订阅、负载均衡、分布式协调/通知、集群管理、master选举、分布式锁、分布式队列等功能。一个最常用的场景就是担任服务生产者和服务消费者的注册中心,提供发布-订阅服务,例如在Dubbo中就担...

2019-12-26 15:22:18 556

原创 Java系列2:集合——深入解剖HashMap底层原理

一、HashMap底层原理要分为JDK1.8和之前的版本讲解。我将从三个方面来介绍,分别是底层数据结构、存储结构、源码1.1、HashMap原理(1)从底层数据结构来说,JDK1.8之前底层是数组+链表(散列链表),1.8之后链表到达阈值长度就会变成红黑树存储;(2)从存储结构来说,内部包含了一个Entry类型的数组table,Entry存储着键值对,数组中每一个位置被当成一个...

2019-12-25 11:53:01 763 7

原创 深入理解Redis原理:哨兵模式

哨兵是一个独立的。

2019-12-24 00:53:34 1330 1

原创 深入理解Redis原理:主从复制模式

实现数据的复制和读写分离。配置一主(master)多从(slave),主节点负责接收写操作,并将写操作的日志(AOF或RDB文件)发送给从节点,并将数据复制到从节点上;从节点通过执行这些日志来复制主节点的数据,从节点处理读操作。当主从服务器刚建立连接的时候,进行全量同步;全量复制结束后,进行增量复制。2.1、Redis为什么需要主从复制?单节点的Redis能够支撑QPS大概在5w左右,千万级并发会成为了高并发的瓶颈;单节点的Redis不能保证高可用;CPU的利用率上,

2019-12-22 00:03:15 955 1

翻译 区分认证、授权、Cookie、Session、Token、JWT、OAuth 2.0

一、区分认证、授权、Cookie、Session、Token、JWT、OAuth 2.01.1、认证和授权通俗理解:认证:(你是谁)验证身份的凭据(比如用户名、密码),通过这个凭据系统知道你就是你权限:(你有权干什么)发生在认证之后,掌管访问系统的权限1.2、什么是Cookie?Cookie的作用?什么是Cookie:Cookie是某些网站为了辨别用户身份而存储在用户本地上...

2019-12-19 16:51:46 726

原创 深入理解Spring:MVC

MVC可以理解为一种设计模式,模型(model)-视图(view)-控制器(controller)的缩写,属于Spring框架的一个模块。SpringMVC框架是以请求为驱动,围绕Servlect设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。

2019-12-19 14:39:31 267 1

原创 深入理解Spring:Spring

什么是 Spring Framework就是一个框架,简称Spring。提供一系列功能和特性,例如依赖注入、控制反转、面向切面编程、事物管理、数据访问、MVC等。Spring事物其实就是数据库的事物,Spring自己没事物,它只提供统一事物管理接口,具体事物由不同数据库自己实现,redo log: 数据库事物提交、undo log:数据库事物回滚。是一组操作要么全部完成要么全部不完成3.2、Spring中事物的实现/管理方式(1)编程式事物:在代码中硬编码(不推荐使用);

2019-12-18 18:15:41 718 1

原创 深入理解Spring:Bean

属性赋值完成后Spring调用初始化前回调方法,如处理Aware接口,以便拿到Spring容器的资源。

2019-12-18 16:24:04 1166 1

原创 深入理解Spring:AOP和IOC

AOP思想是基于代理模式, 因为Java中一般采用JDK动态代理模式,由于Spring同时支持CGLIB、AspectJ、JDK动态代理,但是JDK动态代理只能 代理接口不能代理类,所以Spring会这样子进行切换:(1)如果目标对象的实现类实现了接口,则直接采用JDK动态代理生成AOP代理类;(2)如果目标对象类没有实现接口,SpringAOP则会采用CGLIB来生成AOP代理类。1.1、什么是AOPAOP,即面向切面编程。允许通过分离应用的业务逻辑与系统级服务。

2019-12-17 16:52:29 361 1

原创 《深入理解Java虚拟机》7:虚拟机类加载机制

一、类加载时机....待更新二、类(Class)加载过程非数组类型加载阶段:Class文件需要加载到虚拟机中之后才能运行和使用,虚拟机如何加载这些Class?加载Class类型文件主要三步:加载——>连接(连接过程三步:验证——>准备——>解析)——>初始化;所以类加载过程具体有五个步骤:加载、验证、准备、解析、初始化数组类型类加载: ...

2019-12-14 00:30:29 177

原创 《深入理解Java虚拟机》6:类文件结构

概述:JVM可以理解的代码叫 字节码(.class文件),它不面向任何特定处理器只面向虚拟机。字节码并不针对一种特定机器,所以Java程序无需重新编译就可在不同操作系统运行(跨平台)一、Class类文件结构根据JVM规范,类文件由单个ClassFile结构组成:ClassFile { u4 magic; //Class 文件的标志 u2 ...

2019-12-13 13:02:51 259

原创 《深入理解Java虚拟机》5:编译期与运行期代码优化

一、早期(编译期)优化总结好后再更新......二、晚期(运行期)优化总结好后再更新......上一篇:调优案例分析与实战下一篇:类文件结构...

2019-12-11 12:56:52 140

原创 《深入理解Java虚拟机》4:调优案例分析与实战

严格根据经典书籍《深入理解Java虚拟机(第2版): JVM高级特性与最佳实》章节目录来总结一、调优案例分析日后总结好后再更新......二、调优实战:Eclipse运行速度调优日后总结好后再更新......上一篇:虚拟机性能监控与故障处理下一篇:编译期与运行期代码优化...

2019-12-11 12:54:54 196

原创 《深入理解Java虚拟机》3:虚拟机性能监控与故障处理工具

一、JDK的命令行工具jps:虚拟机进程状况工具。用户查看所有 Java 进程的启动类、传入参数和 Java 虚拟机参数等信息; jstat:虚拟机统计信息监视工具。用于收集 HotSpot 虚拟机各方面的运行数据; jinfo:Java配置信息工具。用于显示虚拟机配置信息; jmap :Java内存映像工具。用于生成堆转储快照; jhat: 虚拟机堆转储快照分析工具。用于分析...

2019-12-10 23:39:14 235

原创 《深入理解Java虚拟机》2:垃圾收集器与内存分配策略

一、常见问题如何判断对象是否死亡(两种方法)。 简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区别、使用软引用能带来的好处)。 如何判断一个常量是废弃常量 如何判断一个类是无用的类 垃圾收集有哪些算法,各自的特点? HotSpot 为什么要分为新生代和老年代? 常见的垃圾回收器有那些? 介绍一下 CMS,G1 收集器。 Minor Gc 和 Full G...

2019-12-03 18:05:43 347

空空如也

空空如也

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

TA关注的人

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