自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

loy的码农时光

loy的码农时光,用代码写成故事。

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

原创 《如何优雅的关闭一个线程》

一、如何优雅的关闭一个线程所谓的“优雅”,指的是给其他被关闭的线程一个机会料理后事,而不是被一剑封喉。二、如何理解两阶段终止模式所谓的两阶段终止模式,是指第一个阶段,线程T1向线程T2发送终止指令,而第二阶段则是线程T2响应终止指令。三、线程的状态转换图从这个图里你会发现,Java线程进入终止状态的前提是线程进入Runnable状态,而实际上线程也可能是在休眠状态,也就是说,我们想要终止一个线程,首先要把线程的状态从休眠状态转换到Runnable状态,这个需要使用Java Thread

2021-01-16 16:09:45 625

原创 《Spring MVC源码分析》

一、Spring MVC 框架快速体验1.1 配置web.xml1.2 创建Sring 配置文件的applicationContext.xml1.3 创建model1.4 创建controller二、源码分析2.1 ContextLoaderListenerContextLoaderListener的作用是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就

2021-01-03 10:57:06 220 2

原创 《Spring AOP源码分析》

一、AOP的概述1.1 AOP的概念切面 (aspect ):规则,一系列的方法统一的规则连接点(JoinPoint):在程序执行过程中的一点,例如方法的执行或异常的处理。通知(Advice) :代理对象执行规则业务的方法切点 (PointCut): 需要代理的具体方法,target的某一个方法目标对象:需要被代理的对象target织入(Weaving) :织入是将切面和业务逻辑对象连接起来, 并创建通知代理的过程。1.2 几个通知类型前置通知:PointC

2020-12-27 11:38:54 186

原创 《SpringBoot启动源码分析》

一、整体过程说明1.1 启动入口方法SpringApplication.run(LoySpringBootApplication.class,args);2.1 总体过程1.获取并启动监听器2.构建容器环境3.创建容器4.实例化SpringBootExceptionReporter,用于支持报告异常的错误5.准备容器6.刷新容器7.刷新容器后的扩展接口2.2 整体过程代码 /** * 运行一个spring应用,创建并刷新一个ApplicationContext */

2020-12-20 11:38:39 174 2

原创 《Spring源码分析之Bean的创建过程》

一、创建过程概览1.1 prepareRefresh();// Prepare this context for refreshing.// 准备待刷新的上下文环境1.2 obtainFreshBeanFactory();// Tell the subclass to refresh the internal bean factory.// 通知子类刷新内部的bean工厂1.3 prepareBeanFactory(beanFactory);// Prepare the bean

2020-12-14 18:56:34 190

原创 《Spring源码分析之BeanDefinition的创建过程》

一、Spring的几个类说明1.1 BeanDefinitiom1.2 Resource1.3 BeanFactory1.4 ApplicationListener

2020-12-07 23:37:56 160

原创 《Loy解说SpringCloud之Zuul》

一、简介 路由是微服务中不可或缺的一部分,例如/可以路由到我们的web服务下,而/api/order,可以路由到我们的订单服务,/api/product,可以路由到我们的商品服务。Zuul是Netflix公司提供的基于JVM的路由器和服务器端的负载平衡器。二、Zuul主要解决的问题 动态路由 鉴权 服务迁移 压力测试 三、如何使用Zuul 3.1 要想将Zuul引入到项目中,可以添加如下jar包的依赖 <!-- 依...

2020-11-28 23:34:28 180

原创 《Loy解说Hystrix》

1.1Hystrix项目搭建1.1.1 依赖相关jar// 新增hystrix依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency>1.1.2 hystrix 相关配置 ...

2020-11-22 22:39:05 138

原创 《Loy解说Eureka客户端源码(一)》

01 | 搭建Eureka客户端1. 依赖相关jar <!-- 引入eureka客户端端 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId&g..

2020-11-17 00:08:41 130

原创 《Loy解说Eureka服务端源码(二)》

01 | 说明 接着上一篇文章,上一篇主要讲解了Eureka的搭建过程,已经自动配置类的一些相关配置,本篇重点说明以下内容服务端是如何接收客户端请求的?02 | 服务端如何接收客户端请求Jersey过滤器 该过滤器的作用类似于Spring-MVC,用于拦截API请求 与Spring-MVC不同的是,Spring-MVC使用拦截器进行请求拦截,而Jersey使用过滤器拦截。 实例化过程 ...

2020-11-15 23:42:22 134

原创 《Loy解说Eureka服务端源码(一)》

