自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 JAVA内存区域划分

    大家好,今天和大家分享java内存区域划分知识。    通常我们把java的内存区域粗略划分为栈内存和堆内存,但是这只能说明程序员平常比较关心的是这两块内存,其实JAVA的内存划分却不止这两块内存,而要更加复杂一些。    JAVA内存划分为以下几个区域:                          1.程序计数器    2.虚拟机栈    3.本地方法栈    4.方法区    5...

2018-07-13 21:58:58 1459 1

原创 SpringMVC工作原理(1)

    大家好,今天和大家分享SpringMVC的相关知识,主要是对SpringMVC的工作原理做一些分析。    SpringMVC的工作流程如下:    接下来我们先来对其中的组件以及相应的功能来做简单介绍:    组件:1.DispatcherServletDispatcherServlet是我们所说的前端控制器,由框架进行提供,作用是接收请求,返回相应结果,同时负责调度其他组件进行工作,是...

2018-07-13 21:57:37 2625

原创 JAVA虚拟机的类加载过程(1)

    大家好,今天和大家分享JAVA中类加载过程的部分知识。    一开始我们先来了解一下JAVA的类加载过程的定义:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的JAVA类型,这就是虚拟机的类加载机制。    类从被加载到虚拟机内存中开始,到卸载出内存为止,整个过程包括了加载,连接,初始化,使用和卸载五个阶段,然后在连接过程中...

2018-07-13 21:55:38 319

原创 JAVA的垃圾收集过程(3)

     大家好,上一篇我们讲到了java如何对垃圾进行收集,提到了三种垃圾收集算法,以及将各种收集算法进行组合优化的分代收集,今天的标题虽然是JAVA的垃圾收集过程,但是我们会主要讲解一些关于JAVA内存分配的知识。    其实,在JAVA所提倡的自动内存管理中,我们最终可以归结为自动化的解决了两个问题,一个问题是对象内存分配,一个问题是如何回收分配给对象的内存,关于回收内存,我们之前已经进行了...

2018-06-28 09:34:13 284

原创 JAVA垃圾收集过程(2)

    大家好,上次和大家分享了JAVA垃圾回收过程的第一个步骤:如何判断对象是否需要回收,今天我们来分享如何进行垃圾回收。    在JVM中,进行垃圾回收主要有以下几种方式:    1.标记-清除算法。    2.复制算法。    3.标记-整理算法。    4.分代收集算法。    下面我们来分别具体介绍:    1.标记-清除算法:    标记-清除算法是最基础的收集算法,该算法分成两个过程...

2018-06-28 09:32:36 292

原创 JAVA垃圾回收过程(1)

    大家好,今天和大家分享JAVA中的垃圾回收机制的简单执行过程。  《深入理解JAVA虚拟机》中说:JAVA和C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。可以简单理解一下:JVM的优势在于将程序员和内存分离,而JVM的劣势也在于程序员不能直接操作内存了。    其实说起垃圾收集机制(GC),很多人将这项技术当成了伴随着JAVA而产生的一项技...

2018-06-28 09:18:57 1588

原创 Druid使用Kafka Indexing Service方式push数据以及实时节点pull数据步骤

  Druid中从kafka摄入数据,存在两种方式,一种是pull,需要依赖实时节点,一种是push,需要依赖Kafka Indexing Service(kafka索引服务)     注:在0.9.1.1版本前使用Tranquility-Kafka组件接入实时数据,由于存在时间窗口,即在时间窗口内的数据会被提交给Firehose,时间窗口外的数据则会被丢弃;如果Tranquility-Kafka...

2018-05-27 13:44:07 3299

原创 关于JAVA衍生出的一点想法

    大家好,很久没有更新博客了,今天更新的博客中,不讨论技术,主要讨论的是一些个人想法,博主在前些天和一位做PHP的同事有过一次短暂的碰撞,在这个过程中,对JAVA有了更深入一些的思考,在这里分享出来供大家点评,首先声明,以下观点仅是博主个人观点,受限于博主自身能力和经验,可能有一些观点并不完全正确,如有错误,希望大家批评指正。    一开始,我想先说明一下,我们在讨论过程中,首先讨论的是PH...

2018-05-27 13:17:52 571

原创 MySql中的覆盖索引

    大家好,由于最近在工作中使用MySql时遇到了一个查询问题,涉及到索引覆盖的问题,所以在这里和大家分享博主关于索引覆盖的学习知识。    首先博主在工作中发现有同事在进行数据查询时,使用的是select * 的查询方式,由于一直知道不建议使用这种方式,但是不知道具体原因,所以查找了一些资料,简要来说不建议使用select * 查询语句的主要原因有以下几点:    1.过多的多余字段会带来数...

2018-05-06 19:18:56 1565

