自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yyf的博客

写博客是分享学习的一种方式,但更多的是收获自己所得到的;个人网站:http://www.yuyufeng.top...

原创 我的GitHub:https://github.com/yuyufeng1994

一些demo会放在我的GitHub仓库里,欢迎交流 地址:https://github.com/yuyufeng1994

2019-04-25 14:19:17 1896 2

原创 Spring源码阅读——bean的加载过程解析

前言 在上一节中,我们已经了解过Spring对bean从XML中提取,并且以BeanDefinition类型解析注册到Spring的DefaultListableBeanFactory中取了,那么,接下来就应该来看下我们在Spring中获取一个实例过程中,bean是如何加载成为我们需要的对象的了...

2018-07-09 16:42:52 353 1

原创 MyBatis源码阅读——通过debug解析MyBatis运行流程

最近在阅读MyBatis框架的源码。发现它其实是一个非常值得阅读的框架。它灵活得运用了常见的设计模式去设计。值得我们去学习。我还是比较喜欢以debug阅读MyBatis的源码。

2018-06-07 13:22:08 11988 5

原创 Spring源码阅读——通过debug源码解析SpringMVC的流程

准备 简单搭建一个Spring MVC的项目,并写一个Controller,运行一个基本的请求转发 DispatcherServlet类图分析 由此图我们可以分析的到,DispatcherServlet继承的FrameworkServlet实现了Spring中的Application...

2018-04-10 16:40:40 2665 1

原创 知识库管理系统——项目

分享下自己大学时做的项目《知识库管理系统》 https://github.com/yuyufeng1994/KnowledgeLibrary 功能简介 文件集中上传: 系统支持单文件上传以及批量上传,系统支持zip、rar格式的压缩包导入。 亮点创新 多格式文件在线预览 用...

2018-03-28 08:34:12 27729 60

原创 微信小程序实战—实现城市列表的选择

