- 博客(105)
- 收藏
- 关注

原创 编写自己的SpringBoot-Starter
*** 开发自己的starter准备思考一 . starter的好处是,集成众多依赖,提供一个一站式的依赖项。 Starter相当于模块,它能将模块所需的依赖整合起来并对模块内的Bean根据环境( 条件)进行自动配置。 使用者只需要依赖相应功能的Starter,无需做过多的配置和依赖, Spring Boot就能自动扫描并加载相应的模块。 2. 命名 ...
2020-01-01 14:28:46
451
原创 Nginx 优化
Nginx采用异步非阻塞的方式处理请求,这种方式可以充分利用CPU资源,提高并发处理能力。但是,过多的工作进程和线程会导致系统资源浪费,降低性能。因此,需要根据实际情况调整Nginx的工作进程数和线程数。
2025-03-28 22:23:28
793
原创 SpringBoot集成Kafka
本项目是微服务集成环境下使用。Boot版本2.5.2,Cloud版本2020.0.3,Alibaba版本2021.1.本期涉及 Kafka集成在某个微服务中,不在父类Pom引用做公共处理(父POM有集成内部的,本次搭建一般公开模式)。SpringCloud, SpringBoot 项目引用版本:Kafka 版本--Apache Avro 依赖-->
2023-10-17 16:09:39
1104
原创 面试-java 分布式知识一
学过多线程的小伙们知道,为了防止多个线程同时执行同一段代码,我们可以用 synchronized 关键字或 JUC 里面的 ReentrantLock 类来控制,但是目前几乎任何一个系统都是部署多台机器的,单机部署的应用很少,synchronized 和 ReentrantLock 发挥不出任何作用,此时就需要一把全局的锁,来代替 JAVA 中的 synchronized 和 ReentrantLock。最终一致性:最终一致性强调的是所有的数据副本,在经过一段时间的同步之后,最终都能够达到一个一致的状态。
2023-02-10 12:41:44
607
原创 面试-java Spring 一
元注解,注解注解的注解,给注解加的注解,在注解声明时,在上面加的注解1、@Target 用来标记这个注解可以使用在X位置 这个位置由ElementType枚举的常量对象来指定。2、@Retention(x) 作用:标记这个注解可以滞留到X阶段 这个生命周期由RetentionPolicy枚举的常量对象来指定。SOURCE(源代码),CLASS(字节码阶段),RUNTIME(运行时) 没有加默认的注解的周期就是源代码阶段。
2023-02-09 17:03:29
481
原创 RESTful API Design and header
Rest Full API 定义和设计,是互联网软件开发中最重要的设计标准。最近针对公司的情况。总结了下使用的干货标准。资源设计:下面例子针对平时派生的实体,定义不同维度的资源URL。在这个阶段暂时不要考虑CRUD,而是列出针对实体业务的操作。这一点定义很重要!用户/客户 Entities Actions Resource Method CUSTOMER /customers 获取所有客户的列表 /customers
2022-03-14 21:52:35
789
原创 Docker 制作jdk镜像
一、 编写Dockerfie如下,Dockerfile 与 jdk 的gz包在同一级目录FromcentosMAINTAINERgnauhsilRUNmkdir/usr/local/jdk8ADDjdk-8u191-linux-x64.tar.gz/usr/local/jdk8ENVJAVA_HOME/usr/local/jdk8/jdk1.8.0_191ENVJRE_HOME/usr/local/jdk8/jdk1.8.0_191/jreENVPATH...
2021-05-31 10:24:55
4236
原创 Oracle 镜像及容器启动
下载镜像两种方式docker pull alexeiled/docker-oracle-xe-11g 下载对应版本的 tar 包,并将 tar包文件载入到镜像docker load < apacheos.tar 或 docker load --input apacheos.tar
2021-05-31 10:19:01
709
原创 Docker相关知识点及运用
一、Docker容器基本概念及操作列出镜像 docker images 镜像仓库 REPOSITORY 存储服务 registry tag:标签名 latest 默认查看镜像详细信息docker inspect imagesID删除镜像 docker rmi [iption] image -f...
2021-05-31 10:13:55
201
原创 数据脱敏方案
做了银行业务几年,一直从事得渠道整合系统。接触了基本行内得各个系统,看到大家得脱敏方式都不一样。今天自己参考总结下。便于后面参考使用。1. 什么是数据脱敏?什么是数据脱敏?也叫数据的去隐私化,在给定脱敏规则和策略的情况下,对敏感数据比如:身份证、手机号、卡号等,进行转换或者其他字符替换的一种技术手段,防止敏感信息直接暴露下公共的环境下。比如:政府、金融机构、移动运营商是较早开始应用数据脱敏的,原因是他们所掌握的都是用户最核心的私密数据,如果泄露对于客户是不安全的。数据脱敏的应用在生活中是比较
2021-05-28 10:37:42
1761
5
原创 Mybatis 面试总结一
1. 什么是 Mybatis? Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时 只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性 能,灵活度高。 MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数 据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 通过 xml 文件
2021-05-27 15:31:55
171
原创 Maven命令常用收集
maven使用命令收集1.v 查询正在起作用的式哪个SetingXml mvn help:effective-settings检查maven的环境变量是否配置,然后再在cmd命令面板中输入mvn help:system命令检测是否成功2. 推送本地 jar 包到远程私服(也可以直接在管理页面添加,或者直接在服务器通过XFTP批量传)mvn deploy:deploy-file -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=12.2.01
2021-05-25 15:40:54
343
原创 springBoot学习整合Atomikos多数据源的分布式事务
概述:Atomikos是开源的分布式事务管理器,是JTA规范的实现,支持XA协议。XA:XA协议由Tuxedo首先提出的,并交给X/Open组织,作为资源管理器(数据库)与事务管理器的接口标准。目前,Oracle、Informix、DB2和Sybase等各大数据库厂家都提供对XA的支持。XA协议采用两阶段提交方式来管理分布式事务。XA接口提供资源管理器与事务管理器之间进行通信的标准接口。XA协议包括两套函数,以xa_开头的及以ax_开头的。一. Atomikos依赖在pom.xml添加a
2020-12-24 10:34:40
616
原创 Redis集群之哨兵模式搭建和验证
概述. 项目中经常使用缓存来提高应用的效率,但是经常都是单机缓存,最近项目POC案例需要,搭建个哨兵集群。生产环境,为保证业务连续性,一般是不允许单机部署方式,而是采用集群或哨兵模式。网上资源参差不齐,通过官方文档及一些资料参考,整理出来哨兵模式部署方式步骤,包括redis服务、哨兵服务配置文件参数修改、服务启动、主从关系验证、高可用测试,实验机器部署ip 为 10.7.29.140 、10.7.29.142、10.7.29.145,其中 10.7.29.140 为ma...
2020-12-24 09:36:18
2449
1
转载 【mysql】 删除重复记录并且只保留一条
版权声明:本博客转自: https://blog.youkuaiyun.com/n950814abc/article/details/82284838目录一、单个字段的操作分组介绍:1. 查询全部重复的数据:2. 删除全部重复试题:3. 查询表中多余重复试题(根据depno来判断,除了rowid最小的一个)a. 第一种方法:b. 第二种方法:c. 补充第三种方法(根据评论区给的删除总结出来的):4. 删除表中多余重复试题并且只留1条:a. 第一种方法:b. ☆第二种方法(
2020-12-21 13:37:36
205
原创 数据库高可用解决方案:同城双活?异地双活?
后台服务可以划分为两类,有状态和无状态。高可用对于无状态的应用来说是比较简单的,无状态的应用,只需要通过F5或者任何代理的方式就可以很好的解决。后文描述的主要是针对有状态的服务进行分析。服务端进行状态维护主要是通过磁盘或内存进行保存,比如MySQL数据库,redis等内存数据库。除了这两种类型的维护方式,还有jvm的内存的状态维持,但jvm的状态生命周期通常很短。高可用的一些解决方案高可用,从发展来看,大致经过了这几个过程: 冷备 双机热备 同城双活 异地
2020-12-20 12:31:06
2506
3
原创 Redis 知识突击专用
一. Redis 持久化机制 Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证持久化。当Redis重启后通过把硬盘文件重新加载到内存,达到恢复数据的目的。实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由子进程写入到临时文件中,持久化的过程结束了,再用这个临时文件替换上次的快照文件,然后子进程退出,内存释放。 RDB是Redis默认的持久化方式。按照一定的时间周期策略把内存的数据以...
2020-12-12 11:21:23
168
原创 Liunx服务器Oracle导出存储过程对象
1.在服务器上用oracle用户导出数据库存储过程。1.1 编辑需要导出的文件。一般命名:过程.par我的测试名称:prod.par新建文件:多个过程用逗号隔开。INCLUDE=PROCEDURE:"IN ('EB_PROC','CP_PROC','JJ_PROC')"SCHEMAS=SONATA_TRANCT1.2 导出存储过程。expdp SONATA_TRANCT/SONATA_TRANCT parfile=prod.par file=prodtest.dmp1.3 SFTP或者命
2020-11-12 16:06:37
385
2
原创 Jenkins部署脚本
Jenkins项目中的部署脚本注意 这是某项目Jenkins部署脚本,仅供参考使用。# 参数化构建过程配置 env_user user_name@IP#设置参数path=`pwd`cdate=`date +%Y%m%d%H%M%S`appName=acct-svrenv_path=/app/xxx/appsport=20002#设置环境变量export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_191export PATH=$PATH:$JAVA_HOME
2020-11-11 11:50:10
554
原创 JAVA多线程中的关键字、接口、类
1.关键字 volatile1. Volatile 称为轻量级锁,被Volatile修饰的变量,在线程之间是可见的。2. 可见,就是一个线程修改了这个变量的值,在另一个线程中是可见的,另一个线程能够读取到这个变量修改之后的值。3. 与Synchronized不同:Synchronized除了线程之间互斥之外,还可以保证数据或者数值的可见性。...
2020-11-10 21:46:38
517
2
原创 Nginx转发Get,Post请求
Nginx 转发Get,Post请求1. 根据请求类型转发不同服务器相同的URL,分Get,Post.两种请求方式,判断请求方式不同进行不同的转发。location /http/submitSms{ if ($request_method!~^(POST)$){ proxy_pass http://xx.xx.xxxx.xx:8009; } proxy_pass http://xx.xx.xxxx.xx:8010; proxy_set_header proxy_set_header p
2020-11-10 21:38:02
6029
原创 清理本地无用的docker 镜像
说明: Docker 使用时间久了,应用的镜像会越来越多,版本也多。我们需要定期清理下无用的。除过常用的清理命令。 我们还需要快捷的一键清理本地缓存的无用的镜像。命令: docker images -q --filter "dangling=true" | xargs -t --no-run-if-empty docker rmi...
2020-05-16 16:46:14
1191
2
原创 HttpClient 功能介绍 和 测试DEMO
一,使用HttpClient发送请求、接收响应在项目中是经常使用的,使用也很简单,常见的有如下几步:1. 创建对象:HttpClient对象。2. 创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。3. 如果需要发送请求参数,可调用HttpGet、HttpPost共同的setParams(H...
2020-04-30 16:54:06
569
原创 对称加密算法-详解测试DEMO
一,概述 前面讲解了大体通用的对称,非对称,MD系列等加密算法。见前博客文: https://blog.youkuaiyun.com/Mynah886/article/details/82787683但感觉还是不能直观的让开发者来直接爽起来。最近又看到了其他人分享的,自己项目正好又要涉及使用了。故此重新细化下。供使用时候直接拿来! 对称加密算法就是传统的用一个密码进...
2020-04-29 13:52:26
834
原创 1006错误信息:Can't create database 'center' (errno: 16049712) - MYSQL 创建数据库报错
1. 刚刚安装好的 MYSQL 数据库 操作没有问题,过了一段时间竟然不能创建数据库了,出现了如下错误: 1006 - Can't create database 'center' (errno: 16049712) 2. 目前我出现的这个情况: 服务器环境 Linux , 是之前操作创建过数据库用户的,用户也是有权限,文件目录也是有权限的。...
2020-04-01 15:23:07
4760
转载 logback log4j log4j2 性能实测
日志已经成为系统开发中不可或缺的一部分. 但是针对logback, log4j和log4j2. 究竟改如何选择? 到底性能如何? 今天我们做一个实际的测评. 相信看完这篇文章, 对这三个日志框架会有很清楚的一个了解.实验环境OS: Mac OS X 10.12.1CPU: 2.6 GHz Intel Core i5内存: 8 GB 1600 MHz DDR3为了说明, 测试的准...
2020-03-07 12:33:56
694
原创 Oracle 查询父级以及以下的数据 & 删除父级以及以下的数据
1. 语法格式 Select * from …. Where [结果过滤条件语句] start with [and起始条件过滤语句] connect by prior [and中间记录过滤条件语句]2. 查找所有下级 例如: select * from tbl_tes...
2020-01-19 18:23:30
632
原创 ThreadLocal三种使用场景
关于ThreadLocalJDK1.2的版本中就提供java.lang.ThreadLocal类,每一个ThreadLocal能够放一个线程级别的变量, 它本身能够被多个线程共享使用,并且又能够达到线程安全的目的,且绝对线程安全。ThreadLocal包含了四个方法:void set(Object value) -- 设置当前线程的线程局部变量的值。public Object ...
2020-01-01 14:54:56
3068
原创 Java中正确的中止线程
说说如何中止一个正在运行的线程?一、不正确的线程终止 - Stop中止线程,并且清楚监控锁的信息,但是可能导致线程安全问题,JDK不建议用。public class Demo3 { public static void main(String[] args) throws InterruptedException { StopMyThread thread = new Sto...
2020-01-01 14:45:41
263
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人