a745233700的博客

路漫漫其修远兮

Mybatis中 Dao接口 和 XML文件里的SQL 如何建立关系

面试题:Mybatis中的Dao接口和XML文件里的SQL是如何建立关系的? 如果有两个XML文件和这个DAO建立关系,岂不是冲突了? 一、解析XML: 首先,Mybatis在初始化SqlSessionFactoryBean的时候,找到mapperLocations路径去解析里面所有的XML...

2019-04-15 11:45:13

阅读数 61

评论数 0

Spring中bean的注入方式

平常的Java开发中,程序员在某个类中需要依赖其它类的方法。通常是new一个依赖类的实例再调用该实例的方法,这种开发存在的问题是new的类实例不好统一管理。 Spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过Spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。...

2019-04-15 10:51:35

阅读数 215

评论数 0

Java虚拟机:深入详细分析Java ClassLoader原理与源码

一、什么是ClassLoader? ClassLoader就是类加载器,当我们写好一个Java程序之后,都是由若干个.class文件组成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要...

2019-04-13 19:43:50

阅读数 48

评论数 0

Java虚拟机:Java中堆和栈的详细区别

一、Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作...

2019-04-12 13:02:15

阅读数 71

评论数 0

Java虚拟机:JVM架构与垃圾回收

一、JVM架构图分析: JVM被分为三个主要的子系统: (1)类加载器子系统(2)运行时数据区(3)执行引擎。 1. 类加载器子系统 Java的动态类加载功能是由类加载器子系统处理。当它在运行时(不是编译时)首次引用一个类时,它加载、链接并初始化该类文件。 1.1加载: 类由此组件...

2019-04-11 17:32:14

阅读数 66

评论数 0

Tomcat系统架构

一、Tomcat顶层架构 先上一张Tomcat的顶层结构图(图A),如下: Tomcat中最顶层的容器是Server,代表着整个服务器,从上图中可以看出,一个Server可以包含至少一个Service,用于具体提供服务。 Service主要包含两个部分:Connector和Contain...

2019-03-30 23:38:37

阅读数 64

评论数 0

集群/分布式环境下5种session处理策略

前言 在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理。如果不做任何处理的话,用户将出现频繁登录的现象,比如集群中存在A、B两台服务器,用户在第一次访问网站时,Nginx通过其负载均衡机制将用户请求转发到A服务器,这时A服务器就会给用户创建一个Session。当用...

2019-03-29 22:03:30

阅读数 58

评论数 0

Redis(三):常见数据结构 与 缓存击穿、缓存穿透与缓存雪崩解决

相关阅读: Redis(一):Redis概述与常见问题 Redis(二):数据回收策略、持久化原理、事务、主从复制 Redis(三):常见数据结构 与 缓存击穿、缓存穿透与缓存雪崩 Redis(四):Redis的分布式锁实现 Redis(五):数据库 和 缓存 双写一致性 一、re...

2019-03-03 15:25:59

阅读数 226

评论数 0

Redis(四):Redis的分布式锁实现

相关阅读: Redis(一):Redis概述与常见问题 Redis(二):数据回收策略、持久化原理、事务、主从复制 Redis(三):常见数据结构 与 缓存击穿、缓存穿透与缓存雪崩 Redis(四):Redis的分布式锁实现 Redis(五):数据库 和 缓存 双写一致性 关于分布...

2019-03-03 02:26:59

阅读数 174

评论数 0

Redis(五):数据库 和 缓存 双写一致性

首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。...

2019-03-02 21:18:13

阅读数 109

评论数 0

Java虚拟机:为什么新生代内存需要有两个Survivor区

  在JVM的新生代内存中,为什么除了Eden区,还要设置两个Survivor区? 1、为什么要有Survivor区: 先不去想为什么有两个Survivor区,第一个问题是,设置Survivor区的意义在哪里?  如果没有Survivor,Eden区每进行一次Minor GC,存活的对象就...

2019-02-21 17:56:40

阅读数 100

评论数 0

