- 博客(59)
- 收藏
- 关注
原创 git规范
主要目的是修改项目继续集成流程(例如 Travis,Jenkins,GitLab CI,Circle 等)的提交。主要目的是修改项目构建系统(例如 glup,webpack,rollup 的配置等)的提交。不影响程序逻辑的代码修改(修改空白字符,格式缩进,补全缺失的分号等,没有改变代码逻辑)由项目负责人负责回滚到具体commit hash 或具体tag。不属于以上类型的其他类,比如构建流程, 依赖管理。重构代码(既没有新增功能,也没有修复 bug)新增测试用例或是更新现有测试。回滚某个更早之前的提交。
2023-07-20 13:05:08 170
原创 在docker中安装Nacos--详细教程
本文主要是记录一下自己在docker中安装nacos从踩坑到实现的一个过程,可谓是很艰辛,记录下来方便自己日后查看的同时也希望能帮助更多的人避坑。提示:以下是本篇文章正文内容,下面案例可供参考。
2023-05-31 21:16:04 25000 22
原创 深圳证券交易所Binary行情数据,MDC_VSS_DEMO数据接收示例代码
【代码】深圳证券交易所Binary行情数据,MDC_VSS_DEMO数据接收示例代码。
2023-05-18 17:46:08 680
转载 springboot使用commons-pool2实现对象池
频繁的创建和销毁,会极大的降低系统的性能,而对象池会在初始化的时候会创建一定数量的对象,每次访问只需从对象池中获取对象,使用完毕后再放回对象池,并不是直接销毁,这样可以保证程序重复使用同一个对象而不需要每次访问都创建和销毁对象, 从而提高系统性能。pool2的组成PooledObject(池化对象) PooledObjectFactory(对象工厂) ObjectPool (对象池)需要池化的对象/*** 需要池化的对象*/TestObject 工厂。
2023-05-04 18:59:05 1182
转载 Netty 中channelRead 和 channelRead0 有什么区别?
channelRead 中调用了 channelRead0,其会先做消息类型检查,判断当前message 是否需要传递到下一个。最近做项目发现Netty中的channel有channelRead 方法也有channelRead0 方法,然后思考下这两个有什么区别呢?
2023-03-18 22:17:53 1317
原创 Centos7 开放端口
注意:--permanent永久生效,没有此参数重启后失效。CentOS 7.0默认使用的是firewall作为防火墙。————> disabled 1(不自启)————> enabled 0(自启)注意:no 未开启 yes 开启。
2023-03-08 09:53:36 795
原创 Spring Boot 整合 MyBatis Plus实现多数据源的两种方式
【代码】Spring Boot 整合 MyBatis Plus实现多数据源的两种方式。
2022-11-18 21:51:39 2200 2
转载 Linux环境Java程序占用 CPU 过高如何排查
第二步已经找到了这个罪魁祸首的线程 PID,并把它转换成了 16 进制的,第三步保存下来的线程栈中有所有线程的 PID 16 进制信息,我们在线程栈中查找这个16进制的线程 id (0x35bc)。当前 Java 程序的所有线程信息都可以通过 jstack命令查看,我们用jstack命令将第一步找到的 Java 进程的线程栈保存下来。然后将 13756转换为 16 进制的,后面会用到,可以用在线进制转换的网站直接转换,转换结果为 0x35bc。可以看到占用 CPU 最高的那个线程 PID 为 13756。
2022-11-08 11:34:29 2438
转载 Maven中的scope总结
说到provided,这里就要说到下的子标签 ,如果一个依赖的 设置为true,则该依赖在打包的时候不会被打进jar包,同时不会通过依赖传递传递到依赖该项目的工程;例如:x依赖B,B由依赖于A(x->B->A),则A中设置 为true的依赖不会被传递到x中。2、provided的在目标容器中已经提供了这个依赖,无需在提供。在一般的编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用,...
2022-08-10 08:36:46 1503
转载 翻车现场:解决SpringBoot项目启动访问后台JSP页面显示404报错
翻车现场:解决SpringBoot项目启动访问后台JSP页面显示404报错_煌sir的博客-CSDN博客_springboot 访问页面404
2022-03-25 16:13:36 367
原创 《养家心法》
前语:本文主要汇总下,著名游资,短线大神炒股养家的前辈炒股心法。用前辈原话说:不真正经历一轮牛熊,很难得起精髓。2018年的经历让我深得体会,可惜看到的太晚了。不然不夸张的说18年将会是10倍行情。下篇文章会对18年做整体复盘,大家能领悟多少就看各自的造化了。2012年8月18日,养家在淘股吧,发的最后第二篇博客,也是最后一篇心法总结。原文:1.本人理论体系的核心思想是基于对市场情绪的揣摩,进而判断风险和收益的比较,并指导实际操作,故暂名曰心法。2.高手买入龙头,超级高手卖出龙头..
2021-11-21 17:46:59 4122
原创 JVM调优
一:线上cpu占用很高,如何定位并解决问题?1:用top命令定位那个进程对cpu占用过高。2:用命令: ps H -eo pid,tid,%cpu | grep 进程id (用ps命令进一步定位是这个进程中的哪个线程引起的cpu占用高)3:用jstack 进程Id (用jstack 命令来打印堆栈信息,可以根据上面第二步中找到的线程id结合jstack打印的信息找到对应的有问题的线程,进一步定位到问题代码的源码行号)...
2021-07-01 10:21:07 121
原创 Nginx从入门到精通(四)Nginx静态网站部署
Nginx是一个HTTP的web服务器,可以将服务器上的静态文件(如HTML、图片等)通过HTTP协议返回给浏览器客户端
2021-06-13 16:35:39 351
原创 Nginx从入门到精通(二)Nginx环境搭建
1.1下载免费开源版的官方网站:http://nginx.orgNginx 有 Windows 版本和 Linux 版本,但更推荐在 Linux 下使用 Nginx;下载nginx-1.14.2.tar.gz的源代码文件:wget http://nginx.org/download/nginx-1.14.2.tar.gz我的习惯,将下载或者上传的安装文件放到/home/soft/目录下2.2安装...
2021-06-13 16:05:43 901 2
原创 Nginx从入门到精通(一)Nginx简介
第一章 Nginx简介Nginx发展介绍Nginx (engine x) 是一个高性能的Web服务器和反向代理服务器,也可以作为邮件代理服务器。Nginx 特点是占有内存少,并发处理能力强,以高性能、低系统资源消耗而闻名,Nginx官方测试为5万并发请求。与Nginx同类型的Web服务器还有Apache、Lighttpd(音同lighty)、Tengine(阿里巴巴的) 等。Nginx 的并发处理能力在同类型的Web服务器中表现极好(Apache、Lighttpd),在全世界范围内大量的网站使用
2021-06-13 16:01:33 1393 2
原创 微服务常见问题
微服务1. Springboot加载配置文件顺序?2. SpringBoot启动时都做了那些事3. Mybatis的sql执行过程4.SpringMVC的执行流程5. Spring容器启动的执行过程6. SpringIOC的过程7. 微服务整体架构图8. 如何拆分微服务 DDD领域驱动9. 几个注册中心的比较?Eureka、Zookeeper、Nacos、Consul10. 链路追踪和监控(如何实现全链路的业务监控?)11. 说说springBean的一个加
2021-06-06 17:37:50 146
原创 JVM常见问题
JVM1. jvm内存结构线程共享 方法区 MetaSpace 运行时常量池 类的信息,包括类名、参数、方法等 类的常量 类的静态变量 堆 Heap 老年代 Old Space 新生代 Young Space Eden -8 S1-1 S2-1 线程私有的 虚拟机栈 本地变量表 操作数栈 动态链接 一些动态生成的链接地址等,类似于符号引用变直接引用 返回地址(包括正常的和异常的)
2021-06-06 17:37:07 260
原创 Java基础和JUC常见问题
Java基础和JUC1. valotile关键字 原因:之所以出现是因为cpu级别的缓存和总线锁导致的数据可见性问题以及指令重排序问题作用:valotile的作用是可以禁止指令重排序以及实现可见性,但并不是线程安全的,因为不具有原子性可见性是如何实现的了? 操作系统层面提供了三种内存屏障,即读屏障 写屏障 和全屏障,JVM基于操作系统层面的内存屏障实现了4种屏障类型,分别是读读屏障,读写屏障、写写屏障和写读屏障。volitile正是在代码执行之后加了一个storeLoad屏障
2021-06-06 17:35:58 187
原创 中间件总结
redis如何主从同步?全量复制 通过rdb文件当slave机器连接的时候 master服务器 fork一个子线程 子线程生成一个快照,同步给slave去同步数据 增量复制 通过心跳命令去增量同步数据,服务器会维护一个log的内存文件和已经同步的偏移量信息 无磁盘复制 通过内存生成文件去复制,不通过磁盘redis分布式锁注意事项?redis的哨兵和集群模式?redis的基本数据结构和底层实现redis的持久化方案分布式事务的解决方案?分布式下redis如何保证线程安全?单点
2021-06-06 17:34:58 1184 2
原创 MySql总结
MYSQL1. 事务的四大特性 ACID 原子性 Atomicity 我们对数据库的一系列操作要么都成功 要么都失败,如果转账场景,一个账户增加 另一个失败,要么都成功或者都失败 一致性 Consistent 一种是指数据库的完整性月数没有被破坏,比如主键唯一,事务的合法等,另一种是业务的一致性,比如转账场景,A账户余额减少1000,B账户余额增加500,这时候虽然两个操作都成功了,符合了原子性协议,但没有符合一致性 隔离性 Isolation 数据库中有很多事务同
2021-06-06 17:34:04 152
原创 常见Java基础总结
微服务1. Springboot加载配置文件顺序?2. SpringBoot启动时都做了那些事3. Mybatis的sql执行过程4.SpringMVC的执行流程5. Spring容器启动的执行过程6. SpringIOC的过程7. 微服务整体架构图8. 如何拆分微服务 DDD领域驱动9. 几个注册中心的比较?Eureka、Zookeeper、Nacos、Consul10. 链路追踪和监控(如何实现全链路的业务监控?)11. 说说springBean的一个加
2021-06-06 17:31:04 290 2
原创 MySQL常用存储引擎比较
一:MyISAM应用范围比较小。表级别的锁限制了读/写的性能,因此适用于在web和数据仓库配置中。它通常用于只读或者以写为主的工作。特点:支持表级别的锁(插入和更新会锁表),不支持事务。 拥有较高的插入(insert)和查询(select)速度。 存储了行数(count速度更快,怎么向数据库中快速插入100万条数据?我们可以先用MyISAM插入数据,然后修改存储引擎为InnoDB的操作)。 只适合于只读之类的数据分析项目(委贷系统的从库,供大数据抽数和跑批统计)二:InnoDB.
2021-05-06 17:34:49 153
原创 springboot jpa 查询不到修改后数据问题
jpa在多线程中,T1线程插入一条数据,T2线程修改(update)这条数据,T1线程再去查询这条数据的时候,查询到的是T2修改之前的数据。注:T2线程若想要修改后能查询到修改后的数据(update操作要加上@Modifying(clearAutomatically = true),才能在修改后查询到修改后的数据,否则T2线程也不能查询到修改后数据)spring.jpa.open-in.view: falsespringboot 2.x以后这个参数默认是true ,遇到多线程dml d.
2021-04-04 23:33:46 1291
原创 投机之王杰西·利弗莫尔的经典炒股语录
1、优秀的投机家们总是在等待,总是有耐心,等待着市场证实他们的判断。要记住,在市场本身的表现证实你的看法之前,不要完全相信你的判断。2、要想在投机中赚到钱,就得买卖一开始就表现出利润的商品或者股票。那些买进或卖出后就出现浮亏的东西说明你正在犯错,一般情况下,如果三天之内依然没有改善,立马抛掉它。3、绝不要平摊亏损,一定要牢牢记住这个原则。4、在价格进入到一个明显的趋势之后,它将一直沿着贯穿其整个趋势的特定路线而自动运行。5、当我看见一个危险信号的时候,我不跟它争执,我躲开!几天以后,如果..
2021-02-14 19:29:46 435 3
原创 Spring boot 配置文件yml的用法
创建需要配置的对象:@Data@ToStringpublic class Pet { private String name; private Double weight;}@Data@ToString@Component@ConfigurationProperties(prefix = "person")public class Person { private String userName; private Boolean boss;
2021-01-31 11:09:05 405
原创 参禅的三重境界
1.第一个阶段:看山是山,看水是水,看山是山,凡夫境界,贪嗔爱慢,人我是非,五欲六尘里面流浪生死,见色bai生淫,遇境沉迷,被物质现象所迷惑,被外境牵着鼻子走;2.第二个阶段:看山不是山,看水不是水,看山不是山修炼的过程,此时关闭六根,视而不见,听耳不闻。眼见色不被色尘所转,耳闻声不被声尘所转,享受着内在的甚深禅定。叫:下无大地上无天,水无波浪火无烟,耳听尘事心不摇,眼观形色内无有;3.第三个阶段:看山还是山,看水还是水,外在看与第一个阶段没有区别,但内在已经决然不同;见山是山,此时又
2020-12-27 20:47:11 6749 2
原创 SpringBoot事务提交之后的操作保证
业务场景:在一个事务操作中,当数据入库之后,继续做其他异步或同步操作,如消息通知、远程接口调用等。存在的问题:事务原子性不能保证:如果出现事务回滚,则数据入库失败,然而异步操作却不能回滚,继续执行,这就会出现与业务预期不一致的结果(如数据入库失败,但是消息通知则照常触发); 数据正确性无法保证:如果异步操作需要反查数据库上一步入库的结果,而上一步的事务由于数据库压力或IO等原因导致事务提交延迟,这时异步操作去数据库里查询数据就会失败;解决方案: 这就要求我们保证事务...
2020-12-24 19:24:08 4246 7
原创 深入浅出数据库索引原理
本文主要讨论MySQL索引的部分知识。将会从MySQL索引基础、索引优化实战和数据库索引背后的数据结构三部分相关内容,下面一一展开。一:MySQL索引基础首先,我们将从索引基础开始介绍一下什么是索引,分析索引的几种类型,并探讨一下如何创建索引以及索引设计的基本原则。创建一张用于测试的user表结构如下:建表语句如下:CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255)
2020-10-08 20:52:10 2497
原创 MySQL中一条更新语句是如何执行的
前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条更新语句的执行流程又是怎样的呢?之前你可能经常听 DBA 同事说,MySQL 可以恢复到半个月内任意一秒的状态,惊叹的同时,你是不是心中也会不免会好奇,这是怎样做到的呢?我们还是从一个表的一条更新语句说起,下面是这个表的创建语句,这个表有一个主键 ID 和一个整型字段 c:mysql> crea
2020-10-08 11:17:37 449
原创 MySQL中一条查询是如何执行的
现在有一个表T,给定一条如下的sql:mysql> select * from T where ID=10;我们看到的只是输入一条语句,返回一个结果,却不知道这条语句在 MySQL 内部的执行过程。要了解SQL执行的过程就要先了解MySQL的基本架构体系,如下图:...
2020-10-08 10:19:30 367 2
原创 股票中必须理解的几个重要概念
前言所谓股票术语就是在股市用来表达各种量能关系的特殊语言,股票术语广泛流通于股票交易和市场分析中。前面介绍了一些基本股票术语,本节将重点介绍一些针对特定股票的术语,帮助投资者抓住炒股关键词。一:市盈率市盈率(即PE)又称股份收益比率或本益比,是股票市价与其每股收益的比值。是股票投资中的一个非常重要的指标。计算公式为:市盈率 = 当前股价 / 每股税后利润。 当前所有炒股看盘软件中的盘口中都有市盈率指标。入上图是通达信中的盘口信息。市盈率最通俗的理解就是当前购买一股股票要把股本转化来所需...
2020-09-24 21:18:33 1983 2
原创 股票的基本概念和术语扫盲
前言如果要问最大的投资市场是什么,恐怕你一定会回答是股市。没错,股市作为目前最大的投资市场,长期以来都占据着人们投资理财最重要的地位。炒股首先要全面而详细地了解各种股票常识,才能稳健入市,迈出实现财富增值的第一步。1:什么是股票?股票是一种有价证券。我们通常所说的股票指的是普通股,它是在公司的经营管理和赢利以及财产的分配上享有普通权利的股份。从概念上讲,股票是股份有限公司在筹集资本时向出资人发行的股份凭证,代表着其持有者(即股东)对股份公司的所有权。例如,假设一家股份公司有100个股东.
2020-09-23 23:12:36 3363
原创 记录一次数据同步导致的“删库”事故
时间2020年8月11下午4点多前因后果我司项目环境分为:开发环境(服务和数据库),线上环境(服务和数据库).....。 今天有个新需求,涉及到数据库表的变动,我在测试环境把表设计好,然后需要把改动的表结构同步到线上环境数据库。由于我没有线上数据库的读权限。就叫同事帮忙同步。同事每次干这种同步表结构的事情都是采用navicat自带的同步功能(如上图)。正常操作就是点击上图的“结构同步”进行开发和线上环境数据库的表结构进行差异比对。对不同的地方勾选进行选中同步。这个时候负责同步的同事失误操作点
2020-08-12 21:45:02 592
原创 mysql中两点之间距离的计算
需求背景最近做电商项目,要求跟根据用户当前位置显示距离用户当前位置十五公里内的商品。 用户当前位置由移动端(Android,ios)传递到后台,商品表里面保存当前商品所在店铺的经纬度。也就是已知两个点的经纬度信息求两点间的距离。对于两点之间的距离,在mysql中可以根据两点的经纬度进行计算。SQL实现:SELECT round( 6378.138 * 2 * asin(sqrt(pow(sin( (A点的纬度 * pi() / 180 - B点的纬度 * pi() /..
2020-07-24 16:25:47 2007 2
原创 设计模式:模板方法模式
1:概念和背景 模板方法(Template Method)模式定义了一个算法框架,并通过继承的方式将算法的实现延迟到子类中,使得子类可以在不改变算法框架及其流程的前提下重新定义该算法在某些特定环节的实现,是一种类行为型模式。 该模式在抽象类中定义了算法的结构并实现了公共部分算法,在子类中实现可变的部分并根据不同的业务需求实现不同的扩展。模板方法模式的优点在于其在父类(抽象类)中定义了算法的框架以保障算法的稳定性,同时在父类中实现了算法公共部分的方法来保障代码的复用;将部分...
2020-06-12 16:12:04 167
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人