自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 敏捷的理由

敏捷的理由 1、专业性 敏捷高度重视纪律而非形式,要把敏捷做对,需要结对编程、测试先行、重构并致力于简单设计,你必须在短循环周期内工作,每个周期都产出可以工作的软件,必须定期且持续地与业务部门保持沟通。 极限编程的生命之环中的每一个实践都是一个承诺、一个保证,敏捷开发就是承诺要拼尽全力成为一名专业人士,并在整个软件开发行业倡导专业的行为。 2、管理者、用户的期望 不会交付一堆垃圾 从技术上随时做好交付的准备 敏捷要求系统在每个迭代结束的时候都应该是技术上可部署的——在开发人员看来,系统在技术上足够稳

2021-10-08 09:03:41 159

原创 线程池调优与监控

1、线程池的调优 1.1 分析任务的特性 任务的性质: CPU 密集型任务、IO 密集型任务和混合型任务。 任务的优先级: 高、中、低。 任务的执行时间: 长、中、短。 任务的依赖性: 是否依赖其他系统资源,如数据库连接。 可以通过 Runtime.getRuntime().availableProcessors() 方法获得当前设备的 CPU 个数。 1.2 具体策略 (1)CPU 密集型任务配置尽可能小的线程,如配置N^cpu+1个线程的线程池。 (2)IO 密集型任务则由于线程并不是一直在执行

2021-09-06 14:52:20 393

原创 线程池介绍

1、合理使用线程池的好处 降低资源消耗 通过重复利用已经创建的线程降低线程创建的和销毁造成的消耗。例如,工作线程Woker会无线循环获取阻塞队列中的任务来执行。 提高响应速度 当任务到达时,任务可以不需要等到线程创建就能立即执行。 提高线程的可管理性 线程是稀缺资源,Java的线程池可以对线程资源进行统一分配、调优和监控。 2、线程池工作流程 a、如果当前运行的线程少于corePoolSize,则创建新的工作线程来执行任务(执行这一步骤需要获取全局锁)。 线程池在创建线程时,会将线程封装成工作线程Wok

2021-09-06 14:45:52 116

原创 线程 状态

(1)介绍 New:新建状态 Ready:就绪状态 Running:运行状态 Terminated:终止状态 Waiting:等待状态 TimedWaiting:超时等待状态 Blocked:阻塞状态 (2)新建 实现Runnable接口或者集成Tread声明一个线程类,new一个实例,线程进入新建状态。 (3)就绪 线程对象创建成功后,调用该线程的start(),线程进入就绪状态。该状态的线程进入【可运行线程池】中,等待获取CPU的使用权。 (3)运行 线程调度程序正在从【可运行线程池】中选择一个线程

2021-09-03 13:44:02 108

原创 【04】事务

Redis事务就是一个命令执行的队列,将一系列预定义命令包装成一个整体,一次性按照顺序依次执行。 1、基本操作 (1)开启事务 multi (2)执行事务 exec (3)取消事务 discard——终止当前事务的定义,发生在multi之后,exec之前 2、注意事项 (1)事务定义过程中,命令语法错误,整个事务中所有命令都不会执行。 (2)事务定义过程中,命令执行错误,能够运行正确的命令,错误的不会执行。 3、基于特定条件的事务执行 (1)锁 watch key1 key2 ……——对key添加监视锁,在

2021-09-03 10:20:35 55

原创 【03】持久化

含义: 利用永久性介质将数据进行保存,在特定时间内将保存的数据进行恢复的工作机制。 方式: (1)RDB 将当前的数据状态进行保存,快照形式,存储数据结果,格式简单,关注点在数据。 (2)AOF 将数据的操作过程进行保存,日志形式,存储操作过程,格式复杂,关注点在操作过程。 一、RDB 1、save save指令的执行会阻塞当前Redis服务器,直到当前的rdb过程完成,可能阻塞很长时间。 2、bgsave 发送bgsave指令后,Redis调用fork函数生成子线程,返回消息,后台子线程创建rdb文件。

2021-09-03 10:18:28 51