Java虚拟机:常见JVM参数配置和GC性能优化

一、常见的JVM参数配置: 1、垃圾回收统计信息: -XX:+PrintGC打印GC简要信息 -XX:+PrintGCDetails打印GC的详细信息 -XX:+PrintGCTimeStamps打印CG发生的时间戳 -Xloggc:log/gc.log指定GC log的位置,以文件输出...

2019-02-19 22:52:02

阅读数 133

评论数 0

十大排序算法小结

相关博客: 排序算法:冒泡排序、插入排序、选择排序、希尔排序 排序算法:归并排序、快速排序 排序算法:桶排序、计数排序、基数排序 排序算法:堆排序   前面学习了10中最基本的排序算法,这篇博客主要是对这10种排序算法的小结: 1、这十种排序算法可以分为两大类: (1)非线性时间排...

2019-01-30 15:50:53

阅读数 218

评论数 0

排序算法:堆排序

  相关博客: 排序算法:冒泡排序、插入排序、选择排序、希尔排序 排序算法:归并排序、快速排序 排序算法:桶排序、计数排序、基数排序 排序算法:堆排序 十大排序算法小结 一、堆: 1、什么是堆: 堆是一种特殊的树,它满足需要满足两个条件: (1)堆是一种完全二叉树,也就是除了最...

2019-01-30 14:40:12

阅读数 44

评论数 0

排序算法:桶排序、计数排序、基数排序

  相关博客: 排序算法:冒泡排序、插入排序、选择排序、希尔排序 排序算法:归并排序、快速排序 排序算法:桶排序、计数排序、基数排序 排序算法:堆排序 十大排序算法小结 这篇博客将主要介绍三种时间复杂度是O(n)的排序算法:桶排序、计数排序、计数排序。因为这些排序算法的时间复杂度都是...

2019-01-29 19:19:07

阅读数 53

评论数 0

排序算法:归并排序、快速排序

  相关博客: 排序算法:冒泡排序、插入排序、选择排序、希尔排序 排序算法:归并排序、快速排序 排序算法:桶排序、计数排序、基数排序 排序算法:堆排序 十大排序算法小结 一、归并排序: 1、工作原理: 归并排序的采用分治思想,如果要排序一个数组,我们先把数组从中间分成前后两个部分...

2019-01-29 17:22:45

阅读数 62

评论数 0

排序算法:冒泡排序、插入排序、选择排序、希尔排序

  相关博客: 排序算法:冒泡排序、插入排序、选择排序、希尔排序 排序算法:归并排序、快速排序 排序算法:桶排序、计数排序、基数排序 排序算法:堆排序 十大排序算法小结 一、冒泡排序: 1、算法原理: 冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是...

2019-01-28 23:27:36

阅读数 70

评论数 0

《剑指offer》答案整理

  第一题,二维数组中的查找:https://blog.csdn.net/a745233700/article/details/82108738 第二题,替换空格:https://blog.csdn.net/a745233700/article/details/82730804 第三题,从头...

2019-01-21 13:35:56

阅读数 238

评论数 0

Java多线程(三):Executor框架、线程池、ThreadLocal、乐观锁、悲观锁、无锁CAS 原理

  相关文章: Java多线程(一):JMM内存模型、volatile、synchronized、Lock锁、重入锁ReentrantLock 原理 Java多线程(二):创建线程的四种方式 Java多线程(三):Executor框架、线程池、ThreadLocal、乐观锁、悲观锁、无锁C...

2019-01-18 23:41:21

阅读数 166

评论数 0

Java多线程(一):JMM内存模型、volatile、synchronized、Lock锁、重入锁ReentrantLock 原理

  相关文章: Java多线程(一):JMM内存模型、volatile、synchronized、Lock锁、重入锁ReentrantLock 原理 Java多线程(二):创建线程的四种方式 Java多线程(三):Executor框架、线程池、ThreadLocal、乐观锁、悲观锁、无锁C...

2019-01-18 23:26:11

阅读数 196

评论数 0

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