自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 问答 (2)
  • 收藏
  • 关注

原创 三、深入理解JAVA虚拟机之类加载机制

一、什么是类加载机制虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化, 最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制。 在Java语言里,类型的加载、连接和初始化过程都是在程序需运行期间完成的。Java 里天生可以动态扩展的语言特性就是依赖运行期动态加载和动态连接这个特点实现的。 二、类加载的时机类从...

2018-08-24 17:57:53 238

原创 二、深入理解JAVA虚拟机之详解GC

一、概述GC要完成3件事: 哪些内存需要回收? 什么时候回收?如何回收? 1、两种算法1、引用计数算法给对象添加一个引用计数器,每当有一个地方引用它时,计数器的值就加1;当引用失效时,计数器的值就减1;任何时刻计数器为0的对象就是不可能再被使用的。它非常高效,但是怒能解决对象间相互引用的问题。例如如下的例子:public class Refence...

2018-08-17 18:24:43 300

原创 一、深入理解JAVA虚拟机之内存初探

一、java内存区域划分1、程序计数器程序计数器是一块较小的内存空间,可以看做当前线程所执行的字节码的行号指示器。每个线程有自己独立的程序计数器,所以该内存区域是线程私有的。如果线程正在执行的是Java方法,那么这个计数器的值就是正在执行的虚拟机字节码指令的 地址;如果正在执行的是Native方法,这个计数器值为空( undefined) 。此内存区域是唯一 一个在Java虚拟机规...

2018-08-17 18:18:09 211

原创 FastDFS介绍及安装

一、FastDFS介绍1、什么是FastDFS FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。 2、FastDFS架构​ FastDFS架构包括 Tracker se...

2018-08-08 15:24:27 437

原创 Dockerfile

1、是什么Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。2、Dockerfile基础知识每条保留字指令都必须为大写字母且后面跟至少一个参数指令按照从上到下,顺序执行每条指令都会创建一个新的镜像层,并对镜像层进行提交3、docker执行Dockerfile的流程docker从基础镜像运行一个容器执行一条指令并对容器作...

2018-08-02 18:48:32 243

原创 Docker简介及常用命令

1、什么是DockerDocker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。2、应用场景web应用的自动化打包和发布;自动化测试和持续集成、发布;在服务型环境中部署和调整数据库或其他的后台应用;...

2018-07-26 14:06:20 225

原创 MyBatis源码分析:SqlSession获取过程

public static void main(String[] args) throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); //SqlSess...

2018-07-24 18:17:24 1299

原创 MyBatis缓存机制

MyBatis系统默认定义了两级缓存1、一级缓存(local cache)一级缓存 即本地缓存, 作用域默认为sqlSession。当 Session flush 或 close 后, 该 Session 中的所有 Cache 将被清空。 与数据库同一次会话期间查询到的数据会放在一级缓存中。以后如果需要获取相同的数据,直接从缓存中拿,没必要再去查询数据库;一级缓存失效...

2018-07-23 10:15:39 117

原创 MyBatis结果集映射

1、select返回Listmybatis会把结果集自动的封装成List <!-- public List<Employee> getEmpsByLastNameLike(String lastName); --> <!--resultType:如果返回的是一个集合,要写集合中元素的类型 --> <select id="...

2018-07-20 11:55:12 439

原创 MyBatis参数处理

单个参数:对于单个参数,mybatis不会做处理,#{参数名}:取出参数值多个参数:多个参数会被封装成一个mappublic Employee getEmpByIdAndLastName(Integer id,String lastName);封装成的map的key是param1,param2...paramN或者参数的索引封装成的map的value是传入的参数值取值时可...

2018-07-18 18:33:03 675

原创 java操作MongoDB

1、准备工作1、导入依赖:<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>2.12.4</version></depen

2018-07-16 10:58:56 271

原创 MongoDB索引(2)

1、固定集合固定集合需要事先创建好,且大小是固定的。如果集合已满,再向集合插入数据,则集合会自动将最老的数据删除。固定集合不能被分片。数据被顺序写入磁盘上的固定空间,所以写入速度非常快。1、创建固定集合固定集合必须在使用前显式的创建。//"capped"为true,则为创建固定集合,创建固定级和必须指定size值,单位是字节,max是最大文档数db.creat...

2018-07-11 17:24:44 274

原创 MongoDB索引(1)

在 3.0.0 版本前创建索引方法为 db.collection.ensureIndex(),之后的版本使用了 db.collection.createIndex() 方法,ensureIndex() 还能用,但只是 createIndex() 的别名 .。//给users集合的username字段创建索引,1是按升序创建索引,-1是按降序创建索引db.users.ensureIndex...

2018-07-11 11:25:08 761

转载 SpringCloud笔记

SpringCloud微服务概述什么是微服务目前的微服务并没有一个统一的标准,一般是以业务来划分将传统的一站式应用,拆分成一个个的服务,彻底去耦合,一个微服务就是单功能业务,只做一件事。与微服务相对的叫巨石微服务与微服务架构微服务是一种架构模式或者一种架构风格,提倡将单一应用程序划分成一组小的服务==独立部署==,服务之间相互配合、相互协调,每个服务运行于自己...

2018-07-07 17:34:48 850

原创 MongoDB聚合框架的简单介绍

聚合框架使用聚合框架可以对集合中的文档进行变换和组合。可以用多个构件创建一个管道(pipeline,类似一个流),用于对一连串的文档进行处理。这些构件包括:筛选(filtering)投射(projecting)分组(grouping)排序(sorting)限制(limiting)跳过(skipping)聚合的结果必须要限制在16M之内(MongoDB支持的最大的响应大小)...

2018-07-05 17:28:44 891

原创 RabbitMQ结合SpringBoot使用

1、引入spring-boot-starter-amqp2、application.yml配置spring: rabbitmq: host: 192.168.1.235 username: test #默认是guest password: 123456 #默认是guest virtual-host: /tzb #默认是/ por...

2018-06-28 19:00:59 989

原创 1、RabbitMQ的简单使用

1、AMQPAMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。Erlang中的实现有 RabbitMQ等。2、RabbitMQ1、Erlang语言...

2018-06-28 16:46:52 80801 21

空空如也

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

TA关注的人

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