自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 读《一万小时天才理论》有感

极少概率一出来就是天才的,即使有也是比普通人多了一些髓鞘质,假如他不继续有效的练习以增加髓鞘质的话,后面同样与普通人无异,如古代的“方仲永”。 我们所认知的天才基本都是通过后天的培养所造就的,而造就的方法无一不是如下图所示: 伯乐:告诉我们遇到一个好的伯乐的重要性。好的伯乐能够找到学生现有...

2019-02-13 09:58:31

阅读数 390

评论数 0

原创 使用Vmware station12搭建虚拟机服务器集群

顾名思义使用Vmware station12搭建集群,首先就是要安装好Vmware station12,由于我安装Vmware已经很久了,所以在这里针对它的安装就不说了,自行百度去,本文从安装虚拟机开始。 安装完Vmware station12,大致是这种界面: 一、安装虚拟机 点击创建...

2018-09-18 18:16:23

阅读数 3141

评论数 1

原创 极简在线安装Redis

安装 下载,解压缩和编译Redis: $ wget http://download.redis.io/releases/redis-4.0.11.tar.gz $ tar xzf redis-4.0.11.tar.gz $ cd redis-4.0.11 $ make 这期间如果提示要下g...

2018-09-17 10:28:46

阅读数 102

评论数 0

转载 数据库优化-水平拆分 垂直拆分

参考: https://blog.csdn.net/iloveyin/article/details/39996831 https://blog.csdn.net/zljjava/article/details/38422387

2018-09-16 22:55:21

阅读数 64

评论数 0

原创 Spring源码分析之一:spring容器启动以及获取Bean实例所做的事

  一般手动启动spring容器和获取Bean实例我们会写如下代码: BeanFactory bf = new XmlBeanFactory(new ClassPathResource("testBean.xml",getClass())); MyTestBean bean...

2018-09-16 21:03:53

阅读数 1137

评论数 0

转载 获取Executor提交的并发执行的任务返回结果的两种方式/ExecutorCompletionService使用

当我们通过Executor提交一组并发执行的任务,并且希望在每一个任务完成后能立即得到结果,有两种方式可以采取:   方式...

2018-09-08 11:33:55

阅读数 133

评论数 0

转载 MyBatis事务隔离级别

版权声明:欢迎转载 https://blog.csdn.net/qq924862077/article/details/52599961 ...

2018-09-08 10:52:50

阅读数 157

评论数 0

原创 Web服务器一些机制

1 通信协议 1.1 HTTP/HTTPS          HTTP是HyperTextTransfer Protocol(超文本传输协议)的缩写。HTTP协议是用于从Web服务器传输超文本到本地浏览器的协议,它能使浏览器更加高效,使网络传输减少,保证计算机正确快速地传输超文本文档。   ...

2018-09-08 08:45:22

阅读数 74

评论数 0

转载 java类放入集合为什么重写equals和hashcode实现serializable(转)

在Java语言中,equals()和hashCode()两个函数的使用是紧密配合的,你要是自己设计其中一个,就要设计另外一个。在多数情况下,这两个函数是不用考虑的,直接使用它们的默认设计就可以了。但是在一些情况下,这两个函数最好是自己设计,才能确保整个程序的正常运行。最常见的是当一个对象被加入集...

2018-09-01 16:58:02

阅读数 103

评论数 0

原创 Eclipse如何debug调试jdk源码,并显示局部变量值

Eclipse调试jdk源码,参考: http://blog.csdn.net/xuefeng0707/article/details/8738869 显示局部变量值,参考: http://blog.csdn.net/leehsiao/article/details/50562871 其实...

2018-08-29 08:56:36

阅读数 517

评论数 0

原创 大型网站技术架构核心原理(一):概念恶补篇

一、大型网站的特点 与传统企业应用系统相比,大型互联网应用系统有以下特点。 高并发,大流量:需要面对高并发用户,大流量访问。 高可用:系统7*24小时不间断服务。 海量数据:需要存储、管理海量数据,需要使用大量服务器。 用户分布广泛,网络情况复杂:许多大型互联网都是为全球用户提供服务的,...

2018-08-24 10:54:54

阅读数 783

评论数 0

原创 关于对象序列化

本文主要讲: 1.引言-为什么要使用对象序列化以及序列化的好处 2.写代码说明怎么序列化和反序列化 3.序列化的控制(定义以及Transient关键字) 4.对象序列化的的限制 一、引言        当你创建对象时,只要你需要,它就会一直存在,但是在程序终止时,无论如何它都不会继续存...

2018-08-22 12:08:04

阅读数 97

评论数 0

转载 MyBatis 延迟加载,一级缓存,二级缓存设置

什么是延迟加载   resultMap中的association和collection标签具有延迟加载的功能。 延迟加载的意思是说,在关联查询时,利用延迟加载,先加载主信息。使用关联信息时再去加载关联信息。 设置延迟加载 需要在SqlMapConfig.xml文件中,在<se...

