1.背景 Spring的核心思想就是容器,当容器refresh的时候,外部看上去风平浪静,其实内部则是一片惊涛骇浪,汪洋一片.Springboot更是封装了Spring,遵循约定大于配置,加上自动装配的机制.很多时候我们只要引用了一个依赖,几乎是零配置就能完成一个功能的装配. 我非常喜欢这种自动装配的机制,所以在自己开发中间件和公共依赖工具的时候也会用到这个特性.让使用者以最小的代价接入.想要把自动装配玩的转,就必须要了解spring对于bean的构造生命周期以及各个扩展接口.当然了解了bean…
文章首发自个人微信公众号: 小哈学Java https://www.exception.site/java-concurrency/java-concurrency-thread-life-cycle 在 Java 初中级面试中,关于线程的生命周期可以说是常客了.本文就针对这个问题,通过图文并茂的方式详细说说. 结合上图,线程的生命周期大致可分为以下五种状态: NEW - 新建 RUNNABLE - 等待被CPU调度 RUNNING - 正在运行 BLOCKED - 阻塞 TERMINATED…
IntentService是什么 在内部封装了 Handler.消息队列的一个Service子类,适合在后台执行一系列串行依次执行的耗时异步任务,方便了我们的日常coding(普通的Service则是需要另外创建子线程和控制任务执行顺序) IntentService的缺点 IntentService,一次只可处理一个任务请求,不可并行,接受到的所有任务请求都会在同一个工作线程执行 IntentService is subject to all the background execution l…
上篇文章我们讲了synchronized的用法和实现原理,我们总爱说synchronized是重量级锁,volatile是轻量级锁.为什么volatile是轻量级锁,体现在哪些方面?以及volatile的作用和实现原理是怎样的?本篇带你一块学习一下. 1. volatile是什么? volatile是Java提供的一种轻量级的同步机制.与synchronized修饰方法.代码块不同,volatile只用来修饰变量.并且与synchronized.ReentrantLock等重量级锁不同的是,vo…
手写webpack核心原理 目录 手写webpack核心原理 一.核心打包原理 1.1 打包的主要流程如下 1.2 具体细节 二.基本准备工作 三.获取模块内容 四.分析模块 五.收集依赖 六.ES6转成ES5(AST) 七.递归获取所有依赖 八.处理两个关键字 一.核心打包原理 1.1 打包的主要流程如下 需要读到入口文件里面的内容. 分析入口文件,递归的去读取模块所依赖的文件内容,生成AST语法树. 根据AST语法树,生成浏览器能够运行的代码 1.2 具体细节 获取主模块内容 分析模块 安装…
SpringBoot 整合 Elasticsearch (超详细) 注意: 1.环境搭建 安装es Elasticsearch 6.4.3 下载链接 为了方便,环境使用Windows 配置 解压后配置 找到config目录的elasticsearch.yml 分词器 默认的Es是不支持中文分词的,下载ik分词器(下载的版本要与Es保持一致) Elasticsearch-ik 6.4.3 下载链接 下图所示,解压后的分词器放在plugins目录下,ik目录需要自己创建 启动 由于我是在Window…
新建springboot项目 开发工具:idea2019.2,maven3 pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boo…
目前java的开发很多Learner都慢慢的学习使用IDEA这款工具,个人觉得其实相比Eclipse来说差不多,个人习惯的问题,但是我还是推荐IDEA这款工具.虽然它目前是收费的,但相信网上的各种破解方式很多,由于对学生和教师是可以免费使用的,所以个人推荐拿个学生邮箱去注册一个,非常的方便快捷就是一个验证而已,具体步骤就希望大家去网上get一下了.好现在!我们通过IDEA来搭建一个简单的web. 1. 创建并初始化 点击Create New Project选择Spring Initializr并…
异想之旅:本人博客完全手敲,绝对非搬运,全网不可能有重复:本人无团队,仅为技术爱好者进行分享,所有内容不牵扯广告.本人所有文章发布平台为CSDN.博客园.简书和开源中国,后期可能会有个人博客,除此之外全部是盗文! oracle和java官网进行过升级,个人在学习java的时候发现安装的教程大多落后,所以这里出一篇新的 对于新手可能不了解jdk和jre,简单说就是jre是生产服务器使用,包含基本运行功能,而jdk是供开发使用,功能更全面. 另,我不是菜,只是考虑到真实的新手状况写的详细些 不废话,…
前言:作为.Net攻城狮,你面试过程中是否遇到过这样的问题呢:什么是事件?事件和委托的区别?既然事件作为一种特殊的委托,那么它的优势如何体现?诸如此类...你是否也曾经被问到过?你又是否都答出来了呢?上两篇由浅及深介绍了下委托的用法,这篇还是来说说事件.希望通过这篇的介绍,博友能有个系统的认识,至少应付面试没问题了吧.不信?瞧瞧去~~ C#基础系列目录: C#基础系列——Linq to Xml读写xml C#基础系列——扩展方法的使用 C#基础系列——序列化效率比拼 C#基础系列——反射笔记 C…