自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java并发(7)Java中的锁

从前的日色变得慢,车,马,邮件都慢,一生只够爱一个人,从前的锁也好看 钥匙精美有样子 你锁了 人家就懂了。木心先生写的这首小诗很有情调,一般来说,你锁住了自己的家门,其他人也就进不去了,本文的标题是锁,当然,这个“锁”说的不是锁住家门的锁,而是java中的锁,为了更好的理解java中的锁,先举个简单但不怎么优雅的栗子:我们有个共享资源,这个资源是马桶,这个马桶可以被所有人使用,但是同一时...

2018-11-29 15:08:09 286

原创 Java并发(6)深入分析java线程池框架及实现原理(三)

前文说到

2018-11-29 15:07:01 239

原创 使用Prometheus Operator优雅的监控Kubernetes

什么是Prometheus-OperatorPrometheus-Operator是一套为了方便整合prometheus和kubernetes的软件,使用Prometheus-Operator可以非常简单的在kubernetes集群中部署Prometheus服务,并且提供对kubernetes集群的监控,并且通过Prometheus-Operator用户能够使用简单的声明性配置来配置和管理Pro...

2018-11-29 14:47:46 8260 1

原创 深入理解java虚拟机(1) -- 理解HotSpot内存区域

前言本系列文章为笔者阅读周志明老师所著的《深入理解java虚拟机 第二版》的一些感悟及读书笔记,这本书在我2016年(大三)的时候读过第一次,但是到现在很多细节已经有所遗忘,所以再次重读本书的时候,通过博客的形式,总结一下阅读之后的一些感悟以及对一些知识点的记录,以便日后可以快速回忆书中的内容。正文JVM将内存划分为几个不同的数据区域,每个区域都有各自的用途,根据《Java虚拟机规...

2018-01-11 20:31:50 514

原创 理解mysql索引背后的数据结构B~Tree(B-Tree/B+Tree)

B-Tree在不同的文献中的定义略显不同,所以在我初学B-Tree的时候非常困惑,知乎的一篇回答解答了我的困惑为什么 B-tree 在不同著作中度的定义有一定差别? - oldsharp的回答 - 知乎 ,本文将以算法导论中的定义来对B-Tree展开讨论。正文在《算法导论》和《计算机程序设计艺术》一书中中对B-Tree的度的定义有略微的不同,在《算法导论》中定义了一个「最小度数t」表示「半满」状态

2017-12-05 16:05:16 1172

原创 springboot入门(四)springboot默认日志logback配置

前言springboot默认配置提供了对常用日志的支持,如Java Util Logging,Log4J, Log4J2和Logback,本文主要讲解springboot默认使用的日志logback配置文件该如何配置,以及代码中如何使用日志,以及如何输出mybatis的sql日志。正文springboot对logback已经提供了默认的配置,所以要使用logback非常简单,只需要在resource

2017-11-29 10:12:37 1858 1

原创 springboot入门(三)-- springboot集成mybatis及mybatis generator工具使用

mybatis是一个半自动化的orm框架,所谓半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完全自动化的框架我更喜欢mybatis,mybatis非常灵活,可以随心所欲的编写自己的sql语句来实现复杂的数据库操作,还会有一种畅酣淋漓的编写sql语句的潇洒感,但是以前的mybaits需要一大堆的配置

2017-11-28 13:58:39 53609 12

原创 springboot入门(二)--springboot常用注解及配置

在上一篇文章 《springboot入门(一)--快速搭建一个springboot框架》介绍了如何快速开始一个springboot应用,文中几乎没有配置任何信息,就得到了一个可运行的WEB应用,本文将从springboot如何工作开始讲起springboot的配置文件以及常用注解

2017-11-27 18:39:51 1190

原创 springboot集成RabbitMQ

问题记录一个白痴问题,在我使用springboot集成RabbitMQ的时候出现了一个错误,百度&google了许久,终于知道原因所在,故记录下来,希望帮到RabbitMQ的初学者 问题是这样的: 在springboot中集成RabbitMQ,运行时报了如下异常,google了一下,Connection reset 的意思是:服务器在TCP三次握手建立连接的时候调用了Socket.clos

2017-11-23 22:49:53 558

原创 java8新特性之lambda表达式

