自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸡旭旭

旭旭的博客

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

原创 SpringMvc分析总结篇

自己写了SpringMvc源码分析也好长时间了,有点遗忘了发现文章也慢慢变多,现在也是时候该整理下思路,分类下自己写过的一些文章,然后再顺便回顾回顾应用部分最小化配置源码分析篇Springmvc源码分析之整体结构分析Springmvc源码分析之组件初始化部分SpringMvc源码分析之9大组件SpringMvc源码分析之RedirectViewSpringMvc源码分析之View...

2018-09-21 14:51:52 228

原创 Mybatis工作原理

Mybatis流程图 Mybatis底层还是采用jdbc操作数据。只是通过 SqlSessionFactory,SqlSession Executor,StatementHandler,ParameterHandler,ResultHandler和TypeHandler等几个处理器封装了这些过程。其中StatementHandler用通过ParameterHandler与Result...

2018-03-21 19:10:14 483 3

原创 spring体系(一)

Spring体系的核心是IOC和Aop 除此之外还有很多服务 比如: 事物处理 WebMVC JDBC ORM RFC设计目标:绑定的是接口而不是服务。Spring Security 源于Acegi实现AOP 采用了多种方式 集成了AspectJ框架 也有ProxyFactory 代理工厂模式 JDK代理 cglib代理Spring是一个很清晰的分层架构

2018-01-31 17:49:57 566 1

原创 Tomcat总结篇

这篇文章是对Tomcat的总结整理 等我更新

2018-01-16 17:59:10 741

原创 java概述及jdk历史演变

java开发主要在openjdk项目上JCP 指定技术规范 指定审查JSR目前的jsr有300个jdk发展历史 1996 java 1 1997 java 1.1 jdbc rmi 反射 1998 java1.2 collections jit 2000 java1.3 HotSpot虚拟机 jddi jpda 2002 java 1.4 正则 异常链 ni

2018-01-14 14:22:12 356

原创 spring源码剖析(一)整体 框架

spring 于2003兴起,主要为解决企业开发复杂性而创建优点:简单性,可测试性,松耦合首先分层框架包含一系列要素大约20个模块主要4部分(1)core containercore   核心工具类  beans   包含访问配置文件,创建管理bean 和IOC的一些操作提供ioc/di  基础是beanFactory 允许从程序逻辑中脱离对依赖关系

2017-10-26 16:43:14 270

原创 设计模式之单例

设计模式是面向对象解决问题的一种技巧,不分语言的,这里以java来实现目录一、定义篇1.什么是单例2.单例模式三要点:3.单例模式的特点: 优点:  缺点:4.最基本的实现方案二、具体实现篇1.饿汉式(简单可用)2.懒汉式(线程不安全,不可用)存在的问题:3.同步方法的懒汉式(同步方法效率低,不推荐)4.双重校验锁(可用)存在的问题扩...

2017-10-26 15:41:38 264

原创 电商项目

说点正常的。电商平台是由若干个子系统平台组成的。一个完整的的电商平台至少包括:用户管理,客户营销,客户服务,一整套的产品管理,跨平台/渠道管理,支付系统,物流管理,仓储管理……统计报表。要是开放平台,还要有一大堆的商户管理功能。而且电商通常面临高并发交易量的问题,交易时间比较集中,比如双十一。所以这整个就是一个企业级的系统架构要求。企业级,难道不正是JAVA的专长吗?作者:爻艮兑链

2020-02-19 00:21:19 326

原创 如何设计一款秒杀系统

题目。

2020-02-19 00:17:37 469 1

原创 leetcode题解

1.两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]前提条件1.只有一种结果2.数据不可复用题解方案1.暴力枚举for循环 寻找当前数据的...

2019-09-22 16:31:40 360

原创 SpringAop

OOP弊端当需要多个不具有继承关系的关系的对象引入一个公共行为时,会比较麻烦所以引入面向方面编程低版本的Spring 实现特定接口和一些复杂的配置在Spring 2.0 引入@AspectJ方便定义一个切面。Spring2.0将切面织入到匹配的Bean中 AspectJ切点语法进行切点定义,可以通过切点函数 运算符 通配符 切点定义拥有强大的连接点描述能力。动态aop的