2018-08-21 10:26:54

阅读数 54

评论数 0

转载 几种分页方式分析

一.逻辑分页   1.逻辑分页的第一种方式,利用ResultSet的滚动分页。步骤如下:  a.根据条件sql查询数据库。  b.得到ResultSet的结果集,由于ResultSet带有游标,因此可以使用其next()方法来指向下一条记录。  c.利用next()方法,得到分页所需的结果集。 ...

2018-08-20 11:07:01

阅读数 182

评论数 0

转载 MyBatis原理分析之六:RowBounds分页原理

Mybatis可以通过传递RowBounds对象,来进行数据库数据的分页操作,然而遗憾的是,该...

2018-08-20 10:59:38

阅读数 2020

评论数 1

原创 MyBatis原理分析之五:一次SQL查询的源码分析

前面我们讲到Mybatis加载相关的配置文件进行初始化,这回我们讲一下一次SQL查询怎么进行的。 准备工作 Mybatis完成一次SQL查询需要使用的代码如下: String resource = "mybatis.cfg.xml"; ...

2018-08-20 10:31:17

阅读数 73

评论数 0

转载 MyBatis原理分析之四:自动映射器Mapper的底层实现原理

简单使用 这是一个简单的Mybatis保存对象的例子 @Test public void testSave() throws Exception { //创建sessionFactory对象 SqlSessionFactory sf = new SqlSessionFa...

2018-08-19 22:42:40

阅读数 1228

评论数 0

原创 MyBatis原理分析之三:初始化(配置文件读取与解析)

Mybatis的初始化过程,就是组装Configuration的过程,主要分为系统环境参数初始化和Mapper映射初始化,其中Mapper映射初始化尤为重要。 先看一个配置文件mybatis-config.xml,里面的内容大致为: <?xml version="1....

2018-08-19 16:00:50

阅读数 158

评论数 0

转载 MyBatis原理分析之二:从JDBC到Mybatis的过程

1.引言 本文主要讲解JDBC怎么演变到Mybatis的渐变过程,重点讲解了为什么要将JDBC封装成Mybaits这样一个持久层框架。再而论述Mybatis作为一个数据持久层框架本身有待改进之处。   &amp...

2018-08-19 11:30:43

阅读数 94

评论数 0

转载 MyBatis原理分析之一:框架整体设计

  1.引言 本文主要讲解Mybatis的整体程序设计,理清楚框架的主要脉络。后面文章我们再详细讲解各个组件。   2.整体设计 2.1 总体流程 (1)加载配置并初始化   &nb...

2018-08-19 11:21:10

阅读数 195

评论数 0

转载 MySql数据库连接池专题

一、什么是数据库连接池? 官方:数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。个人理解:创建数据库连接是一个很...

2018-08-18 16:36:12

阅读数 78

评论数 0

转载 PreparedStatement与Statement的区别

本人的几点浅见,各位大大不喜勿喷。 先说下这俩到底是干啥的吧。其实这俩干的活儿都一样,就是创建了一个对象然后去通过对象调用executeQuery方法来执行sql语句。说是CreateStatement和PrepareStatement的区别,但其实说的就是Statement和PrepareS...

2018-08-18 10:42:52

阅读数 51

评论数 0

转载 什么叫持久层框架

什么是持久层? 持久是相对于瞬时来说的,* 持久层,可以理解成数据 保存在 数据库或者 硬盘一类可以保存很长时间的设备里面,不像放在内存中那样断电就消失了,也就是把数据存在持久化设备上* ,你想一下 内存中的数据 断电就没有了,硬盘的数据 是否会像内存中的数据一样断电消失么? 为什么要使用持久...

2018-08-14 15:18:20

阅读数 416

评论数 0

原创 记录蚂蚁金服第一轮面试

         之前说好跟蚂蚁金服的人沟通好了,说昨天下午7点钟进行第一轮电话面试,对于这个面试心里还是比较忐忑的,毕竟毕业四年多,这还是第二次面试了,蚂蚁金服的人还是比较守时的,7点多2分就给我打电话了,整个面试过程自我感觉还是可以的,问的大部分技术问题都答上来了,面试官能感觉出来比较和善,呵...

2018-08-10 11:49:37

阅读数 1550

评论数 0

转载 TCP协议中的三次握手和四次挥手(图解)

TCP协议中的三次握手和四次挥手(图解) <div class=&amp...

2018-08-09 10:51:51

阅读数 67

评论数 0

原创 看完此文,必须明白一致性Hash算法

   一致性Hash算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot Spot)问题,初衷和CARP十分相似。一致性Hash修正了CARP使用的简单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。    一...

2018-08-06 11:47:06

阅读数 13107

评论数 2

原创 浅谈CAS机制