原创 【02】数据结构

一、string 1、基本操作 set、get、del、mset(同时设置多个key-value)、mget(同时获取多个value)、strlen(value的长度)、append(追加,若没有则新建) 2、扩展操作 incr、incrby、incrbyfloat decr、decrby setex、psetex 3、注意事项 (1)数据操作成功与不成功的反馈:0-失败,1-成功 (2)数据未获取到:nil (3)数据最大存储容量:512M (4)数据计算的最大范围:Java中long型最大值 二、has

2021-09-03 10:12:44 82

原创 【1】介绍

remote dictionary server——C语言开发的、高性能的键值对数据库。 Redis所有操作都是原子性的,采用单线程处理所有业务,无需考虑并发。 1、特征 (1)数据之间没有必然的关联关系; (2)内部采用单线程工作; (3)高性能; (4)多数据类型支持:String/List/Set/Sorted Set/Hash; (5)持久化支持,可以对数据进行灾难恢复; 2、应用 (1)为热点数据加速查询 (2)任务队列 (3)即时信息查询 (4)时效性信息控制 (5)分布式数据共享 (6)消.

2021-09-03 10:08:20 50

原创 Validation框架实现参数校验

1、常用注解 2、分组校验 ==>> 将不同的校验规则分给不同的组,在使用时,指定不同的校验规则 (1)定义分组接口 定义一个分组接口,类似一个标识 /** * 校验分组1 * @author */ public interface Group1 { } /** * 校验分组2 * @author */ public interface Group2 { } (2)注解增加分组属性groups groups = {Group1.class} @Data public cla

2021-09-03 10:02:51 390

转载 SQL优化

1、分页优化 优化前 select * from table where type = 2 and level = 9 order by id asc limit 999, 10; 优化方案 (1)延迟关联 先通过where条件提取出主键,再将该表与原数据表关联,通过主键id提取数据行,而不是通过原来的二级索引提取数据行。 select a.* from table a, (select id from table where type = 2 and level = 9 order by id asc

2021-08-06 16:47:32 77

原创 使用注解和XML完成注册bean

1、配置可选方案 (1)在XML中进行显式配置 (2)在java中进行显式配置 (3)隐式的bean发现机制和自动装配 尽可能使用自动配置的机制,显式配置越少越好 ==> 必须显式配置,使用JavaConfig ==> 最后使用有便利命名空间的XML 2、自动化装配bean 两个角度实现: 组件扫描:Spring会自动发现应用上下文所创建的bean 自动装配:Spring自动满足bean之间的依赖 2.1 创建可被发现的bean (1)@component注解 ——表明该类会作为组件

2020-12-09 18:48:42 636

原创 restful编码规范

1、HTTP动词 动词 描述 GET(select) 从服务器取出一个/多个资源 POST(create) 在服务器新建一个资源 PATCH(update) 在服务器更新资源(客户端提供改变的属性) PUT(update) 在服务器更新资源(客户端提供改变后的完整资源) DELETE(delete) 从客户端删除资源 image.png 2、swagger规范 注解 对象范围 使用位置 详细参数 例子 @Api 协议集描述 controller类上 value:URL路径值 description:对ap

2020-12-09 18:29:11 310

原创 IDEA debug调试技巧基础+进阶汇总

IDEA调试技巧总结1、常用调试技巧(界面介绍)(1)*Step Over*(2)*Step Into*(3)*Force Step Into*(4)*Step Out*(5)*Run To Cursor*(6)*Resume Program*2、回退drop frame(0)frame说明(1)Drop Frame按钮(2)在调用栈方法上选择要回退的方法,右键选择Drop Frame注意3、条件断点4、热修改5、表达式求值(1)查看变量(2)修改变量6、新建变量监控7、多线程调试8、主动抛出异常 1、常用

2020-08-31 13:17:34 1135

OpenCV函数手册

是学习OpenCV的入门参考书,可以帮助你更好地了解OpenCV里的函数含义与使用规则

2018-05-15

空空如也

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

TA关注的人

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