Eureka服务端源码分析(一)01 | Eureka服务端的作用服务注册 提供服务注册表 同步状态 Eureka Client 通过注册、心跳机制和Eureka Server 同步当前客户端的状态 Eviction 服务剔除 Cancel 服务下线 Eureka Client 在程序关闭时向Eureka Server 发送取消请求,发送请求后,该客户端实例信息将从Eureka Server 的实例注册表中删除 02 | 搭建Eureka服务端应用创建一个eureka-..

2020-11-15 17:10:09 126

原创 《Loy解说SpringBoot的注解》

一、Conditional 条件注解说明@ConditionOnBean 当容器下有指定的bean条件下 @ConditionOnClass 当类路径下有指定的Class条件下 @ConditionOnExpression 基于表达式条件为true时,才实例化 @ConditionOnMissBean 当容器下没有指定的bean条件下 @ConditionOnMissClass 当类路径下没有指定的class条件下 @ConditionOnWebApplication 当项目为web项目条件下

2020-08-03 18:29:46 153

原创 《码农时光的飞行日记》

| 生活不止于眼前的代码,还有诗与远方的BUG时光轴:》 2014-10-08 在岁月的褶皱里,透过阳光的空隙,穿越至此刻时,激动满怀的我正式成为了一名码农。》 2015-02-27 漫步于世界的某个角落,然后用脚步丈量世界的每个角落,在繁华的街市里,终于踏足于深圳。》 2019-11-04 开启博客之旅。个人喜好:篮球、阅读...

2019-11-04 19:39:33 200

原创 《搭建ElasticSearch服务》

一、搭建ElasticSearch服务1、下载elasticSearch压缩文件下载地址:https://www.elastic.co/downloads/elasticsearch下载相对应的版本2、将下载的文件解压我的路径是 /app/tools/elasticsearch-6.5.4.tar.gz3、启动服务cd /app/tools/elasticsea...

2018-12-29 14:49:47 276

原创 《elasticSearch的填坑记录》

一、Springboot整合elasticSearch的过程1、添加依赖    &lt;!-- Spring Boot Elasticsearch 依赖 --&gt;        &lt;dependency&gt;            &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;            &lt;a...

2018-12-27 18:16:08 1196

原创 《搭建SpringBoot的基本步骤》

1、检查环境    (1)查看jdk版本 java -version       (2) 查看maven版本  mvn -version     2、创建maven 项目    目录结构为:    3、加入springboot相关jar包的依赖4、创建运行主类5、创建控制层类6、运行application类7、运行结果说明:供学习记录使用。8、总结(1)需要检查环境(2)pom.xml文件中引入s...

2018-06-05 19:07:36 973

原创 《HashMap的常用操作》

package com.sufow.test;import java.util.HashMap;import java.util.Map;/*** * HashMap的一些常用方法的使用 * @author Administrator * */public class MapTest2 { public static void main(String[] args) {

2017-02-24 17:32:28 454

原创 《Map中HashMap与TreeMap的排序以及四种遍历方式》

一、Map概述1、Map是将键映射到值( key-value )的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。2、Map与Collection的区别    (1)Map 是以键值对的方式存储元素,键唯一,值可以重复。    (2)Collection存储的是单列元素,子接口Set元素唯一,子接口List可以重复。    (3)Map的数据结构针对键有效,跟值无关

2017-02-24 16:24:12 1990

原创 《提高SQL查询效率的30种方法》

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: selec

2017-02-23 11:27:07 428

转载 Java程序员应该知道的10个调试技巧

调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷。对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序。本文介绍了Java程序员必知的10个调试技巧,保证让你受益匪浅!调试可以帮助识别和解决应用程序缺陷,在本文中,作者将使用大家常用的的开发工具Eclipse来调试Java应用程序。但这里介绍的调试方法基本都是通用的,也适用于NetBea

2017-02-15 16:29:58 175

原创 关于javaweb中session

Test

2016-11-04 18:43:32 276

原创 JAVA中classpath的作用与获取方式

一、classpath的作用1、当需要编译JAVA源文件时,设置classpath 可以解决需要编译的class不在当前目录下的问题。      例如当前目录是D:/java/demo,而需要执行的文件在E:/java/classes/Test.class。       javac -classpath E:/java/classes/Test.java      当需要执行jav

2016-11-03 16:09:32 674

原创 ibatis中SqlMapClientTemplate与SqlMapClient的区别

一、SqlMapClientTemplateSqlMapClientTemplate是由Spring框架用于支持ibatis的一个类。 SqlMapClientFactoryBean是SqlMapClientTemplate的使用基础,必须在配置文件配置相关bean<bean id="sqlMapClient" class="org.springframework.orm...

2016-11-02 16:20:36 1862

空空如也

空空如也

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

TA关注的人

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