自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 Spring踩坑总结之Core篇

本文将从踩坑的方式,讲述 Spring Core 模块容易遇到一些坑,分析产生原因、解决方式。内容主要包括了 Spring Bean 的定义、依赖注入、Bean 的创建过程、AOP 等几个方面。

2022-02-20 22:00:36 3041 3

原创 聊聊Java9-17带来了什么新特性

目录Java9模块化JShell接口支持私有方法Java10Java11Java12Java13Java14Java15Java16Java17封闭类switch 模式匹配模块化

2022-01-10 12:00:00 1190

原创 【SpringBoot2】启动流程源码简析

1. Spring Boot启动类的@SpringBootApplication注解@ SpringBootApplication注解是一个组合注解,主要有以下三个:@SpringBootConfiguration:表示一个类提供了Spring Boot的配置。@ComponentScan:定义 Spring 扫描的包,它默认会扫描标注为Spring Bean的类,并实例化这些组件到...

2019-03-30 17:26:07 383

原创 大三寒假Java实习面经(201812)虎牙/荔枝

1. 荔枝FM(offer)笔试30分钟在线笔试题。HashMap和TreeMap的区别。编写一个单例模式例子。描述TCP连接的建立和断开。1000万个字符串去重。一面技术面(50分钟)(根据笔试题来拓展)单例模式的枚举实现tcpip连接的建立与断开,具体状态和报文数据tcp和udp区别为什么说tcp连接可靠滑动窗口,以及作用synchronized、volatil...

2019-01-11 21:35:27 2655 4

原创 《高性能Mysql》重点总结(五)——慢查询日志、show profile、mysql锁以及主从复制

本篇将介绍慢查询日志、show profile、mysql锁以及主从复制。一、慢查询日志1. 是什么MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_qu...

2018-10-16 21:11:34 459

原创 《高性能Mysql》重点总结(四)——查询优化

本篇将介绍各种查询语句优化,包括join、in\exist、order by、group by、limit、distinct等。一、Join语句1. 7种Join查询select * from A a inner join B b on a.key = b.key;select * from A a left join B b on a.key = b.key;sel...

2018-09-26 16:02:06 458

原创 大二Java实习面经(201805)

一直以来都打算写这篇文章,只是自从入职以后却又懒下来。拖到最近,实习还有一两个星期就结束,打算写下,顺便总结这三四个月的实习经历。1. 面试今年五月底,在实习僧和拉勾上投简历,不敢投大厂,自知自己能力不足,都是选比较心仪的小厂,投了10几个吧,虽然自己基础方面没有准备(juc、jvm、nosql、os、算法这些),不过当时还是过度自信了,自以为自己在学校做过两个项目,各种Java开...

2018-09-08 20:21:36 3433 9

原创 《高性能Mysql》重点总结(三)——创建高性能的索引

谈到索引,这个词对于多数使用过数据库的人来说都不陌生,若是要你谈谈索引是什么?有什么结构?在mysql有什么分类?覆盖索引是什么?或许有不少人也能答得出来。但笔者接着问,怎么进行索引优化分析?explain主要看哪些字段?索引失效的场景有哪些?如何合理的使用索引?猜测不少人就答不上来了吧,以上问题将分两篇文章详细阐述。一、mysql架构要认清mysql的索引,首先需要认识mys...

2018-08-27 20:54:14 403

原创 《高性能Mysql》重点总结(二)——数据类型的选择

1. 选择优化的数据类型选择正确的数据类型至关重要,以下是《高性能MYSQL》推荐的几个原则。更小的通常更好:尽量使用满足需求的最小数据类型。简单就好:简单的数据类型通常需要更少的CPU周期。例如整型比字符串代价更低,使用时间类型存储日期而不是字符串,使用整型存储IP(MYSQL提供INET_ATON()和INET_NTOA()函数在这两种表示方法之间转换)。尽量避免NULL:如果...

2018-07-30 17:53:05 604

原创 《高性能Mysql》重点总结(一)——数据库基础

1. 并发控制1.1 读写锁共享锁(读锁S):读锁是共享的,或者说是互不阻塞。多个客户可以同时读取同一数据,而互不干扰。排他锁(写锁X):写锁是排他的,一个写锁会阻塞(排斥)其他的写锁和读锁,以确保同一时间内只有一个用户才能执行写入。1.2 锁粒度加锁需要消耗资源,锁的各种操作,比如获得锁、检查锁是否已经解除、释放锁等,因此需要锁策略。锁策略,是在锁的开销和数据的安全性...