2019-08-23 14:55:26 160

原创 常用的链接记录

海量数据的处理海量数据处理常见的方法有Hash法,位图法,Bloom-filter法、数据库优化法、倒排索引法、外排序法、Trie树、堆、双层桶法以及MapReduce法分而治之/hash映射+hash统计+堆/快速/归并排序(先映射,然后统计,最后排序)双层桶排序(求第K大,中位数,不重复或重复的数字):通过多次划分,逐步确定范围,最后在一个可以接受的范围内进行Bloom filter...

2019-08-20 20:47:19 180

原创 序列化

ObjectOutputStream 为例吧,它在序列化的时候会依次调用 writeObject()→writeObject0()→writeOrdinaryObject()→writeSerialData()→invokeWriteObject()→defaultWriteFields()。作者:沉默王二来源:CSDN原文:https://blog.csdn.net/qing_gee/ar...

2019-06-21 19:55:01 181

原创 代码优化

经验篇优化目标减少体积提高运行效率sql语句 尽量使用批量尽量指定final尽量重用对象使用局部变量及时关闭流尽量减少重复计算尽量使用懒加载抛出异常首先要创建一个新的对象,Throwable接口的构造函数调用名为fillInStackTrace()的本地同步方 法,fillInStackTrace()方法检查堆栈,收集调用跟踪信息。只要有异常被抛出,Java虚拟机就必须调整调...

2019-06-20 20:34:17 276

原创 元注解的使用

Target注解范围的使用public enum ElementType { /** Class, interface (including annotation type), or enum declaration */ TYPE, /** Field declaration (includes enum constants) */ FIELD, /...

2019-06-19 10:32:54 318

原创 xxl-job学习

xxl-job的成长史1.支持crud2.动态修改,即使生效3.服务HA4.任务分组5.底层通讯 Servlet+jetty6.日志7.并行支持8.功能划分调度模块(调度中心):负责管理调度信息,按照调度配置发出调度请求;执行模块(执行器):负责接收调度请求并执行任务逻辑;通讯模块:负责调度模块和任务模块之间的信息通讯;调度+回调双向通讯BEAN模式执行器...

2019-06-14 11:50:57 481

原创 RocketMq

架构Name Server: 是一个几乎无状态节点,可集群部署,在消息队列 RocketMQ 中提供命名服务,更新和发现 Broker 服务。Broker:分为 Master Broker 和 Slave Broker,一个 Master Broker 可以对应多个 Slave Broker,但是一个 Slave Broker 只能对应一个 Master Broker。Broker 启动后需...

2019-05-28 18:26:04 832

原创 cookie和session

1.简单是因为它只是http一个配置Servlet规范是一个类2.考虑对cookie的数量和大小限制问题3.服务器过多时考虑session管理问题共享问题4.cookie安全问题 cookie被盗、伪造问题5.作用 保持用户与后端的访问状态6.cookie数量过多会占用带宽cookie理解访问时,服务器将键值对返回,加限制条件,如果下次在访问被带回类似与购物办卡设计原因 htt...

2019-02-23 13:27:35 215

原创 Mybatis体系文章整理

1.Mybatis原理汇总Mybatis工作原理Mybatis学习系列MyBatis学习(一)初识MyBatis学习(二)Mybatis配置文件Mybatis学习(三)映射配置文件Mybatis的学习(四)Mybatis的使用Mybatis学习(五)缓存...

2018-12-29 16:51:38 280

原创 整理ElasticSearch学习的日志

声明这些文章都来自ElasticSearch中文网A Practical Introduction to Elasticsearch http://t.cn/R9tzos1通过实际案例介绍Elasticsearch,作为入门教程还是不错的,推荐新手阅读!Elasticsearch 5.0 General Performance Recommendations http://t.cn/...

2018-10-12 16:17:32 597

原创 Jvm工作原理

1.哪些内存需要回收2.什么时候回收3.如何回收 内存动态分配内存的回收技术 目的:排查内存溢出内存泄漏问题 主要讨论的是堆区pc\虚拟机栈、本地方法栈 和线程相关栈帧跟随方法  具有确认性 1.判断哪些对象还活着引用计数法优点:容易实现缺点:循环依赖A引用B  B引用A可达性分析通过引用链 当一个对象没有任何...

2018-10-09 17:03:31 1607

原创 Spring中的设计模式

第一种:简单工厂静态工厂方法是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。如下配置,就是在 HelloItxxz 类中创建一个 itxxzBean。第二种:工厂方法(Factory Method)通常由...

2018-10-08 20:42:26 176 1

原创 Java虚拟机规范笔记

class文件格式平台中立的格式二进制,通常以文件形式存储定义了类接口的表现形式虚拟机可操作的类型为原始类型(原生类型或者基本类型)和引用类型原始值和引用值 会用于变量赋值、参数传递、方法返回、运算操作运行机字节码本身就可以确定操作数的类型 iadd ladd fadd daadd原始的类型包括 数值类型、boolean类型和returnAddress数值类型 整数类型 by...

2018-10-08 16:36:22 143

原创 面试题

1.在字符串中按重复个数进行排序比如‘abac ccdd abac da’输出a 5c 4d 3b 2思路1)对字符进行计数2)对计数进行排序3)打印结果 字符 个数 按由多到少打印(按照排序结果生成新的字符串)思路1Map保存结果 key表示字符,value表示出现次数将Map的结果采用二维数组保存然后对二维数组的第2列排序 ,排序的过程中是同样的改变第1列的...

