自定义博客皮肤

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JMM Java 内存模型-参考《深入理解 Java 内存模型》一书

原文:http://www.54tianzhisheng.cn/2018/02/28/Java-Memory-Model/ 这是一篇讲 Java 内存模型比较系统和比较易懂的文章 基础 并发编程的模型分类 在并发编程需要处理的两个关键问题是:线程之间如何通信和线程之间如何同步。 通信...

2019-07-23 22:03:55

阅读数 7

评论数 0

生动形象的 java 多线程场景

多线程的问题都曾经困扰过每个开发人员,今天将从全新视角来解说,希望读者都能明白。 强烈建议去运行下文章中的示例代码,自己体会下。 问题究竟出在哪里? 一个线程执行,固然是安全的,但是有时太慢了,怎么办? 老祖宗告诉我们,“一方有难,八方支援”,那不就是多叫几个线程来帮忙嘛,好办呀,多new...

2019-07-13 10:38:50

阅读数 32

评论数 0

# MyBatis 源码解析(三)

dataSource 数据源 DataSourceFactory 接口扮演工厂接口的角色,UnpooledDataSourceFactory 和 PooledDataSourceFactory 则扮演具体工厂类的角色 在UnrolledDataSourceFactory 的构造函数中会直接创建 U...

2019-07-10 23:03:33

阅读数 9

评论数 0

MyBatis 源码解析(二)

MyBatis 源码解析(二) 在完成 xml 解析 - 通过反射得到对象及关系 ,后 Mybatis 进行类型的转换和资源的加载 类型转换 因为 JDBC 数据类型和 java 语言中的数据类型存在差异,所以在 PreparedStatement 为 SQL 语句绑定参数时,需要从 java ...

2019-07-09 22:43:35

阅读数 10

评论数 0

Jackson Stirng 转对象时,String 中的字段比 javaBean 中的多

报错: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field 解决方法 // 第一种解决方案 // ObjectMapper对象添加 mapper.configure(De...

2019-07-09 15:41:12

阅读数 9

评论数 0

MyBatis 源码解析(一)

简单概括 MyBatis 加载的第一步: xml 解析 - 通过反射创建对象及关系 MyBatis是如何解析的呢 解析器 xml 解析 在初始化中处理 mybatis-config.xml 配置文件,使用的是 DOM 解析的方式,并结合使用 XPath 解析 xml 文件 Path 使用路径表达...

2019-07-08 22:04:59

阅读数 6

评论数 0

github fatal: The remote end hung up unexpectedly fatal: early EOF

第一步 :git config --global core.compression 0 // 关闭compression 第二步:git clone --depth 1 https://github.com/mybatis/mybatis-3.git //部分克隆来截断下来的信息量 第三步:...

2019-07-01 20:36:19

阅读数 93

评论数 0

讲 zookeep 比较全面的一篇文章

推荐在自己对 zookeep 有所简单了解后阅读 场景一 有这样一个场景:系统中有大约100w的用户,每个用户平 均有3个邮箱账号,每隔5分钟,每个邮箱账需要收取100封邮件,最多3亿份邮件需要下载到服务器中(不含附件和正文)。用20台机器划分计算的压力,从 多个不同的网路出口进行访问外网,计...

2019-06-25 21:59:24

阅读数 62

评论数 0

jvm 内存泄漏

(Memory Leak,内存泄漏) 为什么会产生内存泄漏? 当一个对象已经不需要再使用本该被回收时,另外一个正在使用的对象持有它的引用从而导致它不能被回收,这导致本该被回收的对象不能被回收而停留在堆内存中,这就产生了内存泄漏。 内存泄漏对程序的影响? 内存泄漏是造成应用程序OOM的主要原...

2019-06-21 15:53:23

阅读数 7

评论数 0

Java内存泄漏

一、内存溢出和内存泄露 一种通俗的说法。 1、内存溢出:你申请了10个字节的空间,但是你在这个空间写入11或以上字节的数据,出现溢出。 2、内存泄漏:你用new申请了一块内存,后来很长时间都不再使用了(按理应该释放),但是因为一直被某个或某些实例所持有导致 GC 不能回收,也就是该被释放的对象没有...

