- 浏览: 35422 次
- 性别:
- 来自: 嘉峪关
最新评论
-
NonkeyJiang:
看了大神的作品,收获很大,希望能继续奉献高质量的博文
java内存区域(二) -
NonkeyJiang:
写的很不错啊,看了好多遍,终于有点收获
代理模式 -
刘凯宁:
分型的一些东西
文章列表
本文从以下方面阐述spring源码环境搭建(基于window操作系统)
一、环境准备
二、搭建过程遇到的问题
三、测试用例
一、环境准备
1、搭建前准备(以我的工具版本为例)
IDEA (2018.03)
JDK(jdk1.8.0_191)
Gradle4.9
Spring5.0x
2、Gradle环境搭建
(1)gradle下载地址
https://services.gradle.org/distributions/
(2)下载好的gradle解压即可
(3)环境变量配置
GRADLE_HOME:
D:\ ...
本文主要介绍volatile关键字的用法
一、cpu缓存模型
计算机的存储设备与处理器的运算速度有量级的差异,因此添加一个硬件设备,使其读写速度尽可能接近cpu的处理速度,该设备就是高速缓存。
高速缓存的存储交互解决了处理器与内存之间速度的矛盾,但也引入了一个新问题,缓存一致性问题(下文讲解)。
高速缓存:内存与处理器之间的桥梁。将运算需要使用的数据复制到缓存中,让处理器尽快执行,当运算结束后再从缓存同步回主内存。
CPU缓存模型
二 ...
本文介绍内容如下:
一、运行时数据区域
二、各运行时数据区域特点
一、运行时数据区域
(1)线程共享:堆、方法区
(2)线程隔离:程序计数器、虚拟机栈、本地方法栈
二、各运行时数据区域特点
1、程序计数 ...
分库分表?如何做到永不迁移数据和避免热点?
- 博客分类:
- 数据库
一、前言
中大型项目中,一旦遇到数据量比较大,小伙伴应该都知道就应该对数据进行拆分了。有垂直和水平两种。
垂直拆分比较简单,也就是本来一个数据库,数据量大之后,从业务角度进行拆分多个库。如下图,独立 ...
本文简单介绍一下垃圾回收的概念及算法
一、垃圾回收算法
二、垃圾回收停顿现象
三、对象如何进入老年代
四、TLAB区域
一、垃圾回收算法
垃圾回收(Garbage collection,简称GC),类比生活中的垃圾,会把垃圾丢 ...
对虚拟机参数的配置,主要围绕堆、栈、方法区进行配置。
说明:
① -XX:系统级别的(JVM)配置,配置日志信息,或者是jvm使用什么样的垃圾回收器
② 非-XX:应用层的配置
③“+”:表示启用
④“-”:表示禁用
1、堆参数配置
(1)基本参数配置
-XX:+PrintGC 使用该参数,虚拟机启动后,遇到GC就会打印日志
-XX:+UseSerialGC 配置串行垃圾回收器
-XX:+PrintGCDetails 查看详细信息,包括各个区的情况
-XX:+PrintCommandLineFlags 可以将隐式或者显式传给虚拟机的参数输出
...
本文从以下方面对JVM进行描述:
一、Java虚拟机概述与基本概念
二、堆、栈、方法区
一、Java虚拟机概述与基本概念
1、虚拟机概述
所谓的虚拟机,就是一台虚拟的机器。是一款软件,用来执行一系列的虚拟计算指 ...
ActiveMQ独占消费模式
- 博客分类:
- 消息中间件
本文主要介绍一下ActiveMQ消息独占模式
1、消息独占模式(Exclusive Consumer)
Queue中的消息是按照顺序被分发到consumers的。然而,当你有多个consumers同时从相同的queue中提取消息时,你将失去这个保证。因为这些消息是被多个线程并发的处理。有的时候,保证消息按照顺序处理是很重要的。例如,你可能不希望在插入订单操作结束之前执行更新这个订单的操作。 ActiveMQ从4.x版本起开始支持Exclusive Consumer (或者说Exclusive Queues)。 Broker会从多个consumers中挑选一个consumer来 ...
ActiveMQ+Mysql持久化存储
- 博客分类:
- 消息中间件
本文简单介绍ActiveMQ使用Mysql数据库实现消息的持久化存储
一、ActiveMQ配置修改
二、代码示例
一、ActiveMQ配置修改
对于ActiveMQ需要保证消息的可靠性,需要持久化进行存储,默认情况下使用kahadb进行数据的默认持久化存储技术,同时也可以使用leveldb、mysql、oracle
此次,使用mysql对消息进行持久化操作。
1、active.xml文件的修改
(1)数据源配置信息
<persistenceAdapter>
<!-- 默认使用kahadb进行持久化 ...
ActiveMQ发送、接收消息
- 博客分类:
- 消息中间件
本文主要以一个简单的示例展示ActiveMQ收发消息:
一、ActiveMQ说明
二、代码示例
一、ActiveMQ说明
1、当前ActiveMQ的最新版本为: ActiveMQ 5.15.3 Release ====》点击:官网下载ActiveMQ地址
2、下载好之后解压,然后启动ActiveMQ,启动时要根据系统的位数来选择
二、代码示例
导入依赖jar包
<dependency>
ActiveMQ简介
- 博客分类:
- 消息中间件
本文从以下方面简单介绍一下ActiveMQ
一、消息中间件背景
二、简述JMS规范
三、ActiveMQ简介
一、消息中间件背景
当前如RMI,RPC中间件技术应用到各个领域,但面对复杂度越来越高的分布式系统,上述中间件有一下局 ...
spring boot+mybatis示例
- 博客分类:
- web框架
本文以简单示例展示spring boot与mybatis的整合过程:
(一)示例的目录结构
1、pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" ...
spring boot整合mybatis时注入mapper失败问题:
1、关于@Mapper注解导包失败原因:
原因分析:
导入的Mybatis核心包的版本太低,如下图所示,因而导致mybatis核心包的版本为mybatis-3.4.4.jar,因此导致了@Mapper注解导包失败。
2、spring boot整合mybatis,注入mapper失败
(1)解决该问题办法在Mapper所在的接口上加入@Mapper注解,前提要解决@Mapper注解导包成功。
(2)@Mapper注解导包成功,执行如下步骤:
本文简单介绍一下spring boot+JPA实现简单的增删改查功能
一、项目结构简述
二、搭建spring boot+jap环境
三、代码示例
四、spring boot的启动方式
一、项目结构简述
1、项目的目录结构注意点
问题说明:
①使用内置服务器启动springboot项目时,会从@SpringBootApplication修饰类所在的包开始,加载当前包和所有子包下的类,将由@Component @Repository @Service @Controller修饰的类交由spring进行管理;
②如上图,项目中的启动类为Applacat ...
1、适配器模式分类
(1)对象适配器
(2)类适配器
2、对象适配器
(1)概念:将一个类的接口转为另外一个类的接口,让原来不兼容得类变得兼容
(2)原理:
对象适配器采用组合的方式,适配器对象实现 ...