自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (3)
  • 收藏
  • 关注

原创 责任链中的嵌套使用

总结:设计模式的使用,可以降低耦合度。它将请求的发送者和接收者解耦。使得对象不需要知道链的结构。3、增强给对象指派职责的灵活性。通过改变链内的成员或者调动它们的次序,允许动态地新增或者删除责任。4、增加新的请求处理类很方便。总之项目中需不需要使用这种设计模式,具体用那种,这个还是要根据实际情况来选择或者搭配来使用。合理的使用才是解决项目问题的关键。1.按照之前的业务,用户建档后,挂号,生成挂号费用,根据挂号费(根据用户的身份生成不同的金额,儿童或者特殊人群挂号免费)

2023-06-14 16:28:48 126

原创 责任链模式在项目中的引入使用

在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。在我自己的项目中我是按照这个Servlet的原型进行改造的。1.filter一般用于Servlet处理一些前置的校验,且给个filter有自己各自的责任和处理逻辑,在调用filter时候,需要传递filterChain,来告诉当前的执行的是那一个chain.

2023-06-14 15:42:11 126

原创 redis简单使用一

redis使用笔记

2023-03-22 11:42:54 408

原创 项目中的一些sql优化方案问题总结

说到性能优化也是面试中提到的最多的一些问题,在面试上也经常被问道。以自己的项目实际中出现的问题为起点,来分享下自己对项目中的性能优化的使用和理解。

2023-03-20 09:37:50 219

原创 高性能内存队列Disruptor使用

Disruptor 在项目中的使用

2023-03-11 09:00:00 788

原创 java并发编程

进程是代码在数据集合上的一次运行活动, 是系统进行资源分配和调度的基本单位, 线程则是进程的一个执行路径, 一个进程中至少有一个线程,进程中的多个线程共享进程的资源。操作系统在分配资源时是把资源分配给进程的, 但是CPU 资源比较特殊, 它是被分配到线程的, 因为真正要占用CPU 运行的是线程, 所以也说线程是CPU 分配的基本单位。线程:线程,有时被称为轻量级进程(Lightweight Process,LWP),是操作系统调度 (CPU调度)执行的最小单位。

2023-03-10 17:45:00 86

原创 CPU高速缓存&缓存一致性问题

CPU缓存系统中是以缓存行(cache line)为单位存储的。目前主流的CPU Cache 的 Cache Line 大小都是64Bytes。在多线程情况下,如果需要修改“共享同一个缓存行的变 量”,就会无意中影响彼此的性能,这就是伪共享(False Sharing)。对象被放入一个CacheLine中,根据MSEI协议,其中一个属性改变,其他所有没有改变的属性也变得不可共享。

2023-03-09 07:45:00 399

原创 并发编程之深入理解JMM&三大特性

Java内存模型(Java Memory Model简称JMM)是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段 和构成数组对象的元素)的访问方式。

2023-03-08 20:15:00 284

原创 好用的数据库文档工具

数据库文档生成工具

2022-11-23 20:41:56 276 2

原创 flywaydb在项目中的使用

flyway在项目中的简单使用

2022-11-22 17:43:24 2040

原创 docker学习4

1.nacos单机部署:1.docker pull nacos/nacos-server 拉取nacos2. #创建挂载文件路径mkdir -p /home/web-data/logs ## 日志文件路径mkdir -p /home/web-data/conf ### 配置文件路径mkdir -p /home/web-data/data ## 数据文件-v /home/web-data/logs:/home/nacos/logs-v /home/web-dat...

2022-04-19 22:42:44 794

原创 docker 学习3

1.docker镜像镜像是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件。只有通过这个镜像文件才能生成Docker容器实例(类似Java中new出来一个对象)。在下载的过程中我们可以看到docker的镜像好像是在一层一层的在下载,docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统UnionFS。..

2022-03-02 23:45:31 4347

原创 Docker学习手记-1

1.Docker简介 docker的历史 2010年,几个的年轻人,就在美国的旧金山成立了一家公司 dotcloud。做一些Paas平台的创业公司! 从事LXC(Linux Container容器)有关的容器技术!Linux Container容器是一种内核虚拟化技术,可以 提供轻量级的虚拟化,以便隔离进程和资源。他们将自己的技术(容器化技术)命名就是 Docker。 Docker刚刚延生的时候,没有引起行业的注意!虽然获得了创业孵化器(Y Combinator)的支持、也获得 ht.

2022-03-01 22:18:00 315

原创 Docker学习手记-2

docker学习

2022-03-01 22:17:27 511

原创 canal 监听同步指定数据库,刷新redis缓存

最近工作中需要使用到缓存,但是由于在业务实现的时候刷新缓存总会出现一些缓存不一致问题。于是最终想采用canal监听来处理数据一致性问题。查看mysql binlog日志是否开启:1.配置mysql内容,修改mysql的my.ini(win)log-bin=mysql-bin # 开启 binlogbinlog-format=ROW # 选择 ROW 模式server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 s...

2022-01-21 14:02:57 1731

原创 redis学习命令笔记

最近在看redis命令,找到一篇不错的学习笔记附上下载地址:redis操作手册

2021-12-03 11:07:56 75

原创 redis基础使用

