摘要: 一 、MyBatis原理架构图 Mybatis的功能架构分为三层: API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。 数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的 阅读全文
posted @ 2018-09-03 14:43 Harvey2017 阅读(1506) 评论(0) 推荐(1) 编辑
摘要: 一、概念 Shiro是一个Java安全框架,可以帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等。 Subject:即当前用户,在权限管理的应用程序里往往需要知道谁能够操作什么,谁拥有操作该程序的权利,shiro中则需要通过Subject来提供基础的当前用户信息,Subject 不仅仅 阅读全文
posted @ 2018-08-31 15:36 Harvey2017 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。 官方网站:https://www.elastic.co/products Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动 阅读全文
posted @ 2018-04-23 22:10 Harvey2017 阅读(5642) 评论(0) 推荐(1) 编辑
摘要: 哈希表(hash table)也叫散列表,是一种非常重要的数据结构。许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK8的HashMap源码进行分析。 一、什么是哈希表 先了解下基本数据 阅读全文
posted @ 2018-04-19 22:49 Harvey2017 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 一、垃圾回收机制的意义 Java语言中一个显著的特点就是引入了垃圾回收机制,使得Java程序员在编写程序的时候不再需要考虑内存管理问题。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。 · Java中垃圾回收的目的 识别并且丢弃应用不再使用的对象来释放和重 阅读全文
posted @ 2017-11-13 23:09 Harvey2017 阅读(254) 评论(0) 推荐(1) 编辑
摘要: 背景: 一般情况下,我们建立数据库表时,表数据都存放在一个文件里。 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在不同的磁盘下由多个cpu进行处理。这样文件的大小随着拆分而减小,还得到硬件系统的加强,自然对我们操作数据是 阅读全文
posted @ 2017-11-08 00:21 Harvey2017 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 配置文件层次: pom.xml 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http: 阅读全文
posted @ 2017-10-31 16:37 Harvey2017 阅读(3190) 评论(0) 推荐(0) 编辑
摘要: 一、Lambda表达式 java8中Lambda表达式的书写方式: (参数) -> 表达式 (参数) -> 单行语句 (参数) -> { 语句 } 1.Lambda遍历List和Map package com.yanwu.www.demo; /** * @author Harvey */ impor 阅读全文
posted @ 2017-07-31 23:47 Harvey2017 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 注解类: 1 package com.www.yanwu.Annotation; 2 3 import java.lang.annotation.Documented; 4 import java.lang.annotation.ElementType; 5 import java.lang.ann 阅读全文
posted @ 2017-07-27 23:35 Harvey2017 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 要理解Java异常处理是如何工作的,你需要掌握以下三种类型的异常: 检查性异常(非运行时异常):由程序与环境互动产生的异常,最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。(处理:必须try-cat 阅读全文
posted @ 2017-07-24 11:31 Harvey2017 阅读(265) 评论(0) 推荐(0) 编辑