JavaEE
文章平均质量分 87
等一杯咖啡
未曾踏足山巅,时常坠落低谷,前者追逐梦想,后者受益良多...
展开
-
Spring源码——bean的加载
前言内容主要参考自《Spring源码深度解析》一书,算是读书笔记或是原书的补充。进入正文后可能会引来各种不适,毕竟阅读源码是件极其痛苦的事情。本文主要涉及书中第五章的部分,依照书中内容以及个人理解对Spring进行了注释,详见Github仓库:https://github.com/MrSorrow/spring-framework在前几篇文章中,我们已经完成了将XML配置文件的信息转换为 B...原创 2018-09-26 21:48:10 · 4486 阅读 · 3 评论 -
Spring源码——自定义标签解析
前言内容主要参考自《Spring源码深度解析》一书,算是读书笔记或是原书的补充。进入正文后可能会引来各种不适,毕竟阅读源码是件极其痛苦的事情。本文主要涉及书中第四章的部分,依照书中内容以及个人理解对Spring进行了注释,详见Github仓库:https://github.com/MrSorrow/spring-framework在上一篇文章中,我们已经完成了分析Spring容器对四大...原创 2018-09-03 15:55:44 · 466 阅读 · 0 评论 -
Spring源码——默认标签解析
前言内容主要参考自《Spring源码深度解析》一书,算是读书笔记或是原书的补充。进入正文后可能会引来各种不适,毕竟阅读源码是件极其痛苦的事情。本文主要涉及书中第三章的部分,依照书中内容以及个人理解对Spring进行了注释,详见Github仓库:https://github.com/MrSorrow/spring-framework在上一篇文章中,我们已经对Spring读取配置文件注册B...原创 2018-08-31 16:59:00 · 540 阅读 · 0 评论 -
SpringBoot+Docker重构淘淘商城
本项目源于某培训机构的宜立方商城(淘淘商城)项目,重新利用 SpringBoot 2.0.4 框架替代原始的SSM三大框架进行重构项目,采用 Docker 容器替代原本的虚拟机来进行项目的部署。利用IntellJ IDEA基于SSM框架实现淘淘商城代码仓库地址:https://github.com/MrSorrow/taotao重构项目使用环境及版本如下:Java-1.8Sprin...原创 2018-08-21 08:54:40 · 3584 阅读 · 10 评论 -
JavaEE进阶——Docker安装Solr(单机/集群)
准备工作了解 Solr 服务相关知识了解Docker了解Docker的网络模型本地环境宿主机:CentOS 7Docker CE安装单机版Solr服务拉取 Solr 镜像;docker pull solr:7.4.0启动 Solr 容器,即可访问 http://ip:8983/ ;docker run --name taotao-solr -d -p ...原创 2018-08-13 07:13:15 · 5951 阅读 · 2 评论 -
JavaEE进阶——Docker安装Redis(单机/集群)
知识准备了解 Redis 相关基础知识;了解Docker安装单机版Redis拉取Redis镜像;docker pull redis:3.2启动Redis容器;docker run -d -p 6379:6379 --name 容器名 redis:3.2开启6379端口;测试连接。安装集群版Redis(一主两备)了解Docker容器 –link ...原创 2018-08-13 06:44:11 · 1009 阅读 · 5 评论 -
JavaEE进阶——Docker安装MySQL
安装Docker环境CentOS7安装Docker CE;# SET UP THE REPOSITORY AND INSTALL DOCKER CEsudo yum install -y yum-utils device-mapper-persistent-data lvm2sudo yum-config-manager --add-repo https://download.d...原创 2018-08-13 06:30:22 · 439 阅读 · 1 评论 -
Spring源码——容器的基本实现
前言内容主要参考自《Spring源码深度解析》一书,算是读书笔记或是原书的补充。进入正文后可能会引来各种不适,毕竟阅读源码是件极其痛苦的事情。本文主要涉及书中第二章的部分,依照书中内容以及个人理解对Spring进行了注释,详见Github仓库:https://github.com/MrSorrow/spring-frameworkI. 容器基本用法测试工程在上一篇文章中,已...原创 2018-07-27 13:28:30 · 2010 阅读 · 2 评论 -
JavaEE进阶——全文检索之Solr7.4服务器
I. SolrSolr简介Solr是Apache的顶级开源项目,使用java开发 ,基于Lucene的全文检索服务器。 Solr比Lucene提供了更多的查询语句,而且它可扩展、可配置,同时它对Lucene的性能进行了优化。Solr的全文检索流程索引流程: Solr客户端(浏览器、java程序)可以向Solr服务端发送POST请求,请求内容是包含Field等信息的一个xml文...原创 2018-07-06 14:09:56 · 6914 阅读 · 11 评论 -
Spring源码——ClassPathXmlApplicationContext流程
前言最近回顾了一下Spring源码,准备用思维导图的方式简单的将整个源码内容的流程展示出来,思维导图、图片等文件更新在https://github.com/MrSorrow/spring-framework仓库中,阅读博客不方便可以直接下载。思维导图使用MindMaster制作而成,可以下载导入查看。如果有知道如何在markdown中展示思维导图或矢量图的朋友,希望能评论告知原创 2019-04-10 15:49:16 · 763 阅读 · 2 评论 -
Spring源码——XmlBeanFactory流程
前言最近回顾了一下Spring源码,准备用思维导图的方式简单的将整个源码内容的流程展示出来,思维导图、图片等文件更新在https://github.com/MrSorrow/spring-framework仓库中,阅读博客不方便可以直接下载。思维导图使用MindMaster制作而成,可以下载导入查看。如果有知道如何在markdown中展示思维导图或矢量图的朋友,希望能评论告知 :)本文主要关...原创 2019-04-09 14:27:26 · 471 阅读 · 0 评论 -
电商秒杀系统相关实现
本文主要就电商秒杀系统所涉及的相关技术进行探究,相关Demo地址如下:- 个人实现版本:[https://github.com/MrSorrow/seckill](https://github.com/MrSorrow/seckill)- Github Star较高的版本,第一版也是基于慕课网的:[https://github.com/qiurunze123/miaosha](https://github.com/qiurunze123/miaosha)本Demo实现了电商项目的秒杀功能,主要内容包原创 2019-05-11 14:37:19 · 4482 阅读 · 2 评论 -
美团Leaf源码——号段模式源码解析
前言I. 导入项目Leaf由Maven构建,源码地址:https://github.com/Meituan-Dianping/Leaf首先先Fork官方仓库到自己的仓库,我的源码注释版:https://github.com/MrSorrow/Leaf下载源码,导入IDEA,导入成功依赖下载完成后项目结构大致如下:II. 测试项目使用号段模式「创建数据库表」DROP TABLE I...原创 2019-05-15 19:30:06 · 6448 阅读 · 2 评论 -
JavaEE进阶——ZooKeeper和Curator
I. 简介ZooKeeper是一个分布式的,提供分布式应用程序协调服务的一个项目。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。II. 工作机制ZooKeeper从设计模式角度理解:是基于观察者模式的分布式服务管理框架,它负责存储和管理所有节点都关心的数据...原创 2019-05-20 20:39:05 · 928 阅读 · 0 评论 -
美团Leaf源码——snowflake模式源码解析
前言上一篇文章介绍了如何使用Leaf的号段模式生成分布式全局唯一id,参照下图我们简单总结一下。当我们部署Leaf集群时(图中是3个),每个节点起初都包含一个双 buffer,也就是双号段。当有请求过来时,每个节点都会去数据库查询按照初始的DB中的step去更新最大id,从而获取到一个号段,然后每个节点当第一个号段用到超过10%的时候再异步准备第二个号段。所以按照图中的理解可以认为左中右三个节点...原创 2019-05-19 17:12:51 · 6773 阅读 · 8 评论 -
Spring源码——MVC流程
前言最近回顾了一下Spring源码,准备用思维导图的方式简单的将整个源码内容的流程展示出来,思维导图、图片等文件更新在https://github.com/MrSorrow/spring-framework仓库中,阅读博客不方便可以直接下载。思维导图使用MindMaster制作而成,可以下载导入查看。如果有知道如何在markdown中展示思维导图或矢量图的朋友,希望能评论告知原创 2019-04-19 15:12:50 · 790 阅读 · 0 评论 -
Spring源码——动态AOP实现流程
前言最近回顾了一下Spring源码,准备用思维导图的方式简单的将整个源码内容的流程展示出来,思维导图、图片等文件更新在https://github.com/MrSorrow/spring-framework仓库中,阅读博客不方便可以直接下载。思维导图使用MindMaster制作而成,可以下载导入查看。如果有知道如何在markdown中展示思维导图或矢量图的朋友,希望能评论告知原创 2019-04-14 23:15:29 · 1118 阅读 · 0 评论 -
Spring源码——声明式事务流程
前言最近回顾了一下Spring源码,准备用思维导图的方式简单的将整个源码内容的流程展示出来,思维导图、图片等文件更新在https://github.com/MrSorrow/spring-framework仓库中,阅读博客不方便可以直接下载。思维导图使用MindMaster制作而成,可以下载导入查看。如果有知道如何在markdown中展示思维导图或矢量图的朋友,希望能评论告知原创 2019-04-16 21:06:24 · 859 阅读 · 0 评论 -
Spring Boot源码——源码阅读环境搭建
前言阅读Spring Boot源码,需要先有所了解Spring Framework相关知识或者源码细节等,可以参考我之前的相关博客内容。接下来,主要着手研究Spring Boot这一块,如果还不知道怎么用Spring Boot,建立花费一些时间入门一下。本文主要是阅读源码的第一步,搭建阅读Spring Boot源码的环境,我们依然使用的是IDEA工具。环境准备JDK8+Maven3.5...原创 2019-04-21 16:32:41 · 19615 阅读 · 4 评论 -
JavaEE进阶——FreeMarker模板引擎
I. 简介FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。 模板编写为FreeMarker Template Language (FTL)。 在模板中,你可以专注于如何展现数据, 而在模板之外可以专注于...原创 2018-07-18 15:32:50 · 20453 阅读 · 3 评论 -
Spring源码——IDEA读Spring源码环境搭建
IDEA读Spring源码环境搭建I. Spring介绍还有什么好介绍的,做 Java 的都知道。至于为什么读源码,还有什么好说的,还不是被逼的!II. Gradle安装下载:https://gradle.org/install/Windows平台下,需要配置gradle的环境变量。新增 GRADLE_HOME 环境变量,指向Gradle解压目录配置Path环境...原创 2018-07-23 17:45:50 · 30306 阅读 · 38 评论 -
SpringMVC框架使用(一)
Jar包下载commons-logging-1.2-bin.zipspringframework创建工程intelljidea新建JavaEE工程(空项目);在WEB-INF文件夹下新建lib文件夹,将下载的jar包全部拷贝进去并add as library;  配置前端控制器DispatcherServlet编写web.xml文件,配置信息如下:<?xml version="1原创 2017-10-17 23:12:39 · 398 阅读 · 0 评论 -
Nginx入门以及开源博客Tale的部署
Nginx入门以及开源博客Tale的部署前言在发布微信号文章,原文链接一直用的是简书文章地址,在微信浏览器中一直都会额外显示标题栏。所以想用自己搭建博客系统的形式来解决这一问题。在搭建博客系统时,选择了国人开源的一个Java博客系统Tale,在部署时涉及到Nginx,所以也对Nginx的知识点进行了一点入门。NginxNginx类似于Apache和Tomcat,也是一种服务器软件。Nginx是一原创 2017-07-09 22:17:23 · 3939 阅读 · 2 评论 -
腾讯云服务器使用
使用工具腾讯云服务器CVMUltraEdit连接CVM云服务器确认CVM主机的登录名称、密码以及公网IP。安装CVM的系统尽量选择CentOS,因为使用yum安装Java环境会方便很多。(图片上是Ubuntu) 在UltraEdit的菜单栏中中选择高级——>SSH/Telnet帐号中选择新建远程连接账号,将步骤一的帐号信息填写上去并保存; 再次选择SSH/Telnet控制台,选择刚刚新建的U原创 2017-07-07 17:23:19 · 787 阅读 · 0 评论 -
使用阿里云服务器ESC
使用阿里云服务器ESC官网购买ESC创建实例新手导航:阿里云官方新手教程 1、使用ssh登录远程服务器 2、格式化和挂载数据盘安装Mysql:链接修改权限,允许navicat连接:步骤一,步骤二(参考vim操作文件)启动mysql:service mysql start停止mysql:service mysql stopjava环境搭建:可以先下载到本地原创 2017-01-08 01:43:12 · 4230 阅读 · 2 评论 -
Eclipse快捷键大全
Ctrl+1快速修复(最经典的快捷键,就不用多说了)Ctrl+D:删除当前行Ctrl+Alt+↓复制当前行到下一行(复制增加)Ctrl+Alt+↑复制当前行到上一行(复制增加)Alt+↓当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑当前行和上面一行交互位置(同上)Alt+←前一个编辑的页面Alt+→下一个编辑的页面(当然是针对上面那条来说了)转载 2017-01-20 13:26:36 · 280 阅读 · 0 评论 -
jQuery学习笔记
一、引入1、页面加载执行$(function(){ //页面加载完执行})2、根据标签id得到jquery对象$("#id")e.g. $("#username")3、获取jQuery对象的值$("#id").val();e.g. $("#username").val();4、将dom对象转换为jQuery对象var (jQuery)变量名 = $(dom对象);e.g原创 2017-01-17 17:31:02 · 885 阅读 · 0 评论 -
Mybatis反向工程工具
简介Mybatis反向工程可以通过数据库的表反向自动生成实体类以及Mapper映射文件与接口,并且对应生成了一些基础的增删改查的方法供使用。工具通过反向工程的配置文件来进行生成。为了方便使用,设计了可视化界面来进行参数的设置。界面如下:说明:1. 暂时仅支持MySQL数据库的反向工程,后续可能会加上其他数据库;2. 程序应该有一些小Bug,如果配置参数正确的话应该没有问题;3. 界面用Swing编写原创 2017-11-10 23:27:09 · 649 阅读 · 0 评论 -
JavaEE进阶——全文检索之Lucene框架
I. 引言全文检索全文检索首先对要搜索的文档进行分词,然后形成索引,通过查询索引来查询文档。先创建索引,然后根据索引来进行搜索。比如查字典,字典的偏旁部首就类似于索引,字典的具体内容则类似于文档内容。应用场景:搜索引擎站内搜索文件系统的搜索LucenceLucene是Apache的一个全文检索引擎工具包,通过Lucene可以让程序员快速开发一个全文检索功能。Lu...原创 2018-07-04 15:58:24 · 7140 阅读 · 1 评论 -
JavaEE进阶——Redis集群搭建与缓存实现
一、Redis简介 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。 Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类...原创 2018-06-27 20:53:39 · 1228 阅读 · 0 评论 -
JavaEE进阶——FastDFS实现分布式文件系统
FastDFSFastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用...原创 2018-06-16 18:19:47 · 2301 阅读 · 0 评论 -
JavaEE进阶——Nginx反向代理负载均衡
NginxNginx类似于Apache和Tomcat,也是一种服务器软件。Nginx是一个高性能的HTTP和反向代理服务器,也可以实现负载均衡的功能。与Tomcat相比,Tomcat是一个Java实现的重量级服务器,而Nginx是一个轻量级服务器。与Apache相比,Nginx能支持处理百万级的TCP连接,10万以上的并发连接。Nginx安装参考JavaEE进阶——Cen...原创 2018-06-13 17:18:13 · 1041 阅读 · 0 评论 -
JavaEE进阶——CentOS开发环境搭建
VMware虚拟机安装VMware虚拟机软件;设置5个虚拟机服务全部启动。 CentOS6.4安装内存1G、1个处理器1核配置即可;Ctrl+Alt切换键盘;配置网络:选中自动连接; 使用所有空间安装类型;选择BasicServer,WebServer不仅支持JavaEE,而且支持PHP等。SecureCRT方便上传文件、复制文本;新建会话,配置窗...原创 2018-06-13 15:05:02 · 1063 阅读 · 0 评论 -
Happymall商城实战——环境搭建与工具使用
开发环境简介JDK1.8IntelliJ IDEA 2017.2Tomcat8.0Maven 3.3.9MySQL 5.5+Mac OS or Win10Git and GithubChrome浏览器开发环境搭建Java、IDEA、Tomcat、Maven、MySQL安装;安装插件Mybatis-Plugin(神器,推荐,收费破解);Chrome浏览器安装插...原创 2018-02-07 22:39:37 · 1174 阅读 · 0 评论 -
Happymall商城实战——数据库搭建
数据库设计用户表:mmall_user收货地址表:mmall_shipping商品分类:mmall_category商品表:mmall_product购物车:mmall_cart用户订单表:mmall_order订单商品详情表:mmall_order_item支付信息表:mmall_pay_info解释用户表存放用户信息,注册登录等;收货地址放置收获地址,一个用户原创 2018-01-27 20:16:42 · 2581 阅读 · 2 评论 -
Java注解解析
概念注解是Java提供的一种 源程序中的元素关联任何信息和任何元数据的途径和方法。Java常见注解JDK自带注解 @Override 覆盖父类的方法@Deprecated 让方法过时@Suppvisewarnings 忽略警告常见第三方注解(Spring为例) @Autowired 可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作。通过 @Autowired原创 2018-01-16 18:25:39 · 229 阅读 · 0 评论 -
利用云服务器搭架Hexo个人博客
前言个人在腾讯云上有一个学生云服务器,每月仅需10元,平时可以跑跑东西,一直想自己写一个个人网站,工作量其实太大。所以索性还是搬运一下现成的东西,造不了轮子。个人非常喜欢Hexo搭建的个人博客,偏爱Next主题。很多都是将Hexo博客和GithubPages结合一起进行使用的,但其实GithubPages国内访问速度好像并不理想,经常加载很慢,感觉还不如我这个学生机。索性我就尝试搭在自己云服务原创 2018-01-15 14:01:13 · 2466 阅读 · 3 评论