微信小程序实战—实现城市列表的选择 实现效果预览 实现功能简介 城市的选择 按中文/拼音/首字母条件搜索 按首字字母快速定位到城市位置 目录结构 主要代码 app.js App({ globalData: { trainBeginCity: �...

2018-01-19 17:05:52 16975 1

原创 搜索学习基础--基本概念的简单阐述

关于查询查询数据分为精确查找和模糊查找 精确查找:对于精确查找,我们都非常熟悉,就是这个值必须等于这个条件。比如我们常用的数据库查询中: select * from user_info where user_id = ? 模糊查找:对于模糊查找,我们需要查找的范围就是结果中的某...

2017-11-09 20:13:15 720 0

原创 基于TextRank算法提取关键词——Java实现

TextRank算法 提取关键词

2017-11-03 16:33:42 7571 0

原创 编写自己rpc框架——Java RPC的实现

my-rpc 了解dubbo的一些原理后,想尝试自己编写rpc,加深了解。 个人对rpc原理的见解 rpc是一种远程过程调用协议。rpc主要功能:异构分布式项目之间的通信,使消费者只需要知道接口,远程调用方法就像调用本地方法一样。 要使得消费层只通过接口调用远程实现方法,那么其之间的...

2017-08-19 22:48:33 2207 0

原创 基于redis的分布式锁的实现

之前一直对分布式锁有所思考。一直觉得现在高性能的redis是个不错的选择; 前文:关于分布式锁的思考   今天也尝试着写了一个基于redis的分布式锁工具 LockUtil.java   package yyf.Jedis.toolsByRedis; import java.uti...

2017-02-07 10:51:09 4264 3

原创 使用eclipse建立webservice服务和客户端

Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。 Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加...

2020-04-01 15:38:13 36325 13

原创 Maven设置镜像为本地文件

<mirror> <id>central</id> <mirrorOf>*</mirrorOf> <name>central</name> <url>file://d:\\repo\maven&...

2020-01-13 17:56:21 158 0

转载 CentOS 6.5 Linux 安装 openoffice

目录 资源准备: Apache_OpenOffice_4.1.4_Linux_x86-64_install-rpm_zh-CN.tar.gz 编译安装: 本人资源包放在 /opt/moudles 中, 解压后放在 /opt/softwares 中 解压 openoffice 包 [root@loc...

2019-08-26 13:54:34 68 0

原创 解决github的pageHelper中查询出来的分页对象PageInfo<PO>优雅转化PageInfo<DTO>的问题

在我们使用github的pageHelper的时候,我们查出来的是PO对象,我们往往在上层需要DTO或VO回想,这里我写了一个工具类来优雅的转化PageInfo类型 工具类 PageInfoUtil.java import com.github.pagehelper.Page; import c...

2019-07-22 10:59:54 3538 4

转载 SpringMVC重定向导致的内存泄漏分析

SpringMVC重定向频繁会导致的内存泄漏,我们的产品也碰到的这样的问题。网上也有类似解决方案: 原文链接 @RequestMapping(method = RequestMethod.GET) public String test(String redirectUrl){ return “re...

2019-07-08 15:27:13 203 0

原创 【流媒体服务】使用nginx来搭建rtmp服务

资源准备 在windows平台上搭建 【nginx-rtmp-module】 https://github.com/arut/nginx-rtmp-module/releases/tag/v1.2.1 【nginx-Gryphon】 http://nginx-win.ecsds.eu/dow...

2019-06-18 10:52:10 153 0

原创 MyBatis源码阅读——MyBatis插件PageHelper的实现过程

前言 在之前的文章 MyBatis源码阅读——MyBatis插件原理中我们已经知道MyBatis的插件是如何运行的,这篇文章中,我们将去了解MyBatis常用插件com.github.pagehelper.PageHelper的实现过程 示例代码 https://github.com/yuyufe...

2019-05-24 11:38:33 195 0

原创 KNN算法的入门demo

数据准备 代码 package top.yuyufeng.learn; import top.yuyufeng.learn.model.MyData; import top.yuyufeng.learn.utils.ExcelReader; import java.util.HashMap;...

2019-04-23 16:06:18 119 0

转载 JVM 优化

Tomcat 启动命令行中的优化参数,就是 JVM 的优化 。Tomcat 首先跑在 JVM 之上的,因为它的启动其实也只是一个 java 命令行,首先我们需要对这个 JAVA 的启动命令行进行调优。不管是 YGC 还是 Full GC,GC 过程中都会对导致程序运行中中断,正确的选择不同的 GC...

2019-04-18 14:31:30 67 0

原创 【Java多线程】等待通知机制(二)等待通知机制的使用

synchronized可以将如何一个Object对象作为同步对象来看待,Java为每个Object都实现了wait和notify()方法。notify()方法可以使调用该方法唤醒等待队列中等待同一资源的“一个线程”,并使该线程退出等待队列,进入可运行状态。仅通知一个。notifyAll()方法可...

2019-03-18 15:06:24 83 0

原创 我为什么要写博客?谈谈一些关于自己学习的想法

不知不觉,已经踏入程序员这个行业已经有2年了。我大学就读于软件工程专业,算是专业非常对口了,虽然大学是一所普通的一本,但是也不乏有一起在实验室学习的同学一起学习编程。毕业之后,也都会在工作之余去学习巩固一些知识。只是,相比于大学时期,现在的我们对算法、操作系统等基础的东西都不会花太多时间了,更多的...

2019-03-18 11:15:37 501 1

原创 【Java多线程】等待通知机制(一)为什么要使用等待通知机制

先看以下代码: MyList.class public class MyList { private List list = new ArrayList(); public void add(){ list.add("俞育峰"); } ...

2019-02-26 16:48:59 140 0

原创 【Java多线程】方法yield的使用

说明 yield()方法作用是放弃当前CPU资源,让其他任务去占用CPU执行时间。但放弃的时间不确定。 代码示例 package top.yuyufeng.demo.thread; /** * @author yuyufeng * @date 2019/2/22. */ public c...

2019-02-25 14:51:24 671 0

原创 【Java多线程】方法join的使用

场景描述 主线程启动子线程,如果子线程中要进行大量的耗时运算,主线程会早于子线程结束,这时候主线程如果想等待子线程完成之后再运行,就需要join()方法 代码示例 package top.yuyufeng.demo.thread; /** * @author yuyufeng * @date...

2019-02-22 15:59:26 831 0

原创 【Java多线程】线程停止

package top.yuyufeng.demo.thread; /** * @author yuyufeng * @date 2019/2/21. */ public class Demo1Threadinterrupted { public static void main(...

2019-02-21 15:24:30 62 0

原创 Dubbo负载均衡调优策略

前言 虽然目前Spring Cloud全家桶非常的火热,Dubbo依然在很多公司有着举足轻重的地位。我自己也经历了很久Dubbo的项目,今天突然想整理下Dubbo的优化策略。曾经有一段时间,我们项目底层的提供层集群经常发生卡顿,而且,一旦一个服务器开始卡顿,整个系统就会受到影响,甚至整个服务宕机。...

2019-01-31 11:13:33 320 0

原创 Java虚拟机学习——内存分配策略

如何判断对象已死 引用计数法 在Java虚拟机中不经常出现 弊端:互相引用问题,导致计数都不为0,无法通知GC收集器去回收 可达性分析 没有到任何引用链相连,则被判定是可回收的对象 对象优先在Eden分配 大多数情况下,对象在新生代Eden区中分配。 当Eden区没有足够空间进行分配时,虚拟机将发...

2019-01-24 10:52:08 70 0

原创 Vue入门——环境的搭建 vue-cli

安装vue-cli cnpm install -g @vue/cli 创建vue项目 vue create hello-world 打开项目,运行工程 cd hello-world npm run serve (cnpm run serve) 打开网页

2019-01-22 10:59:12 93 0

原创 Windows上安装nodejs

下载 http://nodejs.cn/download/ npm https://npm.taobao.org/ $ npm install -g cnpm --registry=https://registry.npm.taobao.org

2019-01-21 14:51:50 66 0

原创 【Spring Cloud】Spring Cloud Config 配置统一管理(二) 配置文件的热更新

说明 在之前的配置同一管理中,我们每次修改配置文件之后,都需要重新启动客户端才会去拉取最新的配置文件,现在,我们需要去实现配置文件的热更新。 配置 第一步:引入依赖 &lt;dependency&gt; &lt;groupId&gt;org.springfr...

2019-01-10 11:27:09 550 0

原创 【Spring Cloud】spring-boot-starter-actuator 健康监控

说明 Spring Boot的actuator(健康监控)功能提供了很多监控所需的接口,可以对应用系统进行配置查看、相关功能统计等。 引入依赖 &lt;dependency&gt; &lt;groupId&gt;org.springframework.b...

2019-01-10 11:05:08 375 0

原创 反射中Class.forName()和ClassLoader.loadClass()的区别

Java类的加载过程 装载:通过累的全限定名获取二进制字节流,将二进制字节流转换成方法区中的运行时数据结构,在内存中生成Java.lang.class对象; 链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的; 校验:检查导入类或接口的二进制数据的正确性;(文件格式验证,元数据验证,...

2019-01-07 09:53:59 65 0

原创 [ELK日志分析平台]kibana的搭建

前提 Elasticsearch已成功安装部署 下载地址:https://www.elastic.co/downloads/kibana 安装运行 修改配置文件 kibana.yml,写入Elasticsearch的地址 点击bin\kibana.bat启动 启动完成后打开 http://l...

2019-01-03 11:38:50 86 0

原创 [ELK日志分析平台]Elasticsearch的搭建

前提 平台:windows Elasticsearch下载地址:https://www.elastic.co/downloads/elasticsearch 安装启动 下载解压完成后,点击 bin\elasticsearch.bat启动 (这里就不做集群了) 访问 http://localhos...

2019-01-03 11:09:27 83 0

原创 【Spring Cloud】Spring Cloud Config 配置统一管理(一)

Spring Cloud Config 由服务端和客户端组成,借助git仓库存储配置信息,可以轻松的实现分布式项目配置文件统一管理 配置中心服务端 spring-cloud-config-server 依赖 &amp;amp;amp;lt;?xml version=&...

2018-12-26 14:50:55 120 0

原创 【Spring Boot】Sping Boot 默认数据库连接连接池 hikari

在Sping Boot 2.0之后默认使用hikari数据库连接池,您或许不再一定要用druid、c3p0等连接池了 hikari的优势 在Spring Boot的官方文档中,其更推荐使用hikari数据库连接池,因其高效的性能和并发性。 在很多朋友的感受中,HiKariCP是数据库连接池的...

2018-12-24 15:49:16 7054 0

原创 【Spring Boot】Sping Boot 模板引擎 thymeleaf 的使用 以及 layout 的使用例子

在Spring Boot 2.0 以上版本,一定要引用 thymeleaf-layout-dialect !!!,不然你得layout就无法使用

2018-12-21 11:18:44 158 0

原创 【Spring Boot】Sping Boot与Mybatis的集成例子

这里我直接把Spring Boot集成了TKMyBatis,在实际项目使用使用非常方便,不需要写常用的增删改查接口。 项目依赖 &lt;parent&gt; &lt;groupId&gt;org.springframework.boot&...

2018-12-21 10:04:22 114 0

原创 【Spring Boot】定时任务 Scheduled

在我们的项目开发过程中,经常需要定时任务来帮助我们来做一些内容,springboot默认已经帮我们实行了,只需要添加相应的注解就可以优雅的实现。对于一些简单的任务调度,这是一种非常简便的方式。 项目依赖 &amp;lt;parent&amp;gt; ...

2018-12-21 09:47:23 114 0

原创 [RabbitMQ]核心概念

Server:又称Broker,接受客户端的连接,实现AMQP实体服务 Connection:连接,应用程序与Broker的网络连接 Channel:网络信道 几乎所有的操作都在Channel中进行 Channel是进行消息读写的通道 客户端可建立多个Channel 每个Channel代表一...

2018-12-19 09:23:23 63 0

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