2018-07-29 10:41:20 2283

原创 SpringBoot2学习笔记(七)REST之Swagger

REST,即(Resource) Representational Status Transfer,资源表现层状态转移。REST是一种WEB API的标准、规范,取代了笨重的SOAP。本文要介绍SpringBoot中的RestTemplate和集成Swagger。一、RestTemplateRestTemplate是Spring封装了HttpClient,并提供了更为强大的对RES...

2018-06-30 11:23:28 605

原创 SpringBoot2学习笔记(六)单元测试

单元测试对提高代码质量,重构代码都有极大的作用!个人平时也比较注重单元测试的编写,以上是阅读《SpringBoot 2精髓》一书的个人总结。一、单元测试首先是介绍下JUnit的相关概念。 概念 说明 Assert 测试条件,当条件不成立时抛出异常。如:Assert.assertSame(message, Expected, Actual)判断Expec...

2018-06-24 13:31:59 2523

原创 SpringBoot2学习笔记(五)项目配置与部署

关于SpringBoot2配置,包括服务器配置、日志配置、配置信息读取以及自动装配。部署方面分jar包部署、war包部署以及多环境部署。配置文件建议使用Spring官方推荐的yaml文件一、服务器配置Spring Boot的Web服务器是tomcat,如果需要换端口有以下三种方式:配置文件中写入: server.port = port_number 启动时传入命令行参数...

2018-06-23 18:00:55 1536

原创 SpringBoot2学习笔记(四)JPA与Mybatis

访问数据库的方式一般来说有两种,一种以Java Entity为中心,将实体和实体关系对应到数据库的表和表关系,例如Hibernate框架(Spring Data JPA由此实现);另一种以原生SQL为中心,更加灵活便捷,例如Mybatis。 本篇要讲数据源配置,接着重点介绍下Spring Data JPA技术,最后讲下Spring Boot集成Mybatis。一、配置Sprin...

2018-06-19 22:09:01 12406

原创 SpringBoot2学习笔记(三)JSON技术

Spring Boot内置了jackson来完成JSON的序列化与反序列化操作,Jackson支持三种层次的序列化与反序列化方式。分别是树遍历方式、DataBind方式以及底层的JsonParser方式。一、ObjectMapper当使用 @ResponseBody 注解时,我们可以自定义一个ObjectMapper来代替默认的,进行序列化。 示例代码:@Config...

2018-06-18 22:58:43 2104

原创 SpringBoot2学习笔记(二)MVC框架