2018-10-08 12:51:20 127

原创 JMM

Java 内存模型 JMM目的:屏蔽硬件和操作系统的内存访问差异主要作用:定义程序各个变量的访问规则定义变量的存储获取规则变量包括实例字段、静态字段、构建数组对象的元素局部变量和方法参数 这些是线程私有的不会被共享不存在竞争问题它的一些规定 所有的变量存储在主存每条线程拥有自己的工作内存 可类比高速缓存工作内存拷贝了一份该线程所需要变量的主内存中的副本线程对变量的所有操作(读...

2018-10-07 19:25:22 414

转载 社招网站推荐

社招网站推荐1、智联招聘http://www.zhaopin.com/(面向学生、白领、高端/专业人士或管理人士 职业生涯的三个阶段)2、前程无忧http://www.51job.com/3、中华英才网http://www.chinahr.com/fuzhou/(定位是面向年轻精英白领)这三个网站的校招模块做的都不错,建议大家认真完善智联、前程无忧和中华英才(及常用的海投、大街或...

2018-10-07 17:59:40 7026

原创 java特性之反射

反射的定义允许程序在运行时进行自我检查,同时允许在运行时对内部成员进行操作反射的核心是JVM在运行时才动态加载类或调用方法/访问属性,它不需要事先(写代码的时候或编译期)知道运行对象是谁。Java反射框架主要提供以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法(通过反射甚至可以调用private方法);在运行时调...

2018-10-05 16:02:09 143

原创 面试问题总结

1.设计模式 实现方式单列恶汉懒汉区别:延迟加载pulic class Singleton{ private static Singleton instance; private static class InnerClass { instance=new Singleton();}private Singleton(){};public static Singleton ge...

2018-10-02 20:43:06 124

原创 数据结构(一)线性表

特征性质   线性结构(1)唯一一个第一,唯一一个最后(2)除第一个外均有唯一后继,除最后一个均有唯一前驱分为:顺序存储线性表优点 查询快       缺点 插入删除慢 可以数组实现   数据的扩容  动态数组 无序数组的应用:排序 冒泡排序:  按从小到大来讲思想:数组的头部,依次相邻的元素两两比较,当相邻的前一个元素比大于后一个元素时进行交换,一趟...

2018-09-29 21:59:48 452

转载 Java中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念

PO(persistant object) 持久对象在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了。通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的 java 对象。最简单的 PO 就是对应数据库中某个表中的一条记录,多个记录可以用 PO 的集合。 PO 中应该不包含任何对数据库的操作。DO(Domain Objec...

2018-09-29 16:46:24 1221

原创 收集一些没用图

常见的数据结构用途表示数组:将数据存放在空间中连续的位置连续的地址空间优点:随机访问 如果知道索引就可以通过 O(l) 进行快速搜索缺点:插入删除比较复杂难以更改大小 因为数组一旦被创建,就无法更改其大小。如果需要创建更长或更短的数组,得先创建一个新数组,再把原数组中的所有元素复制到新创建的数组中。常见题目有将数组反转、对数组进行排序、搜索数组中的元素相关题目有序数组...

2018-09-29 11:30:51 198

原创 长度为n无序数组找屎

假定这个n的长度为特别大1…找一个最小数2.找一个最大数和一个最小数最笨的方法排序取最大值,和最小值,所需时间为n2傻子的办法 比较法存两个临时变量第一个临时变量,一直保存最小的值,遍历数组,遇见比它小的进行交换,复杂度一直为n另一个临时变量,则保存最大值聪明点的人 两两比较法第一步 首先让所有的元素参与两两比较,这样总共比较了n/2次,最大数肯定在胜者组中,最小数肯定在败...

2018-09-28 21:29:06 253

原创 SprinCloud相关组件都是干嘛的

使用到Spring Cloud ConfigSpring配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。使用到Spring Cloud BusSpring事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。使用到EurekaNetflix...

2018-09-28 21:10:47 355

原创 普通微服务的网管路由过程

http://eureka3.com/proxy/user/mall/usercompany/queryAuthorityCompanyListByUserId该服务对应的真实地址是http://shop.eureka3.com/proxy/passport/logout?shopId=4021000037&companyId=401000024&_=1538135279413...

2018-09-28 21:07:26 396

原创 多线程在web中的使用

整理网络上的最典型的如:1、用户注册完成送大礼包/积分之类,且积分等也是另一个系统并比较耗时;且这类任务即使失败也不是特别重要的。2、后台线程:比如定期执行一些特殊任务,如定期更新配置文件,任务调度(如quartz),一些监控用于定期信息采集等。回答二:最典型的应用比如tomcat,tomcat内部采用的就是多线程。上百个客户端访问同一个web应用,tomcat接入后都是把后续的处理...

2018-09-28 15:01:05 3667

原创 普通电商项目中多线程的使用

1.商品项目中1.同步商品名牌到Es2.同步商品信息到Es4.用户静态任务5.地址缓存的同步6.熔断中有多线程7.拼团 锁单、解锁订单、取消订单 失败或者异常重试方法新启动一个线程,每隔一秒重试一次,重试5次,如果5次都失败的话发送MQ处理8.Mq处理9.商品库存10.消息的处理 店铺服务单例线程执行者org.springframework.scheduling.conc...

2018-09-28 11:08:51 12400

转载 面试中常见的非技术问题回答

面试中常见的非技术问题回答

2018-09-28 09:52:35 218

转载 单列索引和联合索引的区别

多个单列索引和联合索引的区别详解单列索引和联合索引的区别

2018-09-28 09:49:54 4499

原创 SpringCloud之Zuul的使用

要想了解Zuul,首先了解一下什么是微服务网管微服务网关背景及简介不同的微服务一般有不同的网络地址,而外部的客户端可能需要调用多个服务的接口才能完成一个业务需求。比如一个电影购票的收集APP,可能回调用电影分类微服务,用户微服务,支付微服务等。如果客户端直接和微服务进行通信,会存在一下问题:客户端会多次请求不同微服务,增加客户端的复杂性存在跨域请求,在一定场景下处理相对复杂认证复杂,每...

2018-09-25 10:25:12 9506

原创 Spring源码剖析(四)ioc(一)

开始剖析了好紧张啊,Spring还是写个半懂就开始剖析了先从ioc开始分析,因为我也不太会所以从最基础的来分析的版本为3.2.x因为比较稳定,而且也是主流的版本,从github上就能下到,然后使用的是sourceinsght不用图片说话自己就会忘记 AliasRegistry:定义对alias的简单增删改SingleListableBeanFactory根据条件...

2018-09-21 14:23:58 207

空空如也

空空如也

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

TA关注的人

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