自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hello, New World!

万物伊始,效率本源。大道至简,代码之禅。自建博客: janycode.github.io

  • 博客(400)
  • 资源 (4)
  • 收藏
  • 关注

原创 像程序一样思考。

文章目录做你喜欢的事 - 心流状态像打字般编程 - 唯手熟尔为理想的求职者总结 - 终身学习做你喜欢的事 - 心流状态“1960年,一位研究人员对1500名商学院学生进行了访谈,并将他们分为两类:那些为了钱财来这里上学的人,1245人。那些打算利用学位做他们非常关心的事情的人,255人。二十年后,研究人员再次访谈了这些毕业生,发现其中有101位百万富翁,除了其中一位,所有百万富翁都来自...

2020-03-07 12:00:07 283 1

原创 Spring 事务嵌套和异常捕获的问题和解决方案

事务嵌套和异常捕获的问题和解决方案1. 无嵌套的正常事务2. 方法A调用带事务的方法B3. 加入异常捕获处理的事务4. 事务回滚的注意事项1. 无嵌套的正常事务public class C{ @Transactional public void a(){ //TODO }}【结论】:出现异常,正常回滚。原因:事务的 ACID 特性中的 C,Consistency 一致性,事务内有操作失败时则数据将全部回滚到修改前的状态。2. 方法A调用带事务

2021-01-23 00:56:19 23

原创 Java Stream 流高级使用全解

Java Stream 流高级使用全解一 基本汇总1. 创建流2. 中间操作3. 终止操作二 经验累积1. 统计1.1 取最大值1.2 取最小值1.3 取总和值1.4 取平均值2. 过滤2.1 获取最近时间3. 排序3.1 根据字段排序4. 分组4.1 获取字段出现次数4.2 过滤并获取指定字段列表Java 强大的 stream 流处理,必会!无状态:指元素的处理不受之前元素的影响;有状态:指该操作只有拿到所有元素之后才能继续下去。非短路操作:指必须处理所有元素才能得到最终结果;短路操作:指遇

2020-12-26 18:38:56 159

原创 Java 线上问题快速排查思路(最全)

Java 线上问题快速排查思路-最全一 服务器层面1.1 磁盘1.1.1 问题现象1.1.2 排查思路1.1.2.1 利用 df 查询磁盘状态1.1.2.2 利用 du 查看文件夹大小1.1.2.3 利用 ls 查看文件大小1.1.3 相关命令1.1.3.1 df1.2 CPU过高1.2.1 问题现象1.2.2 排查思路1.2.2.1 利用 top 查询CPU使用率最高的进程1.2.3 相关命令1.2.3.1 top二 应用层面2.1 Tomcat假死案例分析2.1.1 发现问题2.2.2 查询日志2.2.

2020-12-26 18:36:34 127

原创 Jmeter压力测试工具使用详解

Jmeter压力测试工具使用详解一、下载二、环境变量三、压测步骤四、请求参数随机数参考资料:http://www.jmeter.com.cn/category/jmeter-book一、下载进入官网:http://jmeter.apache.org/download_jmeter.cgi1.第一步进入官网如下图2.选择进行下载,下载下来为一个压缩包,解压即可。3.下载jmeter5.3对应jdk1.8的版本。然后就进行解压。个人认为要注意3点:1)解压之后压缩包叫apache-jmete

2020-12-26 18:34:28 67

原创 MySQL EXPLAIN查询计划详解

MySQL EXPLAIN查询计划详解1. EXPLAIN简介2. 执行计划各字段含义2.1 id2.2 type2.3 possible_keys 和 key2.4 key_len2.5 rows2.6 Extra1. EXPLAIN简介使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。 通过explain我们可以获得以下信息:表的读取顺序数据读取操作的操作类型哪些索引可以使用哪些索引被实际使用表

2020-12-26 18:32:17 24

原创 18条效率至少提高3倍的MySQL技巧

1、EXPLAIN做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。type列,连接类型。一个好的SQL语句至少要达到range级别。杜绝出现all级别。key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式。key_len列,索引长度。rows列,扫描行数。该值是个预估值。extra列,详细说明。注意,常见的不太友好的值,如下:Using filesort,Using temporary2、SQL语句中IN包含的值不应过多MySQL对于IN做了相应的优化

2020-09-25 16:00:01 136

原创 Java 8 stream 流获取 list 中最大值、最小值、总和值、平均值

// liststatic List<Employee> empList = new ArrayList<Employee>(); private static void initEmp(){ empList.add(new Employee("张三",30)); empList.add(new Employee("张三1",96)); empList.add(new Employee("张三2",23)); empList.add(new Employee("张

2020-09-25 15:56:23 2584

原创 IDEA 中自动保存的 database console 控制台内容记录

用过了 SQLyog 以及 Navicat 对字段的自动补齐还是不够好。所以坚持使用 IDEA 自带的 Database 数据库客户端,自带控制台 console。语句补全:字段补全:但需要将 临时的 console 作为一个 sql记事本 的 客户端来用,所以要找到 IDEA 存储它的位置,不至于丢失掉以前的记录。花了点功夫找到它!藏身之处:...

2020-09-23 09:55:20 594

原创 sql语句里添加一列自然序号

SELECT @rownum:=@rownum+1 AS rownum, a.*FROM (SELECT @rownum:=0) r, a;

2020-09-15 11:08:03 197

原创 vue 带下标循环、点击事件动态id赋值和事件传参

vue 带下标循环、点击事件动态id赋值和事件传参Vue 使用的 CDN,可以直接复制,预览测试 v-for 和 click 事件传参效果。<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>vue 带下标循环、点击事件动态id赋值和事件传参</title> <script src="https://cdn.jsdelivr.net/npm/

2020-07-25 14:10:04 1256

原创 GitHub开源项目的多人协作详细操作
原力计划

基于 Git 版本管理的多人协作项目的详细操作1. 添加协作伙伴2. IDEA-Git 操作3. 被邀请的协作者操作4. 公共仓库账号合并代码5. (测过OK)将 dev 分支合并到 master 主分支6. 最高频坑:代码冲突整体流程:Git 公共仓库账号 → 邀请协作伙伴 → 协作伙伴都同意。Git 公共仓库账号 → 搭好项目架子上传 → Git链接 → 作为基础代码可以被 被邀请者 pull(拉) 到本地。Git 公共仓库账号 → 创建 dev 分支 → push 远程仓库(即上传,此时

2020-07-14 00:22:15 457

原创 Redis 集群搭建详细步骤及整合Spring
原力计划

Redis 集群搭建详细步骤及整合Spring1. Redis 集群搭建1.1 redis-cluster架构图1.2 redis-cluster投票:容错1.3 架构细节1.4 Redis集群的搭建-11.4 Redis集群的搭建-22. Jedis2.1 连接单机版2.2 连接池连接单机版2.3 连接集群版3. 封装和整合spring3.1 接口定义3.2 单机版实现类3.3 单机版 Spring 配置3.4 集群版实现类3.5 集群版 Spring 配置官网教程:https://www.redis

2020-07-09 00:42:52 662

原创 Redis 主从复制操作和哨兵模式配置
原力计划

Redis 主从复制操作和哨兵模式配置1. Redis 主从复制1.1 配置步骤1.2 主从复制原理2. Redis 哨兵模式2.1 高可用2.1 配置步骤2.3 哨兵模式优缺点官网教程:https://www.redis.net.cn/tutorial/3515.html1. Redis 主从复制主从复制是指将一台 Redis 服务器的数据,复制到其它的 Redis 服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。默认情况下,每台

2020-07-09 00:40:57 462

原创 Redis 事务+订阅+持久化方式详解
原力计划

Redis 事务+订阅+持久化方式详解1. Redis 事务1.1 事务命令1.2 Redis 事务特性2. Redis 持久化2.1 RDB2.2 AOF2.3 RDB优缺2.4 AOF优缺3. Redis 订阅官网教程:https://www.redis.net.cn/tutorial/3515.html1. Redis 事务Redis 中的事务和 MySQL 中的事务有本质的区别,Redis中的事务是一个单独的隔离操作,事务中所有的命令都会序列化,按照顺序执行,事务在执行的过程中,不会被其他客

2020-07-09 00:39:24 274

原创 MyBatis 分页插件 PageHelper 使用
原力计划

MyBatis 分页插件 PageHelper 使用1. 概念2. 访问与下载3. 开发步骤3.1 引入依赖3.2 配置MyBatis-config.xml3.3 PageHelper应用方式4. PageInfo对象4.1 PageInfo应用方式4.2 注意事项5. Maven 项目添加分页5.1 导入依赖5.2 配置分页插件(2选1)5.3 在 controller 中添加方法4. 前端分页数据5. 测试1. 概念PageHelper 是适用于 MyBatis 框架的一个分页插件,使用方式极为便

2020-07-09 00:36:28 162

原创 MyBatis 动态SQL使用和缓存详解
原力计划

MyBatis 动态SQL使用和缓存详解1. 动态SQL【★】1.1 < sql >1.2 < where >1.3 < set >1.4 < trim >1.5 < foreach >2. 缓存(Cache)【★】2.1 一级缓存2.2 二级缓存2.2.1 开启全局缓存(二级缓存)2.2.2 指定Mapper缓存2.2.3 缓存清空并重新缓存1. 动态SQL【★】MyBatis的映射文件中支持在基础SQL上添加一些逻辑操作,并动态拼接成完整

2020-07-09 00:35:28 983

原创 MyBatis ORM映射和多表连接查询
原力计划

MyBatis ORM映射和多表连接查询1. ORM映射【★】1.1 MyBatis自动ORM失效1.2 一:列的别名1.3 二:结果映射2. MyBatis处理关联关系-多表连接【★】2.1 OneToOne2.2 OneToMany2.3 ManyToMany2.4 关系总结1. ORM映射【★】1.1 MyBatis自动ORM失效MyBatis 只能自动维护库表列名与属性名相同时的一一对应关系,二者不同时,无法自动ORM。自动ORM失效1.2 一:列的别名在SQL中

2020-07-09 00:34:13 285 1

原创 redis.conf配置及哨兵sentinel.conf配置详解

Redis配置及哨兵Sentinel配置详解一、redis.conf 配置项说明如下:Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程daemonize no当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定pidfile /var/run/redis.pid指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为63

2020-07-08 16:05:15 412

原创 MyBatis 逆向工程生成代码步骤
原力计划

MyBatis 逆向工程生成代码步骤1. 概念2. 官网入门3. 开发步骤(简化)3.1 创建 JavaEE 项目3.2 GeneratorSqlmap3.3 generatorConfig.xml3.4 log4j.properties3.5 测试生成(图)1. 概念逆向工程,有的人也叫反求工程,英文是reverse engineering,大意是根据已有的东西和结果,通过分析来推导出具体的实现方法。说白点,就是 生成指定代码。如 Mybatis 的逆向工程生成器,可以帮我们生成 pojo 实

2020-06-26 11:48:11 448

原创 SpringMVC 拦截器的使用

SpringMVC 拦截器的使用1. 拦截器作用2. 单个拦截器3. 多个拦截器参考资料:https://spring-mvc.linesh.tw/1. 拦截器作用SpringMVC 框架中的拦截器用于对处理器进行预处理和后处理的技术。可以定义拦截器链,连接器链就是将拦截器按着顺序结成一条链,在访问被拦截的方法时,拦截器链中的拦截器会按着定义的顺序执行。拦截器和过滤器的功能比较类似,有以下区别:过滤器是 Servlet 规范的一部分,任何框架都可以使用过滤器技术;拦截器是 SpringM

2020-06-22 21:04:39 229

原创 SpringMVC 注解实现参数映射

SpringMVC 注解实现参数映射1. 请求参数映射1.1 RequestMapping1.2 请求参数的映射1.2.1 基本类型/字符串属性封装1.2.2 实体类属性封装1.2.3 集合属性封装1.2.4 Date类型封装1.3 常用注解1.4 其他注解2. 响应数据和结果视图2.1 返回值分类3. 配置不拦截静态资源参考资料:https://spring-mvc.linesh.tw/1. 请求参数映射@RequestMapping 注解的作用是建立请求 URL 和处理方法之间数据的对应关系。

2020-06-22 21:03:15 558

原创 SpringMVC 架构流程与入门案例
原力计划

SpringMVC 架构流程与入门案例1. SpringMVC 概述2. SpringMVC 架构2.1 架构流程2.2 组件说明3. SpringMVC 入门参考资料:https://spring-mvc.linesh.tw/1. SpringMVC 概述SpringMVC 是一种基于 Java 实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架。它和 Struts2 都属于表现层的框架,属于 Spring FrameWork 的后续产品,Spring MVC 分离了控制器、模型对象、过滤

2020-06-22 21:01:21 158

原创 Spring Transaction 声明式事务管理
原力计划

Spring Transaction 声明式事务管理1. Spring 事务特性2. Spring 事务API3. Spring 事务传播行为4. Spring 事务分类4.1 编程式事务4.2 声明式事务5. Spring 事务操作转账5.1 无事务操作5.2 XML 配置事务5.3 配置事务通知5.4 注解 配置事务参考资料:https://lfvepclr.gitbooks.io/spring-framework-5-doc-cn/content/1. Spring 事务特性事务 : 是逻辑上

2020-06-22 20:57:21 189

原创 Spring AOP 面向切面编程基本配置
原力计划

Spring AOP 面向切面编程1. AOP 原理1.1 JDK 动态代理1.2 CGLib 动态代理1.3 Spring AOP 代理方式2. AOP 术语3. AOP 实现3.1 XML 配置 AOP3.2 注解 配置 AOP参考资料:https://lfvepclr.gitbooks.io/spring-framework-5-doc-cn/content/1. AOP 原理AOP Aspect Oriented Programing,面向切面编程。AOP 采取横向抽取机制,取代了传

2020-06-22 20:54:10 234 1

原创 Spring Bean 注解配置
原力计划

Spring Bean 注解配置1. 注解配置 Bean2. Spring 整合 junit3. @Import参考资料:https://lfvepclr.gitbooks.io/spring-framework-5-doc-cn/content/1. 注解配置 Bean写一个 SpringConfig.java 作为注解配置类,它的作用和 bean.xml 是一样的。以 jdbc 为例。Spring中的新注解:@Configuration作用:指定当前类是一个配置类注意:当配置类作

2020-06-22 20:52:34 249

原创 Spring IoC 依赖注入与配置
原力计划

Spring IoC1. 引言1.1 原生web开发的弊端2. Spring 框架2.1 概念2.2 访问与下载3. Spring 架构组成4. Spring 入门4.1 导入依赖4.2 创建applicationContext.xml4.3 测试4.4 ApplicationContext与BeanFactory5. Spring bean 管理5.1 创建bean三种方式5.2 bean对象作用范围5.3 bean对象生命周期6. Spring 依赖注入6.1 构造函数注入6.2 set 方法注入6.3

2020-06-22 20:50:18 107

原创 Java邮箱验证码工具类的使用和校验注册
原力计划

Java邮箱验证码工具类的使用和校验注册1. 步骤和工具类2. 邮件验证码注册demo3. 测试截图1. 步骤和工具类首先需要准备的东西 我这里以QQ邮箱为例。点击 设置 ->账户,找到这个页面:拿到授权码 并保存好:MailUtil 工具类:package com.mailtest.demo;import javax.mail.*;import javax.mail.internet.AddressException;import javax.mail.inter

2020-06-17 10:08:37 290

原创 Maven项目管理工具的配置和使用、IDEA创建Maven项目
原力计划

Maven项目管理工具的配置和使用,以及IDEA创建Maven项目1.1 在Idea中关联Maven1.2 创建Maven项目1.2.1 新建普通/web项目1.2.2 指定项目名1.2.3 项目位置1.2.4 项目结构1.2.5 项目类型1.3 导入依赖jar1.3.1 查找依赖1.3.2 导入依赖1.3.3 同步依赖1.4 创建web项目1.4.1 打包方式1.4.2 web依赖1.4.3 webapp目录1.4.4 定义Servlet和Jsp1.5 部署web项目1.5.1 新增Tomcat1.5.2

2020-06-11 13:42:07 181

原创 JS中异步请求无法返回给方法正确的布尔值 - 解决方案
原力计划

JS中异步请求无法返回给方法正确的布尔值 - 解决方案1. 问题现象2. 解决方案 1:改变 async 为同步 + 变量赋值3. 解决方案 2:使用全局变量 + 写 get/set 方法4. demo 源码1. 问题现象普通的 ajax 校验会出现的问题:无法正确返回 boolean 值 false,因此无法正确拦截表单提交!!! // 注册 $.ajax({ type : "post", async : true, url : "<%=request.getContextPa

2020-06-06 14:44:29 268

原创 Spring 体系结构、环境配置、入门案例
原力计划

Spring 体系结构、环境配置、入门案例1. Spring 体系结构2. Spring 环境配置2.1 安装 Java 开发工具包(JDK)2.2 安装 Apache Commons Logging API2.3 安装 Spring 框架库3. Spring 入门案例3.1 创建项目3.2 添加依赖库3.3 编写源文件1. Spring 体系结构Spring 是什么?Spring 是当前主流的 Java Web 开发框架。Spring 是由 Rod Johnson 组织和开发的一个分层的 Jav

2020-06-03 22:50:01 170

原创 Tomcat搭建图片服务器 + 验证图片上传

Tomcat搭建图片服务器,测试图片上传1. 搭建2. 创建目录3. 上传4. 接收5. 显示6. demo1. 搭建首先将tomcat复制一份解压并且改名此时 apache-tomcat-8.5.43-windows-x64-file 为图片服务器复制后的服务器 apache-tomcat-8.5.43-windows-x64-file 使用 在安装目录conf文件夹 server.xml文件内 修改三个端口号 分别是 8005 8080 8009 上述三个端口分别都修改为 +1 即可 即 80

2020-06-02 23:48:40 283

原创 ‘Starting Tomcat v9.0 Server at localhost’ has encountered a problem

在 Eclipse 配置 JavaWeb 开发环境,某次运行 tomcat 服务器出现了此错误。根本原因:配置的 servlet 资源路径重复,需将其区别开来,必然是配置错误导致的。(笔者是把 @WebFilter 写成了 @WebServlet 所以被检查 servlet 资源路径重复,导致此错误。)共勉!...

2020-05-28 19:17:51 2306 1

原创 JavaWeb中一个过滤各种中文乱码的过滤器EncodingFilter

一个过滤各种中文乱码的过滤器EncodingFilter@WebFilter("/*")public class EncodingFilter implements Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // 解决 post 请

2020-05-28 19:14:05 216

原创 Eclipse自动补全设置(终极方案)

Eclipse自动补全、字体、护眼色、tomcat、导包1. 设置字体2. 设置护眼色3. 设置自动补全4. 配置 Tomcat 服务器5. 配置默认 JSP 编码6. 无法导包解决方案1. 设置字体2. 设置护眼色3. 设置自动补全26字母和"."均会提示:Java 和 Java 类型补全建议 + 26字母异常强大的补全提示:4. 配置 Tomcat 服务器5. 配置默认 JSP 编码6. 无法导包解决方案...

2020-05-28 00:52:25 949

原创 基于阿里云的手机短信验证码和注册校验逻辑
原力计划

基于阿里云的手机短信验证码demo实现1. 环境依赖2. 页面表单3. 校验与短信发送4. SmsUtils 工具类5. 后台调用匹配验证码阿里云的短信平台:http://www.aliyun.com搜索短信服务,进入短信服务控制台,设置AccessKey+签名+短信模板。SDK及DEMO下载:https://help.aliyun.com/document_detail/55359.html注意事项:阿里云短信服务,1条验证码 0.045元,需要有余额才能发送!1. 环境依赖boot

2020-05-21 13:07:18 1131

原创 Typora编辑markdown图床设置(阿里云)

Typora编辑markdown上传图片的图床设置1. 阿里云 设置2. PicGo 设置3. Typora 设置4. 测试图片上传1. 阿里云 设置进入阿里云首页:https://www.aliyun.com/登陆账号进入 OSS 对象存储管理右侧 Bucket 管理,创建设置存储类型设置读写权限创建成功后,下一步配置 PicGo 的图床。2. PicGo 设置官网下载太慢,云盘飞快:链接:https://pan.baidu.com/s/10i2eo2aw0fBcvJJI

2020-05-20 09:18:00 348

原创 PowerDesigner数据库建模设计和生成SQL脚本

PowerDesigner数据库建模设计和生成SQL脚本1. 概述2. 概念数据模型2.1 概念数据模型创建2.2 E-R 实体-联系图3. 物理数据模型3.1 物理数据模型创建3.2 E-R 实体-联系图4. 生成脚本与逆向操作4.1 数据模型 >> SQL脚本文件4.2 SQL脚本文件 >> 数据模型5. SQLyog 中执行SQL脚本PowerDesigner 16.5 软件下载:链接:https://pan.baidu.com/s/1Wbgm3N9lYh9QUU7aPzr

2020-05-20 00:15:41 234

原创 ECharts 数据可视化图表简单使用

ECharts 数据可视化图表的使用1. ECharts 概述2. ECharts 使用步骤3. ECharts 官方示例4. ECharts 异步请求官网:https://echarts.apache.org/zh/index.html下载:https://echarts.apache.org/zh/builder.html实例:https://echarts.apache.org/examples/zh/index.html教程:https://echarts.apache.org/zh/tut

2020-05-18 22:21:38 789

原创 Bootstrap Validator:更好的表单校验

Bootstrap Validator:更好的表单校验1. 概述2. 环境配置3. 表单验证使用更好的表单校验:Bootstrap Validator官网(GitHub):https://github.com/nghuuphuoc/bootstrapvalidator官网(jQuery):https://plugins.jquery.com/bootstrapValidator/文档(API):http://bootstrapvalidator.votintsev.ru/api/API文档可

2020-05-18 21:56:08 260

JVM-Java内存规范.png

Java-JVM内存规范(详细完整思维导图),包含物理内存与虚拟内存、内核空间与用户空间、java中需要使用的内存组件、jvm内存结构、jvm内存回收策略、JVM参数等...

2020-05-28

MVC模式用JSP实现用户管理(增删改查)核心逻辑图示.png

MVC模式 + JSP + 三层架构设计,实现对用户的登陆、登出、新增(注册)、删除用户、修改用户、查询用户、以及查询所有用户的基本核心逻辑。

2020-05-09

Filter过滤器实现自动登陆核心逻辑.png

Java中Servlet使用Filter过滤器实现自动登陆核心逻辑流程图(基本可以直译代码),特此分享供大家学习交流使用,如有不足之处请私信或者评论纠正。

2020-05-09

Java知识图谱.jpg

Java只是图谱,成为一名合格的Java开发工程师,Java软件开发,全栈开发必备的知识图谱汇总,然后利用免费的视频资源,自学成才不是梦!

2020-03-07

空空如也

空空如也

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

TA关注的人 TA的粉丝

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