2019-06-12 19:02:35

阅读数 126

评论数 0

MySql 查询性能优化

查询性能优化 为什么查询速度会慢 查询大概有以下过程,从客户端,到服务器,在服务器上解析,生成执行计划,执行,返回给客户端,其中执行包括了检索数据,存储引擎的调用,调用后数据处理(排序,分组)。 查询在不同的地方花费的时间,包括网络,CPU计算,生成统计信息,执行计划,锁等待,向底层存储引擎检索数...

2019-06-04 21:49:35

阅读数 6

评论数 0

springboot 多数据源 读写分离实现

最近在做一个把一个数据库的数据,通过转化,定时插入到另一个数据库中的项目。 原本打算分拆成两个工程,一个工程进行读库,然后将数据定时推送到另一个进行入库的工程。但数据量大的时候,在传输过程中可能会发生中断和超时情况。于是便想到当工程多数据源。在网上搜寻了一翻后,发现这片文章比较实用,且通俗。便做...

2019-05-27 21:24:29

阅读数 73

评论数 0

使用反射判断成员变量的值是否为空

有时候要把 entity 对象或 pojo 对象的必填项一个个判空,代码实在冗长。 如果引入了 Lombok 那也比较方便,但如果还没有,就可以用反射判断成员变量的值是否为空 代码如下 //判断成员变量中是否有空 public static boolean allFieldIsNull(O...

2019-05-22 14:20:42

阅读数 61

评论数 0

getReader() has already been called for this request

今天接手一个新项目,运行时出现getReader() has already been called for this request ,看了一圈代码,没什么问题。有看了一下,好像有个拦截器,原来拦截器中就使用了 HttpServiletRequest ,而我新写的 Controller 中也用到...

2019-05-22 14:05:36

阅读数 141

评论数 0

MySQL 索引

索引是存储引擎用于快速找到记录的一种数据结构 一、索引类型 索引是在存储引擎层实现的,不同的存储引擎的索引工作方式并不一样。 我们先来看看 MySQL 支持的索引类型 B-Tree 索引 大多数 MySQL 存储引擎都支持该索引,不过,不同的存储引擎可能使用不同的存储结构,如:InnoDB 使用...

2019-04-23 21:35:29

阅读数 8

评论数 0

Redis 基础篇(一)

今天我们来讲一讲缓存 目前,memcache 和 redis 是互联网分层架构中,最常用的key/value缓存。 那么如何选择呢 ? 下面来看一下两种缓存的比较 redis mecache 吞吐量 十万左右 ...

2019-04-21 14:42:27

阅读数 17

评论数 0

学习方法

今天先来讲一下,学习方法 前几日刚看到一片关于罗斯福、费曼、达芬奇的学习方法归纳,这三位想必大家都听说过。那他们是如何学习的呢? 西奥多·罗斯福 美国第26届总统,人称老罗斯福,昵称Teddy。 这位总统年轻的时候是一个金牌学霸,在哈佛求学期间,不但学业出色,而且涉猎广泛,包括拳击、摔跤、健身、舞...

2019-04-15 19:43:07

阅读数 5

评论数 0

关于索引的B tree B-tree B+tree B*tree 详解结构图

B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中...

2019-04-15 16:09:34

阅读数 22

评论数 0

MySQL 数据类型

MySQL 数据类型 MySQL 支持很多的数据类型,下面来看一下一些常见的数据类型 1.整型类型 如果存储整数,可使用者几种整数类型 TYINYINT,SMALLINT,MEDIUMINT,INT,BIGINT,分别使用8,16,24,32,64位存储空间,存储范围从 -2^(n-1) ~ 2^...

2019-04-14 08:58:20

阅读数 55

评论数 0

MySQL 概况

MySQL 概况 目前,MySQL 是大多数公司最常使用的关系型数据库,开发人员基本上也经常使用。平时接触最多的就是,库、表、字段、索引、SQL 语句等。这次我将从逻辑架构、存储引擎、事务、并发控制、数据类型、索引这几方面来讲讲 MySQL 的故事。 1. MySQL逻辑架构 [image:42...

2019-04-13 13:53:01

阅读数 34

评论数 0

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