这次将谈谈SpringBoot中MVC框架的一些特性,包括uri到方法的映射、方法参数、验证框架、WebMvcConfigure、集成Thymeleaf视图、通过错误处理以及业务层事务处理等内容。一、uri到方法的映射首先来看一个示例:@RestControllerpublic class HelloController { @GetMapping( ...

2018-06-18 16:02:53 5966

原创 SpringBoot2学习笔记(一)SpringBoot基础入门

看完了Spring Boot 2精髓这本书,打算写一系列Spring Boot的文章做下总结。这本书在网上的评价偏低,其中作者常推销自己的轮子是一方面原因,但我认为它是一本快速入门学习Spring Boot 2的好书,对我的帮助蛮大的。一、创建SpringBoot项目进入Spring官网:https://start.spring.io/ 使用Initalizr创建也可在idea中直...

2018-06-17 13:16:49 4577 2

原创 代码洁癖者的福音

无规矩不成方圆,无规范不能协作。阿里近万名Java技术精英的经验总结,铸就了高含金量的《阿里巴巴Java开发手册》,并向业界开放,希望使团队在Java开发上更高效、容错、有协作性,提高代码质量并降低维护成本。今天想分享的是《阿里巴巴Java开发手册》「传送门」这本书。去年10月阿里巴巴发布规约扫描插件,那天我就开始下载使用了。一直以来都是都项目写的差不多就扫一下,根据提示做些修改,想着...

2018-05-23 19:55:12 569

原创 「迷宫问题」队列+BFS与栈+DFS分别求解

1 迷宫问题一个迷宫如图所示,他有一个入口和一个出口,其中白色单元表示通路,黑色单元表示不通路。试寻找一条从入口到出口的路径,每一部只能从一个白色单元走到相邻的白色单元,直至出口。 迷宫问题 2 简介BFS和DFSBFS全称Breadth First Search,即广度优先搜索。搜索目标时逐层展开遍历,一旦找到目标则终止,过程类似树的层次遍历。 DFS全称Depth F...

2018-05-19 16:00:57 1661

原创 微信授权登陆流程(vue+SpringMVC)

这几天微信公众号网页项目前后端对接到最后阶段,差微信授权登录就基本完成,结果卡了几天,总算解决。对于微信公众平台文档,一定要认真细读,这里就挑重点说下【文档传送门】。1 第一步:用户同意授权,获取code2 第二步:通过code换取网页授权access_token3 第三步:刷新access_token(如果需要)4 第四步:拉取用户信息(需scope为 snsapi_...

2018-05-17 10:54:37 12124 3

原创 Java安全——Spring Boot集成Apache Shiro环境

apache shiro是灵活可用的安全框架,本篇文章的Shiro基本配置代码已传至github,欢迎点击获取,您可以直接在此基础上进行项目的二次开发。1. 环境准备首先,先创建springboot项目(这里我的版本号采用的是spring boot2.0),选择引入web、mysql、mybatis的依赖 创建完成后再手动引入shiro、druid连接池、工具包、jsp等的依...

2018-05-01 13:00:02 453

原创 Java安全——一步步搭建Spring Security环境

首先,先创建springboot项目(这里我的版本号采用的是spring boot2.0),选择引入web和security的依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security&l...

2018-04-23 21:05:42 3110 4

原创 跨域问题——知其然知其所以然

最近做项目前后端分离才第一次遇到跨域问题,作为渣渣,当然是虚心学习网络上一些前辈的经验,以下是自己的总结。哪个地方有错,还望告知,定虚心请教。文章内容:跨域原因解决思路解决方法一、跨域原因现在的web项目基本是前后端分离,前端调用后端接口,如果前后端代码不属于同一个域(同一域名同一端口号),就会产生跨域问题。 常见的跨域问题的报错提示是: Failed to l...

2018-04-18 23:34:10 420

原创 源码分析之动手实现手写一个自己的SpringMVC框架(三)

题记:为了解SpringMVC加载过程的细节,最近阅读了其部分源码,并自己手写实现了一个简单的SpringMVC框架,现记录作为总结。分为三篇博客: • 源码分析之Spring MVC上下文的加载细节(一) • 源码分析之Spring MVC上下文的加载细节(二) • 源码分析之动手实现手写一个自己的SpringMVC框架(三)【本篇】阅读完这三篇博客,将了解到: • ...

2018-03-12 19:42:33 3493 1

原创 源码分析之Spring MVC上下文的加载细节(二)

题记:为了解SpringMVC加载过程的细节,最近阅读了其部分源码,并自己手写实现了一个简单的SpringMVC框架,现记录作为总结。分为三篇博客: • 源码分析之Spring MVC上下文的加载细节(一) • 源码分析之Spring MVC上下文的加载细节(二)【本篇】 • 源码分析之动手实现手写一个自己的SpringMVC框架(三)阅读完这三篇博客,将了解到: • S...

2018-03-12 19:34:21 929

原创 源码分析之Spring MVC上下文的加载细节(一)

题记:为了解SpringMVC加载过程的细节,最近阅读了其部分源码,并自己手写实现了一个简单的SpringMVC框架,现记录作为总结。分为三篇博客: • 源码分析之Spring MVC上下文的加载细节(一)【本篇】 • 源码分析之Spring MVC上下文的加载细节(二) • 源码分析之动手实现手写一个自己的SpringMVC框架(三)阅读完这三篇博客,将了解到: • Sp...

2018-03-12 19:12:07 1365

原创 Java使用POI生成Excel文件

目录代码地址生成简单Excel文件案例:学生成绩单使用模板生成学生成绩单 一、代码地址点击此处,跳转到本次演示的Demo源码地址 二、生成简单Excel文件1.导入Jar包普通项目: Maven项目: 2.操作POI的七个步骤a. 创建一个工作簿workbookb. 创建一个工作表sheetc. 创建一个行对象row(下标起始值为0)...

2018-02-09 23:37:48 5560

原创 Maven之Maven私服(三)

目录私服搭建Nexus的仓库类型将项目打包发布到私服从私服上下载到jar包 一、私服搭建在局域网内搭建的maven的远程仓库服务器称为私服。 1. 下载nexus Nexus是Maven仓库管理器,可以搭建maven仓库,同时提供仓库管理功能,构件搜索功能等。 下载链接:http://www.sonatype.org/nexus/archived/ ...

2018-01-26 23:48:33 766

原创 Maven之使用eclipse与idea分别创建web工程(二)

一、Eclipse1.eclipse中配置maven插件 2.eclipse中配置仓库位置 3.构建索引 Window -> show view -> other -> 搜索maven 4.开始创建项目 选择Maven Project 5.创建完成后,可以看到pom.xml文件报错缺少:web.xm

2018-01-13 16:58:21 739

原创 Maven之创建第一个Maven项目(一)

一、安装maven1.到maven官网下载maven压缩包:https://maven.apache.org/download.cgi 2.解压maven压缩包,得到如下目录证明安装成功 要求的解压出的文件夹存放路径不包含中文字符和空格二、环境变量配置1.安装JDK1.7以上版本,并配置好Java的环境变量。2.maven ①配置MAVEN_HOME: ②

2018-01-13 12:57:19 938

原创 Spring+Struts2+Hibernate(ssh)三大框架整合流程

整合ssh三大框架详细流程,分两种方式整合Hibernate一、SSH整合前的准备;二、Spring整合Struts2;三、Spring整合Hibernate一(带有Hibernate配置文件);四、Spring整合Hibernate二(不带有Hibernate配置文件);五、相关问题(如:延迟加载异常)

2017-12-15 13:43:37 19919 3

原创 框架学习—Spring的事务管理、Spring框架的JDBC模板

1.Spring框架的AOP技术(注解方式)1.1 案例演示1.1.1 步骤一:引入具体的开发的jar包 Spring框架开发的IOC包(4个): spring-beans-4.2.4.RELEASE.jar spring-context-4.2.4.RELEASE.jar spring-core-4.2.4.RELEASE.jar spring...

2017-11-15 13:26:02 607

原创 框架学习—Spring的IOC容器之注解方式与AOP技术

1.Spring框架的IoC基于注解的方式1.1 IoC注解方式的入门案例1.1.1 步骤一:导入注解开发所需Jar包 引入IoC容器必须的4个Jar包; 引入Spring框架的2个日志Jar包; 引入Spring框架的AOP的jar包:spring-aop-4.2.4.RELEASE.jar;1.1.2 步骤二:编写用于测试的类 UserSe...

2017-11-09 23:42:55 505

原创 框架学习—Spring的IoC容器之XML方式

1.Spring框架的概述1.1 什么是SpringSpring是一个Java开源框架。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一是分层架构。Spring使用基本的JavaBean来完成EJB完成的事情。Spring的核心是控制反转(Ioc)和面向切面(AOP)。1.2 Spring的特点解耦合,简化开发。Spring实际是一个大工厂,可以将所有对...

2017-11-05 07:11:33 682

原创 【08】框架学习—浅谈Struts2中的值栈

Struts2框架中值栈是一个重要的“数据中转站”,这里将结合源码浅谈struts2中的值栈,分析它的内部结构、存取数据的方式、实现原理等。

2017-10-31 23:34:41 389

原创 JavaMail实现发送邮件程序

JavaMail的使用。使用一个邮箱激活的demo,通过发送一封账号激活邮件以激活注册的账号。

2017-10-27 22:37:55 2075 1

原创 【07】框架学习—Struts2中域对象/页面跳转/数据封装/拦截器技术

struts2框架中获取域对象的方式、页面跳转的各种方式、数据封装的各种方式、拦截器技术(粗略地源码分析)

2017-10-27 13:56:12 489

原创 【06】框架学习—Struts2第一个入门案例详解

struts2框架环境搭建入门案例配置文件简单分析

2017-10-24 20:17:58 589

原创 【05】框架学习—Hibernate中查询详解与查询优化

Hibernate的查询详细介绍及其查询优化

2017-10-18 17:04:48 475

原创 【04】框架学习—Hibernate中处理一对多关系与多对多关系

Hibernate框架。表关系一对多和多对多的处理。

2017-10-14 18:02:07 462

空空如也

空空如也

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

TA关注的人

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