是什么?是完全开源免费的,用c语言编写的,是一个单线程,高性能的(key/value)内存数据库,基于内存运行并支持持久化的nosql数据库能干嘛?主要是用来做缓存,但不仅仅只能做缓存,比如:redis的计数器生成分布式唯一主键,redis实现分布式锁,队列,会话缓存等等。去哪下?官网,也可以通过Linux yum直接下载安装 (Redishttps://redis.io/download)1.redis安装 1.1 下载地址:http://redis.io/downloa..

2021-09-14 11:23:31 234

原创 drools规则引擎的在项目中的使用手记

需求 按照登录用户的会员等级 和签到周期根据一定的计算规则送积分。由于之前都是通过if else去做的控制。规则变更的时候可能需要重新调整代码甚至发布服务。由于不想再每次规则变更后需要调整代码,于是最近在确认方案, 于是最好找到了规则引擎。什么是规则引擎规则引擎,全称为业务规则管理系统,英文名为BRMS(即Business Rule Management System)。规则引擎的主要思想是将应用程序中的业务决策部分分离出来,并使用预定义的语义模块编写业务决策(业务规则),由用户或开发者在需..

2021-08-31 16:11:17 1009 2

原创 java项目代码加密

最近公司项目在搞上线,由于是政务项目,第三方服务器上很多家公司都可以访问,领导要求对自己公司的核心业务源代码进行加密。于是最近在网上找这些资料,之前看了下Proguard这个工具,但是我这边一直没有测试成功,而且多模块一直有问题。最终在github上找到了一款xjar代码加密工具...

2021-07-15 17:12:26 2154 1

原创 服务提示MySQL的 Lock wait timeout exceeded; try restarting transaction

今天突然听到前端人员说好多接口报错,服务端今天也没有发布版本。于是赶紧看日志 Cause: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction; Lock wait timeout exceeded; try restarting transaction; nested exception is com.mysql.

2021-06-09 23:50:48 4338

原创 springcloudalibaba项目使用情况

cloud微服务开发手册1.后端结构技术选型技术说明官网地址Spring Boot容器+MVC框架https//spring.io/projects/spring-bootSpring Security认证和授权框架https//spring.io/projects/spring-securityMyBatis-PlusORM框架https://mp.baomidou.com/guMyBatisPlusGenerator数据层代码生成https:/

2021-05-21 08:41:36 2117

原创 记一次线上mysql慢查询问题

问题: 最近维护的一个项目,线上服务在查询商品详情的时候出现一只在加载中,客服反馈说是要等好久在加载出来。商品详情出现这种问题,肯定是不行的。为了尽快的先解决线上问题。我自己也先去试了一下接口请求,发现的确是很慢。具体也不清楚原因,之前也没有听说同事说这个有问题。我处理的步骤:1.确认接口有没有报错问题,检查线上日志接口是没有任何报错信息。日志信息也很长成。就是接口响应有点慢。2.由于这个接口主要是商品信息的查询,没有其他的操作业务。我第一次想到的可能是数据库查询慢。所以第一步赶紧看线上的m

2021-05-20 17:24:45 207

原创 自定义maven脚手架并上传到私服

前几天搭建好了,maven私服服务器。这几天在整理公司框架,为了方便统一使用。做了一些基础的通用额框架,直接做成脚手架使用,便于高效开发。1.首先我们需要创建好,通用的基础工程,base-boot: 为父工程base-common: 项目中的common包base-web:具体的业务包首先需要确保,base-web 工程能够正常启动,2. 在父工程的POM文件中,添加插件 <plugin> <groupId>org.a

2021-04-20 13:04:07 590

原创 搭建私有gitlab仓库

本来不打算在公司搭建这个,我之前一直使用的是码云企业版。公司最近要搞私有云。所以有些东西都需要自己去弄。这里记录下自己搭建gitlab的步骤和流程。1.搭建之间需要安装环境,我的机器比较干净好多都需要装安装gitlab依赖环境, 如果提示没有权限的 可以使用 sudo ,或者直接切换到 root目录下:su 切换sudo yum -y install policycoreutils openssh-server openssh-clients postfix2. 我这边添加了一个邮件服务功

2021-04-16 22:35:24 2416

原创 Maven私服搭建

最近在公司架构组,由于需要为公司搭建基础开发环境。需要搭建各种开发环境,这里从基础的maven私服搭建分享,(我们这边服务器windowserver的)第一:下载nexus-3.9.0-01-win64(https://www.sonatype.com/download-nexus-repo-oss超级慢),备份了一个网盘地址:链接:https://pan.baidu.com/s/1FC95bivQmwy2NWwVkxbG7g提取码:w1u9下载完成解压后目录如下:...

2021-04-13 23:25:23 2030 5

原创 存储过程脚本心得

脚本优化心得

2016-08-02 13:12:17 1383

原创 Delphi转Java开发的辛酸

工作已经快两年了,回想起以前的选择,真是让人不是滋味啊!通过近段时间的仔细思考和对自己以后职业规划。现在越来越想往JAVAWEB方向发展。想了许久,我还是决定辞职,放弃现在这份安逸的工作。易然的选择做JAVA这边道路。    今天刚刚出来面试,就让我碰了不少的钉子,本以为自己有两年多 工作经验,应该可以找份合适的工作。哪想到,现在的公司的要求都是如此之高。想想自己的Java水平能力。不竟又有一

2016-03-14 17:44:26 3057 3

NettySpringboot仿微信聊天全栈实战源码

NettySpringboot仿微信聊天全栈实战源码,包括前端和后端的代码。可以学些研究

2019-04-02

gradle实战高清

gradle实战高清技术讲解,入门实战篇。Gradle实战 中文高清完整版 Gradle实战 中文高清完整版 Gradle实战 中文高清完整版

2019-04-02

quartz很好用的cron表达式生成器

当我们在做定时任务的时候,需要用到 cron表达式生成器,方便在写表达式时出现错误,这个自动化工具可以生产大部分的表达式。可以试下哦

2017-09-20

空空如也

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

TA关注的人

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