- 博客(60)
- 资源 (13)
- 论坛 (1)
- 收藏
- 关注
原创 立方阶时间复杂度怎么算-征战沙场- 第326篇
相关历史文章(阅读本文前,您可能需要先看下之前的系列????)国内最全的SpringBoot系列之三2020上半年发文汇总「值得收藏」程序CPU占用率飙升,如何定位线程的堆栈信息?「超详细,值得收藏」看不懂还有配套视频-第319篇「工作流Activiti」介绍-新手上路,注意安全-第320篇「Activiti精品悟纤出品」activiti介绍-十万个为什么-第321篇「Activiti精品 悟纤出品」Activiti6 Getting Started- 稳扎稳打 - 第...
2020-11-05 14:00:28
1032
转载 冥想之术
相关历史文章(阅读本文之前,您可能需要先看下之前的系列????)充电5分钟,通话2小时/精力管理金字塔/高效率休息技术之路该何去何从你的提问姿势对否?提高专注力,开启快挂人生前言在前面的文章《提高专注力,开启开挂人生》和《充电5分钟,通话2小时/精力管理金字塔/高效率休息》中都提到了冥想,可见冥想之书在我们的生活中还是很重要的,为此我们如果能够合理的利用好时间进行冥想,那么我们可能发现不一样的生活。一、什么是冥想冥想(meditation...
2020-11-05 13:53:52
1028
原创 「Activiti精品 悟纤出品」基于mysql初始化「图图为啥消失了」- 第325篇
相关历史文章(阅读本文前,您可能需要先看下之前的系列????)国内最全的SpringBoot系列之三2020上半年发文汇总「值得收藏」程序CPU占用率飙升,如何定位线程的堆栈信息?「超详细,值得收藏」看不懂还有配套视频-第319篇「工作流Activiti」介绍-新手上路,注意安全-第320篇「Activiti精品悟纤出品」activiti介绍-十万个为什么-第321篇「Activiti精品 悟纤出品」Activiti6 Getting Started- 稳扎稳打 - 第...
2020-11-03 17:35:37
1070
原创 JVM内存模型和性能调优:阿里巴巴Arthas调优工具:Arthas实战之线上代码热更新- 第47篇
背景 尽管在生产环境热更新代码,并不是很好的行为,很可能导致:热更不规范,同事两行泪。 但很多时候我们的确希望能热更新代码,比如: 线上排查问题,找到修复思路了,但应用重启之后,环境现场就变了,难以复现。怎么验证修复方案?步骤步骤1: jad命令反编译代码步骤2: 文本编辑器修改代码步骤3: sc命令查找代码所在类的ClassLoader步骤4: mc命令指定ClassLoader编译代码步骤5: redefine命令热更新代码...
2020-11-03 17:20:14
1181
原创 JVM内存模型和性能调优:阿里巴巴Arthas调优工具:Arthas实战trace之查找耗时的方法- 第46篇
如何从一个调用链中找出耗时的方法呢?问题的描述 我们调用一个api却发现执行的时间过长,那么这个时候怎么查找是哪个代码的问题呢?问题的解决指令:trace 说明:方法内部调用路径,并输出方法路径上的每个节点上耗时。注意事项:trace 能方便的帮助你定位和发现因 RT 高而导致的性能问题缺陷,但其每次只能跟踪一级方法的调用链路。实战(1)使用trace进行监控某个方法$ trace com.kfit.jvmfullgc.controller...
2020-11-03 17:17:37
1271
原创 JVM内存模型和性能调优:阿里巴巴Arthas调优工具:Arthas常用命令- 第45篇
这节我们来介绍下Arthas常用的一些命令一、准备工作1.1 代码准备 我们来来准备一下代码ArthasTest,在这个代码中模拟CPU过高、线程死锁等情况:package com.kfit.jvm;import java.util.HashSet;import java.util.concurrent.TimeUnit;/** * 测试Arthas * * @author 悟纤【公众号SpringBoot】 */public class Artha...
2020-11-03 17:14:35
1100
原创 JVM内存模型和性能调优:阿里巴巴Arthas调优工具:Arthas安装- 第44篇
这一节我们看下Arthas如何进行安装。一、Arthas安装方式 对于Arthas的安装支持如下几种方式:(1)快速安装 ① 使用arthas-boot(推荐) ② 使用as.sh(2)全量安装 下载zip包的方式(里面核心就是arthas-boot.jar)(3)手动安装https://arthas.aliyun.com/doc/manual-install.html(4)通过rpm/dep来安装...
2020-11-03 17:12:24
1126
原创 JVM内存模型和性能调优:阿里巴巴Arthas调优工具:什么是Arthas- 第43篇
Arthas 是Alibaba开源的Java诊断工具。 Arthas支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式一、Arthas能为你做什么?当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?...
2020-11-03 17:11:05
1088
原创 Spring入门到精通:第八章 使用SpringMVC开发简单的博客系统:9.SpringMVC开发博客系统实例-博客删除文章开发
删除是最简单的了。一、博客删除文章开发(1)在ArticleDao新增deleteById方法void deleteById(int id);(2)在ArticleDaoImpl实现deleteById方法@Overridepublic void deleteById(int id) { String sql = "delete from article where id=?"; jdbcTemplate.update(sql,id);}(3)在Ar.
2020-11-03 16:59:15
1134
原创 Spring入门到精通:第八章 使用SpringMVC开发简单的博客系统:8.SpringMVC开发博客系统实例-博客修改文章开发
修改和添加是共用一个页面的,开发起来也是很简单的,主要是一个开发思想。一、博客修改文章开发(1)在ArticleDao新增两个方法/**通过id获取数据*/Article getById(int id);/**编辑数据*/void edit(Article article); 对于getById在修改的时候,需要把原先的数据进行还原显示,所以需要此方法进行查询原先的数据。(2)在ArticleDaoImpl实现新增的两个方法@Override...
2020-11-03 16:57:16
1101
原创 Spring入门到精通:第八章 使用SpringMVC开发简单的博客系统:7.SpringMVC开发博客系统实例-博客添加文章开发
添加文章的开发也是很简单了,基本思路都差不多。一、博客添加文章开发(1)ArticleDao增加save方法void save(Article article);(2)ArticleDaoImpl实现save方法@Overridepublic void save(Article article) { String sql = "insert into article(title,content,createTime) value(?,?,?)"; jdbcTe.
2020-11-03 16:55:14
1170
原创 Spring入门到精通:第八章 使用SpringMVC开发简单的博客系统:6.SpringMVC开发博客系统实例-博客管理页开发
对于管理员有了首页的基础,这个就很简单了。一、博客管理员开发(1)在ArticleController新增一个方法articleManage():@RequestMapping("/articleManage")public String articleManage(Map<String,Object> map){ List<Article> articles = articleService.getAll(); map.put("articles",
2020-11-03 16:52:51
1157
原创 Spring入门到精通:第八章 使用SpringMVC开发简单的博客系统:5.SpringMVC开发博客系统实例-博客首页开发
我们先开发下博客首页。一、博客首页开发 我们发起一个请求到controller,然后controller会获取通过业务处理层获取到数据,然后返回到页面中,页面通过foreach进行展示。(1)ArticleDao增加getAll()定义/**获取所有的文章*/List<Article> getAll();(2)ArticleDaoImpl实现getAll()@Autowiredprivate JdbcTemplate jdbcTemplate;...
2020-11-03 15:47:03
1148
2
原创 Spring入门到精通:第八章 使用SpringMVC开发简单的博客系统:4.SpringMVC开发博客系统实例-表和实体类构建
至此我们就可以开发我们的博客相关的了,我们这一节先把基础的进行搭建。一、表和实体类构建(1)创建表/**创建博文表*/CREATE TABLE article ( id int NOT NULL AUTO_INCREMENT, title varchar(255) NULL, content text NULL, createTime datetime NULL, PRIMARY KEY (id));INSERT INTO `spring5`.`article.
2020-11-03 15:42:00
1092
原创 Spring入门到精通:第八章 使用SpringMVC开发简单的博客系统:3.SpringMVC开发博客系统实例-JdbcTemplate和事务的配置
对于这一块,我们直接参考之前的代码还是非常的简单的。一、jdbcTemplate和事务的配置(1)添加配置类 我们这里使用的是全注解的方式,所以需要一个配置类:package com.kfit.config.db;import com.alibaba.druid.pool.DruidDataSource;import org.springframework.context.annotation.Bean;import org.springframework.contex...
2020-11-03 15:36:47
1119
原创 Spring入门到精通:第八章 使用SpringMVC开发简单的博客系统:2.SpringMVC开发博客系统实例-SpringMVC配置
在这一节我们先搭建spring mvc的部分,这部分我们应该是已经轻车熟路了。一、Spring MVC配置(1)新建一个项目:新建一个项目取名为:myblog2020添加web framework:(2)添加依赖 由于我们在父类之前都添加了,所以就不需要重复添加了,parent-pom.xml如下:<properties> <spring.version>5.2.9.RELEASE</spring.versi...
2020-11-03 15:35:36
1141
原创 Spring入门到精通:第八章 使用SpringMVC开发简单的博客系统:1.SpringMVC开发博客系统实例-系统分析
SpringMVC开发博客系统实例-系统分析在这一个章节中我们通过一个简单的博客系统将我们学习的知识串起来。一、博客系统演示 我们先通过几张的图片来直接的看下最终的一个效果:(1)博客首页(2)文章管理(3)添加文章二、博客系统分析2.1 需求实现一个博客系统,可以浏览博客列表、查看博客详情、添加博客、修改博客内容、删除博客,实际上也就是实现博客的增、删、改、查。2.2 需要做哪些?(1)数据库设计:mysql(article)...
2020-11-03 15:32:55
1114
原创 Spring入门到精通:第七章 SpringMVC:4.SpringBoot之SpringMVC的HelloWorld
在前面通过spring学习了Spring MVC,这一节我们看下通过SpringBoot的方式来实战操作下。一、什么是Spring BootSpring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 在这里我们并不是要介绍Spring Boot的,所以我们只需要指定几点Spring Boot的特性:(1)可以创建独立的Spring应用...
2020-11-03 15:29:02
1116
原创 Spring入门到精通:第七章 SpringMVC:3.SpringMVC的HelloWorld(基于注解)
大体的步骤和基于XML的差不多。我们这里主要看下不一样的地方。一、SpringMVC开发(1)新建一个一个新的项目spring-springmvc-annotation并且添加web framework 这个步骤和上面的一样,没啥区别,不都说。(2)添加servlet-api依赖<dependency> <groupId>javax.servlet</groupId> <artifactId>javax....
2020-11-03 15:26:53
1084
原创 Spring入门到精通:第七章 SpringMVC:2.SpringMVC的HelloWorld(基于XML)
我们还是通过一个简单的例子来对于SpringMVC有一个认知吧。一、SpringMVC开发步骤(1)新建一个springmvc工程并且添加web framework(2)添加spring-webmvc依赖并且将依赖添加到lib下(3)编写web.xml添加springmvc的前端控制器(4)编写spring-mvc.xml配置文件(5)编写controller(6)添加tomcat进行部署测试二、SpringMVC开发(1)新建一个springmvc工程并..
2020-11-03 15:23:11
1019
原创 Spring入门到精通:第七章 SpringMVC:1.SpringMVC简介和工作流程
在接下来的章节我们会介绍下Spring MVC。一、MVCMVC是我们开发WEB应用程序的通用架构方式MVC的核心思想是业务数据抽取和业务数据呈现相分离。MVC:M(Model)+V(View)+C(Controller)M(模型层):业务数据的信息表示,通常是业务实体V(视图层):为用户呈现数据的页面C(控制层):调用业务逻辑产生合适的数据(Model),同时传递数据(Model)给视图层(View)呈现给用户MVC:是一种架构模式,将业务逻辑和页面展示分离,使程.
2020-11-03 15:19:43
1082
原创 Spring入门到精通:第六章 Spring事务管理:8.事务操作-Spring声明式事务管理(XML方式)
我们来看下XML方式如何进行配置呢?一、XML配置步骤说明 对于XML的配置核心就是配置文件,那么需要依赖于两个核心的命名空间tx和aop。(1)引入tx和aop的命名空间;(2)事务的配置;(3)编写转账;二、演示XML配置(1)引入tx和aop的命名空间;<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org...
2020-11-03 15:17:44
1115
原创 Spring入门到精通:第六章 Spring事务管理:7. 事务操作-Spring事务-事务参数
在@Transactional注解中有很多的属性可以进行配置,也就是事务参数,这一节我们来看下传播行为。一、事务参数 我们先看下都有什么参数可以配置呢?(1)transactionManager:事务管理器;(2)propagation:事务传播行为;(3)isolation:事务的隔离级别;(4)timeout:超时时间(5)readOnly:是否只读(6)rollbackFor:回滚(7)noRollbackFor:不回滚。1.1 事务传...
2020-11-03 15:12:40
1103
原创 Spring入门到精通:第六章 Spring事务管理:6.事务操作-Spring声明式事务管理(注解方式)
我们来看下使用配置的方式应该怎么做呢?一、注解方式声明式事务管理步骤(1)注入事务管理器:PlatformTransactionManager(2)启用注解事务管理:@EnableTransactionManagement(3)在方法或者类上添加事务注解@Transactional(4)测试二、演示注解方式声明式事务管理(1)注入事务管理器:PlatformTransactionManager 我们直接在DBConfig类上进行添加事务管理器...
2020-11-03 15:10:46
1048
原创 Spring入门到精通:第六章 Spring事务管理:5.事务操作-场景引入和Spring事务管理介绍
上面的代码,如果正常执行的话没有什么问题的,但是如果代码执行过程中出现异常的话就有很大的问题了,就会出现数据不一致了。一、异常演示 我们在zhangsan扣减金额之后模拟一个异常来看下,代码如下:public void transferMoney() { //减少钱 accountDao.updateMoneyByName("zhangsan",new BigDecimal(-100)); //模拟异常... int i = 1/0;w ...
2020-11-03 15:08:24
1038
原创 Spring入门到精通:第六章 Spring事务管理:4.事务操作-搭建事务操作环境
接下来我们会以张三给李四转账作为事务的例子来进行说明。 我们来分析下具体要做什么。一、张三给李四转账的思考(1)钱存在哪里? 张三要给李四转账,那么就需要一个账号表,有两条记录,存放张三和李四的钱。(2)转账的动作:张三钱减少,李四钱增加,那么就需要有两个方法,一个就是增加钱,一个就是减少钱了,当然一个方法也是可以实现的,通过负数和正数来解决。(3)转账的业务逻辑:我们需要有一个服务来处理转账的动作,也就是张三-100元,李四+100元的这个过程。二、张三给李四转账...
2020-11-03 14:58:26
1136
原创 Spring入门到精通:第六章 Spring事务管理:3.事务的隔离级别
这一节我们来说一下事务的隔离级别一、事务不考虑隔离性可能会引发的问题 如果事务不考虑隔离性,可能会引发:脏读、不可重复读、幻读问题。(1)脏读脏读:指在一个事务处理过程里读取了另一个未提交的事务中的数据。当一个事务正在多次修改某个数据,而在这个事务中这多次的修改都还未提交,这时一个并发的事务来访问该数据,就会造成两个事务得到的数据不一致。 假设A向B转帐100元,对应sql语句如下所示 事务A:update account set money=mon...
2020-11-03 14:42:26
1126
原创 Spring入门到精通:第六章 Spring事务管理:2.事务的四大特性
前言 对于要把事务在实际中使用好,需要了解事务的特性。 事务的四大特性主要是:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一、事务的四大特性1.1 原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么全部成功,要么全部失败。比如在同一个事务中的SQL语句,要么全部执行成功,要么全部执行失败。begin transaction; updat...
2020-11-03 14:41:20
1092
原创 Spring入门到精通:第六章 Spring事务管理:1.事务的基本概念
前言通过本节,你将了解到:事务、本地事务、分布式事务这几个名词的基本概念。一、什么是事务? 什么是事务?1.1 举个生活中的例子去超市买东西,一手交钱,一手交货就是一个事务的例子。事务的体现:交钱和交货必须全部成功,事务才能算成功,任何一个活动失败,整个事务就失败了了。1.2 举个SQL例子 张三要给李四转账100元,那么我们会有这样的一段SQL:begin transaction; update account set money =...
2020-11-03 14:39:22
1119
原创 Spring入门到精通:第五章 JdbcTemplate:5.JdbcTemplate操作数据库-查询操作
这一节我们来讲一下查询:(1)查询表有多少条记录;(2)查询某条数据;(3)查询所有记录;一、演示查询(1)在BookDao添加几个查询方法:/**查询表有多少条记录*/int selectCount();/**查询某条数据*/Book findOne(int id);/**查询所有记录*/List<Book> findAll();(2)在BookDaoImpl添加几个查询方法的实现:public int selectCount(..
2020-11-03 14:37:42
1120
原创 Spring入门到精通:第五章 JdbcTemplate:4.JdbcTemplate操作数据库-修改和删除
有了新增数据的基础,再来学习修改和删除就简单很多了。一、演示修改和删除(1)BookDao新增修改和删除方法/**修改book*/void update(Book book);/**根据book的id进行删除*/void delete(int id);(2)BookDaoImpl新增修改和删除方法的实现public void update(Book book) { String sql = "update Book set name=?,author=?..
2020-11-03 14:36:08
1070
2
原创 Spring入门到精通:第五章 JdbcTemplate:3.JdbcTemplate操作数据库-增加功能
我们来先看下这个往数据库添加数据的操作。一、增加功能步骤(1)创建数据库:新建一个数据库spring5;(2)创建表:新建一张表book;(3)创建实体类:新建一个实体类Book;(4)创建接口BookDao和实现BookDaoImpl(5)创建接口BookService和实现BookServiceImpl(6)测试二、演示增加功能(1)创建数据库:新建一个数据库spring5;/**创建数据库*/CREATE DATABASE spring5;..
2020-11-03 14:34:05
1078
原创 Spring入门到精通:第五章 JdbcTemplate:2.JdbcTemplate准备工作(注解方式)
接下来我们看下注解的方式,毕竟之后我们以后大部分都是使用注解的方式进行开发了,所以我们看下注解的方式。一、JdbcTemplate的使用步骤(1)添加依赖:spring-jdbc、mysql驱动、druid数据源(2)配置数据源和JdbcTemplate(3)引入进行使用二、JdbcTemplate的使用(1)添加依赖:spring-jdbc、mysql驱动、druid数据源(已经引入了可以忽略)<!--↓↓↓ spring jdbc >> sta.
2020-11-03 14:30:29
1158
4
原创 Spring入门到精通:第五章 JdbcTemplate:1.JdbcTemplate概述和准备工作(XML方式)
spring-jdbc 模块是 Spring 提供的 JDBC 抽象框架的主要实现模块, 用于简化 Spring JDBC。主要是提供 JDBC 模板方式、 关系数据库对象化方式、 SimpleJdbc 方式、 事务管理来简化 JDBC 编程, 主要实现类是 JdbcTemplate。 什么是JdbcTemplate? Spring框架对JDBC进行的封装,简化对数据库的操作。 对于JdbcTemplate怎么使用呢?一、JdbcTemplate的使用步骤(1)...
2020-11-03 14:28:55
1123
原创 Spring入门到精通:第四章 AOP:9.AOP基于XML实现
有了注解的实现,基于XML的实现就简单很多了。一、AOP基于XML实现思路(1)添加AOP依赖:spring-aspects;(2)编写切面:普通的Java类即可。(3)编写配置文件(4)测试二、AOP基于XML实现(1)添加AOP依赖:spring-aspects; 添加过了可以忽略:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apach...
2020-11-03 14:26:57
1136
原创 Spring入门到精通:第四章 AOP:8.AOP基于注解实现@Around和@Order
环绕通知(@Around):环绕通知相当于动态代理的全过程。一、@Around 我们直接看下代码:/** * 环绕通知:环绕通知相当于动态代理的全过程, * @param pjd */@Around(value="pointcut()")public Object arround(ProceedingJoinPoint pjd){ Object result = null; String methodName = pjd.getSignature()...
2020-11-03 14:24:27
1081
原创 Spring入门到精通:第四章 AOP:7.AOP基于注解实现@Pointcut
切面非常核心的一个配置就是@Pointcut,其它基本上没啥太大的变化。一、Pointcut的声明一个 pointcut 的声明由两部分组成:• 一个方法签名, 包括方法名和相关参数• 一个 pointcut 表达式, 用来指定哪些方法执行是我们感兴趣的(即因此可以织入 advice).在@AspectJ 风格的 AOP 中, 我们使用一个方法来描述 pointcut, 即://切点表达式@Pointcut("execution(* com.kfit.user.s...
2020-11-03 14:22:19
1062
原创 Spring入门到精通:第四章 AOP:6.AOP基于注解实现切点表达式优化
我们上面的例子虽然基本实现了AOP的功能,但是存在很多待优化的地方。一、切点表达式优化(1)切入点表达式统一化 现在我们在不同的通知上都使用了切点表达式,不同的地方一样的表达式,那么是否可以写在一个地方呢,当然可以了,只要使用@Pointcut进行注解一个方法是一个切入点即可:@Pointcut("execution(double com.kfit.user.service.CalculatorService.add(double,double))")public void ...
2020-11-03 14:19:24
1109
原创 Spring入门到精通:第四章 AOP:5.AOP基于注解实现
这节我们看下注解的实现方式。一、AOP基于注解实现思路(1)添加AOP依赖:spring-aspects(包含aspectj);(2)开启AspectJ自动代理:@EnableAspectJAutoProxy;(3)编写切面:@AspectJ+@Component(4)测试二、AOP基于注解实现(1)添加AOP依赖:spring-aspects; 在pom.xml文件中添加如下依赖:<?xml version="1.0" encoding="UT...
2020-11-03 14:14:14
1090
原创 Spring入门到精通:第四章 AOP:4.AOP术语
这一节我们对于AOP中牵涉的术语有一个基本的认知。一、AOP术语(1)连接点(joinpoint)类里面哪些方法可以被增强,这些方法成为连接点。Spring只支持方法连接点,其他如AspectJ还可以让你在构造器或属性注入时都行,这里只要记住,和方法有关的前前后后(抛出异常)都是连接点。 在add和sub方法执行之前、执行之后、抛出异常、返回结果都是连接点。(2)切入点(pointcut) 实际被增强的方法,成为切入点。 上面说的连接...
2020-11-03 14:08:03
1116
rocketmq-console-ng-201903.jar
2019-11-28
seata-server-1.0.0.zip
2020-04-16
activiti-designer-5.18.0.zip
2020-08-26
txlcn-tm-5.0.2.RELEASE.zip
2019-05-20
从零开始学Spring Boot
2016-05-21
悟纤的留言板
发表于 2020-01-02 最后回复 2020-01-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