2020年1月11日

架构设计-架构需求分析

摘要: 一、架构设计的需求分析从哪来 需求分析的前期工作是愿景描述及愿景分析, 即愿景分析就是需求的前期调研. 从软件过程来看,需求分析是一个承上启下的阶段–“上承”愿景,“下接”设计。需求分析的工作内容包含如下三方面: 需求捕获: 理解沟通需求分析:做什么,有哪些问题 系统分析:原因是什么, 怎么做 三者 阅读全文

posted @ 2020-01-11 16:53 Bertha然 阅读(2509) 评论(0) 推荐(0)

2020年1月10日

JVM调优,看完秒懂

摘要: 深入浅出JVM调优 基本概念: JVM把内存区分为堆区(heap)、栈区(stack)和方法区(method)。由于本文主要讲解JVM调优,因此我们可以简单的理解为,JVM中的堆区中存放的是实际的对象,是需要被GC的。其他的都无需GC。 下图文JVM的内存模型 从图中我们可以看到, 1、JVM实质上 阅读全文

posted @ 2020-01-10 15:38 Bertha然 阅读(869) 评论(0) 推荐(0)

2019年11月29日

springboot核心原理

摘要: 1.基于你对springboot的理解描述一下什么是springboot 它是一个服务于spring框架的框架,能够简化配置文件,快速构建web应用, 内置tomcat,无需打包部署,直接运行。 2.约定优于配置指的是什么? maven 的目录结构 a) 默认有 resources 文件夹存放配置文 阅读全文

posted @ 2019-11-29 16:23 Bertha然 阅读(933) 评论(0) 推荐(0)

2019年11月22日

什么是索引?Mysql目前主要的几种索引类型

摘要: 一、索引 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。 打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。 索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有 阅读全文

posted @ 2019-11-22 16:50 Bertha然 阅读(1974) 评论(0) 推荐(0)

2019年11月15日

netty的原理

摘要: 1. Netty简介 Netty是一个高性能、异步事件驱动的NIO框架,基于JAVA NIO提供的API实现。它提供了对TCP、UDP和文件传输的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得 阅读全文

posted @ 2019-11-15 17:55 Bertha然 阅读(314) 评论(0) 推荐(1)

2019年11月13日

Java面试必问-ThreadLocal

摘要: 前言 在面试环节中,考察"ThreadLocal"也是面试官的家常便饭,所以对它理解透彻,是非常有必要的. 有些面试官会开门见山的提问: “知道ThreadLocal吗?” “讲讲你对ThreadLocal的理解” 当然了,也有面试官会慢慢引导到这个话题上,比如提问“在多线程环境下,如何防止自己的变 阅读全文

posted @ 2019-11-13 15:50 Bertha然 阅读(304) 评论(0) 推荐(0)

[Java Performance] 线程及同步的性能之线程池/ThreadPoolExecutors/ForkJoinPool

摘要: 线程池和ThreadPoolExecutors 虽然在程序中可以直接使用Thread类型来进行线程操作,但是更多的情况是使用线程池,尤其是在Java EE应用服务器中,一般会使用若干个线程池来处理来自客户端的请求。Java中对于线程池的支持,来自ThreadPoolExecutor。一些应用服务器也 阅读全文

posted @ 2019-11-13 10:52 Bertha然 阅读(792) 评论(0) 推荐(0)

2019年11月8日

java并发锁ReentrantReadWriteLock读写锁源码分析

摘要: 1、ReentrantReadWriterLock 基础 所谓读写锁,是对访问资源共享锁和排斥锁,一般的重入性语义为如果对资源加了写锁,其他线程无法再获得写锁与读锁,但是持有写锁的线程,可以对资源加读锁(锁降级);如果一个线程对资源加了读锁,其他线程可以继续加读锁。 java.util.concur 阅读全文

posted @ 2019-11-08 15:56 Bertha然 阅读(241) 评论(0) 推荐(0)

可重入锁:ReentrantLock理解使用

摘要: (一)可重入性 可重入性描述这样的一个问题:一个线程在持有一个锁的时候,它内部能否再次(多次)申请该锁。如果一个线程已经获得了锁,其内部还可以多次申请该锁成功。那么我们就称该锁为可重入锁。通过以下伪代码说明: void methodA(){ lock.lock(); // 获取锁 methodB() 阅读全文

posted @ 2019-11-08 15:09 Bertha然 阅读(1112) 评论(0) 推荐(0)

2019年11月7日

java的锁机制

摘要: 大家都知道,在Java多线程编程中,一个非常重要的方面就是线程的同步问题。 关于线程的同步,一般有以下解决方法:1. 在需要同步的方法的方法签名中加入synchronized关键字。2. 使用synchronized块对需要进行同步的代码段进行同步。3. 使用JDK 5中提供的java.util.c 阅读全文

posted @ 2019-11-07 15:04 Bertha然 阅读(137) 评论(0) 推荐(0)

导航