自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java并发工具类-Semaphore解析

基本概念Semaphore(信号量)用来限制访问同一资源的线程数量。它通过初始化一个固定数量的配额,当线程要执行时,必须先获取配额才能继续执行,当获取不到时,就需要挂起等待;持有配额的线程执行完后需释放配额,并唤醒等待的线程。使用方法public class SemaphoreDemo { public static void main(String[] args) { ...

2020-03-12 15:45:44 210

原创 Java并发工具类-CountDownLatch解析

基本概念我们平时开发中,应该遇到过这样的需求:一个功能需要几个线程一起合作完成,然后要等这些线程都处理完成了,才能继续后续的操作。这时我们就可以选择使用CountDownLatch这个并发工具包。使用方法package com.demo;import java.text.SimpleDateFormat;import java.util.Date;import java.util.co...

2020-03-12 14:23:27 208

原创 Java同步机制-ReentrantLock使用

文章目录基本概念常用方法CASAQS同步队列运行原理Condition队列运行原理ReentrantLock内部原理公平锁非公平锁基本概念ReentrantLock是自JDK1.5开始引入的一种排他锁,它提供了比synchronized更多更灵活的特性,可以被继承、可以有方法、可以有各种各样的类变量。我们看下ReentrantLock如何使用的,代码如下:public class Reent...

2020-03-11 21:49:29 417

原创 Java同步机制-synchronized使用

文章目录synchronized简介synchronized使用同步普通方法同步静态方法同步代码块synchronized用法总结synchronized简介Java平台中的任何一个对象都有一个与之关联的锁。这种锁被称为监视锁或者内部锁。 内部锁是一种排他锁,它能够保障原子性、可见性和有序性。synchronized使用synchronized关键字可以用来修饰方法及代码块,它有如下应用方...

2020-03-11 17:56:11 275

原创 java基础面试题

面向对象和面向过程的区别面向过程优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗 资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。缺点: 没有面向对象易维护、易复用、易扩展面向对象优点: 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护缺点: 性...

2020-03-11 15:18:14 126

原创 Java多线程编程-基础学习

文章目录1. 基本概念2. 线程创建与启动继承Thread类实现Runnable接口3. 常用方法4. 线程生命周期5. 线程中断什么是中断使用方法中断响应6. 等待(wait)/通知(notify)1. 基本概念我们先来了解下什么是进程和线程?他们之间的关系是什么?进程:进程是程序的运行实例(例如:一个运行的Eclipse就是一个进程),进程是程序向操作系统申请资源(如内存空间和文件句柄...

2020-03-11 15:02:49 142 1

原创 java集合-HashMap分析

我们知道java面试中,HashMap出现的频率是很高的。我们就来分析一下HashMap的常用知识点。HashMap底层数据结构我们看到HashMap内部是使用数据+链表/红黑树的(jdk1.8之后加入了红黑树)结构存储的。HashMap主要参数DEFAULT_INITIAL_CAPACITY:初始化容量,默认值16,容量大小需要是2的整数倍。MAXIMUM_CAPACITY:容量的...

2020-03-10 15:46:23 1270

原创 MySql Sql语句常见优化

我们先创建如下表:CREATE TABLE customer_info( id INT NOT NULL auto_increment, name VARCHAR(100) NOT NULL, birthday DATE NOT NULL, phone CHAR(11) NOT NULL, country varchar(100) NOT NULL, ...

2020-03-10 09:28:24 143

原创 SpringBoot源码解析-启动流程(二)

上一篇SpringBoot源码解析-启动流程(一)我们分析了SpringBoot启动的第一步:创建SpringApplication对象,这一篇我们继续分析其中的第二步:run方法,在开始之前,我们先有个宏观的认识。我们进入run方法: public ConfigurableApplicationContext run(String... args) { //创建计时器...

2020-03-09 18:33:46 154

原创 SpringBoot源码解析-启动流程(一)

我们都知道启动一个SpringBoot项目,只需要运行主类的main方法,这背后启动机制是什么样的,我们来追踪源码具体分析一下:我们的启动类是这样的:@SpringBootApplicationpublic class DemoSpringbootApplication { public static void main(String[] args) { Applic...

2020-03-09 15:29:42 211

原创 SpringBoot自定义Starter

在我们的日常开发工作中,可能会需要开发一个通用模块,以供其它工程复用。SpringBoot就为我们提供这样的功能机制,我们可以把我们的通用模块封装成一个个starter,这样其它工程复用的时候只需要在pom中引用依赖即可,由SpringBoot为我们完成自动装配,下面提供一个自定义starter的开发流程:创建Starter项目定义Starter需要的配置(Properties)类编写St...

2020-03-08 17:32:46 314

转载 apidoc简单教程

apidoc简单使用教程

2017-07-14 11:20:14 1111

转载 springboot排除模板文件或静态文件修改时导致的热部署

springboot启用热部署后,使用myeclipse开发时, 修改静态资源编译后会同时修改配置文件的时间戳,导致应用也会重新启动,可以通过在配置文件中配置资源文件修改时不重新部署。

2017-07-13 18:51:40 1622

空空如也

空空如也

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

TA关注的人

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