先来看个实例:启动两个线程,每个线程中让变量countNum循环累加100次。 public class TestCas { private static int countNum = 0; // private volatile static AtomicInteger countNu...

2018-08-03 11:07:37

阅读数 84

评论数 0

转载 负数的二进制表示方法

今天在看base64编码转换时,既然对负数的二进制表示有些遗忘,在网上找了一下资料,贴出来已备在此遗忘: 假设有一个 int 类型的数,值为5,那么,我们知道它在计算机中表示为: 00000000 00000000 00000000 00000101 5转换成二制是101,不过int类型的数占用4...

2018-08-01 12:47:47

阅读数 575

评论数 0

原创 JDK1.8中HashMap的实现原理及源码分析

一、概要              在JDK1.8之前,HashMap采用桶+链表实现,本质就是采用数组+单向链表组合型的数据结构。它之所以有相当快的查询速度主要是因为它是通过计算散列码来决定存储的位置。HashMap通过key的hashCode来计算hash值,不同的hash值就存在数组中不同...

2018-07-31 12:07:49

阅读数 129

评论数 0

原创 JDK1.8中LinkedList的实现原理及源码分析

一、概述            LinkedList底层是基于双向链表(双向链表的特点,可以看下我的另外一篇博文:https://blog.csdn.net/cb_lcl/article/details/81217972),链表在内存中不是连续的,而是通过引用来关联所有的元素,所以链表的优点在于...

2018-07-26 17:49:16

阅读数 450

评论数 0

原创 图解单向链表、双向链表

背景: 之前对单向链表、双向链表之间的结构一直理解的有些混乱,然后就各种百度、google查资料,最后在知乎里看到一篇专栏,一看里面的图就明白是咋回事了。        ...

2018-07-26 12:26:38

阅读数 1101

评论数 0

原创 JDK1.8中ArrayList的实现原理及源码分析

一、概述              ArrayList是Java开发中使用比较频繁的一个类,通过对源码的解读,可以了解ArrayList的内部结构以及实现方法,清楚它的优缺点,以便我们在编程时灵活运用。 二、源码分析 2.1 类结构  JDK1.8源码中的ArrayList类结构定义如下:...

2018-07-25 17:47:15

阅读数 835

评论数 0

原创 Maven Web项目使用Cargo实现自动化部署

下面的案例,基于Tomcat7,maven 3.3.9,假设项目名称是WebProject 在pom.xml中配置Cargo相关信息 一、部署到本地Web容器 1、使用standalone模式 在pom.xml配置下面代码: <build> &...

2018-07-25 10:43:54

阅读数 290

评论数 1

原创 Java虚拟机垃圾收集器

一、概述 1.1 为什么要了解垃圾收集器           目前内存的动态分配与内存回收技术已经相当成熟,一起看起来都进入“自动化”时代,那为什么还要去了解GC和内存分配呢,答案很简单:当需要排查各种内存溢出、内存泄露问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就需要要对这些“自动...

2018-07-23 10:07:36

阅读数 183

评论数 0

原创 虚拟机字节码执行引擎

一、概述   执行引擎是Java虚拟机最核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,区别是: 物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上的。 虚拟机的执行引擎是由自己实现的,因此可以自行定制指令集与执行引擎的结构体系,并且能够...

2018-07-21 18:02:10

阅读数 57

评论数 0

原创 Java虚拟机类加载机制

一、概述   虚拟机把描述类的数据从Class文件(Class文件中除了有类的描述信息外,还有常量池)加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 注:这里所说的“Class文件”应当是一串二进制的字节流。 二、类加载...

2018-07-18 20:49:16

阅读数 102

评论数 0

原创 解密Java虚拟机对象创建

* 本文讨论的对象限于普通Java对象,不包括数组和Class对象等 一、对象的创建   虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析、初始化过。如果没有,那必须先执行相应的类加载过程。  ...

2018-07-17 18:40:26

阅读数 172

评论数 0

原创 Java虚拟机内存模型

1. 概述     在说Java虚拟机内存模型之前,先了解一下物理计算机中的并发问题,物理机遇到的并发问题与虚拟机中的情况有不少相似之处,物理机对并发的处理方案对于虚拟机的实现也有相当大的参考意义。     由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统不得不加入...

2018-07-16 18:36:29

阅读数 109

评论数 1

原创 详解Java虚拟机内存各个区域

1. 概述    对于java程序员来说,不必手动写代码去管理内存,因为虚拟机的自动内存管理机制会帮我们做,但是一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的话,那么排查错误将会变得困难。   2. 运行时数据区域    Java虚拟机在执行Java程序的过程中会把它所...

2018-07-13 19:09:36

阅读数 706

评论数 0

原创 单例模式之饿汉式和懒汉式详解

一、何为单例模式、饿汉式、懒汉式单例模式是设计模式的一种,解决了一个类在内存中只存在一个对象。单例模式有以下特点:  1、单例类只能有一个实例。  2、单例类必须自己创建自己的实例,因为构造方法是私有的,无法在外部被实例化  3、单例类必须给所有其他对象提供这一实例,也就是说要把getInstan...

2018-07-05 16:24:49

阅读数 51

评论数 0

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