原创 Shrio身份认证与权限认证简要源码调用过程

    大家好,很久没有更新博客了,最近由于工作需要,正在学习有关Shrio的一些知识,网上关于Shrio的教程与资料十分丰富,在这里就不做过多说明了,下面的简要说明摘自张开涛老师的《跟我学Shrio》教程:Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能,对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务。并且相对于其他安全框架,...

2018-04-22 12:25:55 420

原创 volatile内存语义以及实现(一)

大家好,很久没有和大家分享学习知识了,今天大年初一,在这里祝大家新年快乐。作为新年第一篇博客,我们在这里和大家分享一些关于volatile的学习知识。首先我们知道volatile被称作是JAVA中的轻量级锁,其实个人理解这种说法并不恰当,只能是说明volatile变量具有锁的某些特性,但是不能简单的理解成锁。下面说一下本人对volatile的理解,首先一点,我并不是将voiatile当成锁来理解,...

2018-02-16 20:13:56 451

原创 MySql中insert,group by,order by语句优化

我们在MySql中经常进行数据的增删改查操作,这里和大家一起分享一些常用的sql优化技巧。首先我们来说一下ORDER BY的优化。ORDER BY 是我们在sql中进行排序的语句,首先我们使用ORDER BY 语句的时候,如果可以按照有序索引顺序扫描来返回有序数据的话,那么这种方式是最快的,比如说我们有一张表A,其主键为ID,ID自增,并且存在主键索引,那么我们进行如下查询:select

2018-01-13 14:19:49 1748

原创 MySql使用索引和不使用索引的几种情况

索引是优化sql查询速度的重要优化方式,但是在存在索引时,有一些情况会使用索引,有一些情况下不会使用索引。 使用索引的情况如下: 1.对索引进行全值匹配,例如一个组合索引包括3列,当查询语句中出现indexA=A and indexB=B and indexC=C这样的语句时,会使用索引。 2.对B-Tree索引进行范围匹配,当索引类型为B—Tree索引时,类似于indexA > A and

2018-01-02 12:50:22 2590

原创 Junit源码阅读心得(2)

Junit源码,Junit入口执行流程

2017-12-28 14:45:34 261

原创 Junit源码阅读心得(1)

junit源码阅读心得

2017-12-21 17:55:49 683

原创 SpringMVC中重定向数据转发

SpringMVC中的重定向数据转发

2017-12-03 21:18:32 401

原创 MySql常见数据库引擎特点

大家好,今天和大家分享一些关于MySQL数据库的一些知识,主要是一些关于数据库存储引擎上的区别。其实,我们在日常使用的数据库中,最为常见的数据库引擎大概有四种,分别是MyISAM,InnoDB,MEMORY,以及MERGE,这四种数据库存储引擎有着各自的特点和区别,今天就和大家简单分享一下这四种存储殷勤的区别。简要区别如下: MyISAM: 有存储限制,表的定义语句,数据,

2017-11-26 14:08:21 1286

原创 HashSet与TreeSet中的等同性比较

set中的等同性比较

2017-11-05 15:03:05 394

原创 Tomcat中的Connector和Container

Tomcat中的Connector和Container

2017-10-29 16:32:22 2124

原创 线程安全的单例模式是否真的安全(2)

在上一篇《线程安全的单例模式是否真的安全》的博文中我们交流了关于常见的双重检查锁定的单例模式存在的问题,并给出了第一种关于使用volitaile解决方式,,今天我们来说第二种解决方式。闲话不多说,我们直接上代码:public class InstanceCreater { private static class InstanceProducter { p

2017-09-17 19:33:39 312

原创 自定义锁中的同步队列与等待队列

在JAVA SE5之后,JAVA中增加了Lock接口用来实现自定义锁对象,但是当进行锁对象的自定义时,一般要在类内部内置一个内部类,而这个内部类需要实现队列同步器AbstractQueuedSynchronizer,并且重写其中的方法,当调用自定义锁的时候,其实是关联到了内部的队列同步器的方法中,从而实现了自定义对象的锁功能。今天和大家分享一些队列同步器内部维护的两个队列(同步队列以及等待队列)的...

2017-09-17 13:10:45 1640 1

原创 线程安全的单例模式是否真的安全

线程安全的单例模式是否真的安全上次我们谈了一些关于JAVA中锁级别的问题,这一次和大家聊一聊JAVA中常见的单例模式,并且指出常见的线程安全的单例模式所存在的一些问题,并对问题给出部分解答。首先,单例模式是我们常用和常见的经典设计模式之一,但是由于在JAVA中,多线程问题往往会引起单例模式的水土不服,所以,我们就见到了线程安全的单例模式,首先一种单例模式如下所示:public class Saf

2017-09-10 16:40:39 671 2

原创 浅谈java中的锁级别

进行锁分级的说明

2017-08-30 15:35:32 1312

空空如也

空空如也

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

TA关注的人

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