前言Java9已经在今年9月正式发布了,作为一个java开发人员如果对Java8的新特性还不了解,可能需要跟进一下了,虽然从我大学开始学Java装的第一个jdk版本就是jdk1.8,但我却一直没用过java8的新特性,但是当我学会Java8的一些新特性之后,我感觉我可能离不开它们了,因为lambda表达式能给我提供很大的方便使得开发变得更加简洁高效。正文抛开题外话,网上有太多的java8新特性介绍及

2017-11-17 18:13:03 411

原创 springboot入门(一)--快速搭建一个springboot框架

在开始之前先简单介绍一下springboot,springboot作为一个微框架,它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序,总的来说springboot不是为了要替代Spring IO平台上众多的项目也不是spring的升级,它只是提供一种不同的开发体验,一种几乎没有配置文件的快速开发的框架

2017-10-23 20:04:31 3452

原创 springboot定时器

在使用spring的时候遇到如下场景:由于业务需要,需要定时更新数据库,比如每隔两个小时更新一次某个字段的状态,无论是什么场景只要是需要定时去执行某种操作都可以使用spring的定时器任务来解决,以下将介绍springboot如何使用定时器任务:创建定时任务:@Componentpublic class NoticeTask { private SimpleDateFormat simple

2017-10-23 18:08:53 654

原创 Java并发(5)深入分析java线程池框架及实现原理(二)

在上一篇文章中介绍了Java线程池框架的一些原理及基本架构,本篇文章主要介绍Java8中线程池框架ThreadPoolExecutor的工作原理!ThreadPoolExecutor作为Java线程池框架最核心的一个类,它是线程池框架的具体实现,在上一篇文章中已经讲解了该类的构造方法及构造方法中各参数的具体含义,接下来分析ThreadPoolExecutor如何给任务分配线程并且执行任务的:...

2017-10-16 14:24:01 446

原创 Java并发(4)深入分析java线程池框架及实现原理(一)

先说说我个人对线程池的理解:线程池顾名思义是一个装有很多线程的池子,这个池子维护着从线程创建到销毁的怎个生命周期以及线程的分配,用户只需要把任务提交给这个线程池而不用去关心线程池如何创建线程,线程池会自己给这些任务分配线程资源来完成任务。java的Executor线程池框架类图大致如下:    Executor:执行者,java线程池框架的最上层父接口,地位类似于spr...

2017-08-08 17:32:14 2069

原创 java并发(3)ThreadLocal的使用及实现原理(实现原理)

在上一篇文章中介绍了ThreadLocal的简单使用,这篇文章通过jdk8ThreadLocal的源码分析一下ThreadLocal的实现原理.首先分析一下ThreadLocal这个类,先从该类的initialValue方法说起:

2017-08-07 13:46:10 521

原创 java并发(2)ThreadLocal的使用及实现原理(使用)

ThreadLocal:线程本地变量.在java的java.lang.Thread类中有个threadLocals变量,该变量的类型是ThreadLocal的内部类ThreadLocalMap,该变量是一个map,保存着该线程的独有的变量副本,所有通过ThreadLocal维护的变量都是存放在当前线程的这个threadLocals的Map中所以这些变量都是线程安全的,下面是Thread类中的该

2017-08-02 16:33:34 959

原创 并发(1)基本的线程机制

1.Executor:Executor(执行器)将为你管理Thread对象,Executor在客户端和任务执行之间提供了一个间接层。ExecutorService(具有服务生命周期的Executor,例如关闭)知道如何构建恰当的上下文来执行Runnable对象。 使用如下:public class Test1 implements Runnable { private static int

2017-07-14 17:05:43 497

原创 关于java8接口中默认方法的使用

java8在接口中引入了默认方法,通过在方法前加上default关键字就可以在接口中写方法的默认实现,有点类似于C++中的多继承,但是当多个接口或父类中有相同签名的方法时,会引发一些问题,经过实验得出如下结论:1.当继承的父类和实现的接口中有相同签名的方法时,优先使用父类的方法。2.当接口的父接口中也有同样的默认方法时,就近原则调用子接口的方法。3.当实现的多个接口中有相同签名的方法时

2017-07-06 13:39:31 3280 1

空空如也

空空如也

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

TA关注的人

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