- 博客(423)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 rxjava---demo
<!-- https://mvnrepository.com/artifact/io.reactivex.rxjava3/rxjava --> <dependency> <groupId>io.reactivex.rxjava3</groupId> <artifactId>rxjava</artifactId> <version&g...
2020-05-20 15:42:31
273
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 垃圾回收-实战篇
上文GC 理论颇受大家好评,学习了之后,相信大家对 GC 的工作原理有了比较深刻的认识,这一篇我们继续趁热打铁,来学习下 GC 的实战内容,主要包括以下几点 JVM 参数简介 发生 OOM 的主要几种场景及相应解决方案 OOM 问题排查的一些常用工具 GC 日志格式怎么看 jstat 与可视化 APM 工具构建 再谈 JVM 参数设置 ...
2020-02-21 09:37:49
307
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 垃圾回收,和面试官扯皮没问题了
转载https://mp.weixin.qq.com/s/8vXENzg580R7F2iNjSdHFw前言Java 相比 C/C++ 最显著的特点便是引入了自动垃圾回收 (下文统一用 GC 指代自动垃圾回收),它解决了 C/C++ 最令人头疼的内存管理问题,让程序员专注于程序本身,不用关心内存回收这些恼人的问题,这也是 Java 能大行其道的重要原因之一,GC 真正让程序员的...
2020-02-21 09:36:36
317
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 类加载机制-深入理解jvm
一.目标:1.什么是类的加载?2.类的生命周期?3.类加载器是什么?4.双亲委派机制是什么?二.原理 (类的加载过程及其最终产品):JVM将class文件字节码文件加载到内存中, 并将这些静态数据转换成方法区中的运行时数据结构,在堆(并不一定在堆中,HotSpot在方法区中)中生成一个代表这个类的java.lang.Class 对象,作为方法区类数据的访问入口。三.过程...
2020-02-20 21:36:21
129
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 Java 线程的 5 种状态
线程状态图:线程共包括以下 5 种状态:1. 新建状态(New):线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。2. 就绪状态(Runnable):也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。例如,thread.start()。处于就绪状态的线程,随时可能被CPU调度...
2020-02-20 20:40:46
368
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 科普: 中间件底层实现的分布式协议之Raft
正式介绍 Raft 协议之前,我们先来举一个例子????进行展开。方式一:在一个技术团队内假设角色都是均等的,会导致什么情况呢?产品提出一个需求,就可以随便去找团队中的任意一个人去发起需求。如果这个人因为请假走了,但是他没有把需求及时同步给团队其他人,因此会导致该需求存在很大的延迟。方式二:在技术团队中选举一个Leader 角色,产品提出的需求必须优先提给 Leader,找 Lead...
2019-12-16 19:16:19
429
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 rpc核心实现和原理
RPC,即 Remote Procedure Call(远程过程调用),调用远程计算机上的服务,就像调用本地服务一样。 RPC 可以很好的解耦系统,如 WebService 就是一种基于 Http 协议的 RPC。这个 RPC 整体框架如下:8.1.3.2. 关键技术1. 服务发布与订阅:服务端使用 Zookeeper 注册服务地址,客户端从 Zookeeper 获取可用的服务地址。2...
2019-12-02 13:59:52
1752
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 分布式事务、cloud、boot、常规队列MQ、elk、kafuka
点击链接 》》》这个博客里面的专栏。apache-jmeter-3.3的简单压力测试使用方法https://www.cnblogs.com/ios9/p/7644951.html#_label3
2018-08-23 10:23:22
445
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 MySQL锁详解
转载自http://www.cnblogs.com/luyucheng/p/6297752.html一、概述数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外。MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太...
2018-08-19 16:30:38
290
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 mysql explain用法和结果的含义
转载自https://www.cnblogs.com/yycc/p/7338894.html转自:http://blog.chinaunix.net/uid-540802-id-3419311.html explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:...
2018-08-19 16:20:06
200
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 MySQL索引类型
转载自http://www.cnblogs.com/luyucheng/p/6289714.html一、简介MySQL目前主要有以下几种索引类型:1.普通索引2.唯一索引3.主键索引4.组合索引5.全文索引二、语句CREATE TABLE table_name[col_name data type][unique|fulltext][index|key][index_...
2018-08-19 16:18:57
347
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 MySQL配置优化
转载自http://www.cnblogs.com/luyucheng/p/6340076.html一、全局配置(1)max_connections最大连接数。默认值是151,最多2000。如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量。但是如果连接数越多,介于MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值。查看最大连接数mysq...
2018-08-19 11:55:15
1314
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 MySQL优化
转载自http://www.cnblogs.com/luyucheng/p/6323477.html一、SQL语句优化(1)使用limit对查询结果的记录进行限定(2)避免select *,将需要查找的字段列出来(3)使用连接(join)来代替子查询(4)拆分大的delete或insert语句二、选择合适的数据类型(1)使用可存下数据的最小的数据类型,整型 < date...
2018-08-19 11:43:31
203
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 MySQL中的索引详讲
转载自 https://www.cnblogs.com/whgk/p/6179612.html序言 之前写到MySQL对表的增删改查(查询最为重要)后,就感觉MySQL就差不多学完了,没有想继续学下去的心态了,原因可能是由于别人的影响,觉得对于MySQL来说,知道了一些复杂的查询,就够了,但是我认为,不管有没有用,现在学着不懂的东西,说明就是自己薄弱的地方,多学才能比别人更...
2018-08-19 11:42:37
244
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 MySQL慢查询(一) - 开启慢查询
转载自https://www.cnblogs.com/luyucheng/p/6265594.html一、简介开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。二、参数说明slow_query_log 慢查询开启状态slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可...
2018-08-19 11:37:26
2935
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 值得关注的博客
微信Java SDK开发文档https://github.com/chanjarster/weixin-java-tools/wiki全面理解Java内存模型(JMM)及volatile关键字https://blog.csdn.net/javazejian/article/details/72772461Spring Boot干货系列:(十)开发常用的热部署方式汇总JReb...
2018-03-23 13:49:44
477
原创 docker创建mysql,以及mysql无法连接问题
上述命令将创建一个名为mysql-container的MySQL容器,并指定了一个环境变量MYSQL_ROOT_PASSWORD,其中<root_password>应替换为您想要设置的实际密码。为了使其他容器或外部应用程序能够访问该端口,我们需要映射容器内的3306端口到主机上的一个端口。一旦MySQL容器正在运行并且已打开3306端口,我们就可以连接到容器并配置MySQL用户和密码。上述命令中的<host_port>应替换为您想要将容器内的3306端口映射到的实际主机端口。
2024-03-05 16:13:18
1207
原创 HttpServletRequest接收requestBody的写法
参考com.taobao.api.internal.util.WebUtils#getStreamAsString。
2023-11-01 10:21:07
436
转载 鸿蒙4.0怎么安装谷歌 鸿蒙4.0安装谷歌教程【详解】
8、点击"应用"选项,在搜索应用框中,输入" Gspace ",点击Gspace的应用权限列表,授予软件相应的权限。1、打开华为应用市场,在右下方找到" 我的 ",点击" 设置 ",然后点击其他栏目可以看到" 国家/地区 "选项。5、安装完成后,第一次启动,软件会提示"同意"使用协议,然后授予应用一些访问权限,点击" 始终允许 "即可。6、根据提示,下载安装必要的资源包,点击" 继续 "即可,Gspace会自动下载安装好GMS所需文件。4、回到华为应用市场,搜索" Gspace ",然后安装此应用。
2023-10-27 16:32:07
5506
转载 项目自从用了接口请求合并,效率直接加倍!
请求合并到底有什么意义呢?我们来看下图。假设我们3个用户(用户id分别是1、2、3),现在他们都要查询自己的基本信息,请求到服务器,服务器端请求数据库,发出3次请求。我们都知道数据库连接资源是相当宝贵的,那么我们怎么尽可能节省连接资源呢?这里把数据库换成被调用的远程服务,也是同样的道理。我们改变下思路,如下图所示。我们在服务器端把请求合并,只发出一条SQL查询数据库,数据库返回后,服务器端处理返回数据,根据一个唯一请求ID,把数据分组,返回给对应用户。
2023-09-27 10:55:37
202
原创 调试好的超级好用的姓氏正则表达式、姓名正则表达式,百家姓
重要的是前面的([\u4e00-\u9fa5.·\u36c3\u4DAE]{0,6})调试好的超级好用的姓氏正则表达式、姓名正则表达式,百家姓,在后端实际调试过的;
2023-09-23 14:12:13
1474
原创 fastreport窗口重置(适用于属性、数据等窗口显示不出来)找到
C:/Users/账户名/AppData/Local/FastReport/FastReport.config。记得先退出使用FastReport的程序,再删除。
2023-07-26 11:13:47
353
转载 新版本JAVAFX项目打包到Windows和Mac平台
JAVAFX之前打包成jar的方式,再拿到多个安装了jre的平台运行,弊端就在于无论Windows,还是Mac都需要安装了jre运行环境才能正常运行JAVAFX打包出来的jar包程序。有一种打包方式可以让没有安装jre运行环境的电脑直接运行JAVAFX的应用程序,这个就是jlink打包,他会把jre直接打包到应用程序中,避免电脑再安装jre运行环境。
2023-04-14 09:47:57
573
1
转载 java实现设置Excel下拉框在使用Excel的时候用到了下拉框,实现的效果如下↓
在下拉框选项比较少的时候可以直接设置下拉框选项,在下拉框数据较多的时候需要在一个新的sheet加入下拉框数据,然后隐藏该sheet。为了方便,此处都是把下拉框数据加入到了隐藏sheet中。在生成excel文件时,需要根据给出的下拉框选项列表动态生成下拉框。在使用Excel的时候用到了下拉框,实现的效果如下↓。
2023-01-10 14:31:15
3634
原创 idea 日志打印快捷方法
下面使用 日志打印模板 , 来做简单的使用说明:slogi 打印请求参数模板名称:slogi 描述:日志打印:请求参数模板代码:log.info("[$className$]->[$methodName$] 请求参数-> $params1$" ,$params2$);参数配置:className : className()methodName : methodName()params1 : groovyScript(" def result=''; def params=\
2022-12-16 14:07:25
1574
转载 docker 安装 clickhouse
链接:https://www.jianshu.com/p/921a0d82c7b8。提示: 进入vim 后 如果不是insert模式,先按i 进入insert模式,4、容器是一个依赖包不完整的ubuntu虚拟机,需要安装vim。5、进入clickhouse-server目录并查看目录。1、直接运行, docker会自动帮你拉取镜像。6、采用SHA256的方式加密,生成明码密文。将明文密码替换你自己的密码,生成加密密码即可。3、进入Clickhouse容器。7、将密码写入users.xml。
2022-11-18 14:25:06
3353
原创 jrxml 和 fr3文件的画图和编辑
工具选择;TIBCO Jaspersoft Studio和ireport.exe和fastreport 一起用;背景:题主需要从一个fr3文件里面,对照原来的模板,来画一个新的jrxml格式的图片;fr3在fastreport插件里面打开,能看到属性里面的name,根据name去查找fr3文件(随便一个编译器打开比如 文本或者notepad++)里面的数值,里面包含的就是像素px的坐标点;可以根据坐标标签,在TIBCO Jaspersoft Studio里面画图,并且调整位置元素;最终按照需求要求来调整坐标
2022-06-30 11:42:12
3186
1
转载 如何通过事务消息保障抢购业务的分布式一致性?
前言在电商领域,抢购和秒杀是非常普遍业务模式,抢购类业务在快速拉升用户流量并为消息者带来实惠的同时,也给电商系统带来了巨大考验。在高并发、大流量的冲击下,系统的性能和稳定性至关重要,任何一个环节出现故障,都会影响整体的购物体验,甚至造成电商系统的大面积崩溃。和电商领域抢购场景极为类似的业务模式还有很多,比如大型赛事和在线教育的报名系统,以及各类购票系统等。针对抢购类业务在技术上带来的挑战,业界有一系列解决方案,通过不同维度来提升系统的性能与稳定性,包括动静分离、定时上架、异步处理、令牌队列、多级缓存
2022-01-13 14:57:19
281
1
原创 面试复习计划
1、spring书本 架构和spring4.02.redis书复习3、zk书本复习4.jvm书复习和 jvm调优资料查看和实践;jvm调优案例查看和学习;博闻强记;5、mysql45讲 学习和查看6、kafka书本学习7、k8s书本自己学习8、多线程编程 复习9、分布式系统架构书本复习和查看10、netty 权威指南和netty实践要仔细看看11、...
2021-08-01 15:26:08
195
原创 JAVA面试题:Spring中bean的生命周期
Spring 中bean 的生命周期短暂吗?在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一个实例,而不是每次都产生一个新的对象使用Singleton模式产生单一实例,对单线程的程序说并不会有什么问题,但对于多线程的程序,就必须注意安全(Thread-safe)的议题,防止多个线程同时存取共享资源所引发的数据不同步问题。然而在spring中 可以设定每次从BeanFactory或Applicat
2021-08-01 15:23:32
318
原创 Java线程池如何合理配置核心线程数
我相信大家都用过线程池,但是线程池数量设置为多少比较合理呢?线程数的设置的最主要的目的是为了充分并合理地使用 CPU 和内存等资源,从而最大限度地提高程序的性能,因此让我们一起去探索吧!首先要考虑到 CPU 核心数,那么在 Java 中如何获取核心线程数?可以使用 Runtime.getRuntime().availableProcessor() 方法来获取(可能不准确,作为参考)在确认了核心数后,再去判断是 CPU 密集型任务还是 IO 密集型任务:CPU 密集型任务:比如像加
2021-08-01 15:06:57
384
原创 深入理解 Spring 事务原理
一、事务的基本原理Spring事务 的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行: 获取连接 Connection con = DriverManager.getConnection() 开启事务con.setAutoCommit(true/false); 执行CRUD 提交事务/回滚事务 con.commit() / con.rollback(); 关闭连接 ...
2021-08-01 15:06:21
149
转载 内存模型 C++ 和Java内存模型
内存模型一:什么是内存模型纵然工作再忙也应该要留下自己思考的时间,这次我总结了一下对于内存模型的理解,起因是在公司听了一场关于多线程编程的分享会。首先解释一下,内存模型和对象模型是不同的。对象模型说的是一个对象是如何被设计的,其在内存中是如何布局的。而内存模型说的是,在多核多线程环境下,各种不同的CPU是如何以一种统一的方式来与内存交互的。背景知识:CPU的高速缓存总所周知,CPU和内存并不是直接交换数据的,它们之间还隔着一个高速缓存。高速缓存是对程序员透明的,这意味在编程的时候是感知不..
2021-07-31 21:15:56
372
原创 Spring Cloud-Feign设计原理
什么是Feign?Feign 的英文表意为“假装,伪装,变形”, 是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用。Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的请求,这种请求相对而言比较直观。Feign被广泛应用在Spring Cloud 的解...
2021-07-29 14:28:56
273
原创 《深入理解Java虚拟机》读后总结(一)JVM内存模型
基于Sun HotSpot JVM直接上图:从图中看到,JVM内存分为两个主要区域,一个是所有线程共享的数据区,一个是线程隔离数据区(线程私有)线程隔离数据区程序计数器(Program Counter Register):一小块内存空间,单前线程所执行的字节码行号指示器。字节码解释器工作时,通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。JVM虚拟机栈(Java Virtual...
2021-07-29 14:24:28
157
原创 charles 手机抓包设置
charles 抓包手机charles经常会进行手机上的网页抓包,比如去copy别人网站图片或脚本的时候o(∩_∩)o ;手机抓包的原理,和PC类似,手机依靠charles与服务端进行对话;目标:把手机的网络委托给charles进行代理;手机抓包设置,需要进行3步;第一步,在charles里设置允许手机联网的权限;你需要把charles设置为允许的状态并且设置允许的端口号,这样手机端才能正常的接入;第二步,把手机按照charles的IP和端口进行配置;第三步,手机配对成功后,ch
2021-07-29 13:51:57
735
原创 Copy-On-Write读写分离策略和CopyOnWriteArrayList源码分析
Copy-On-Write简称COW,是一种用于程序设计的优化策略。JDK有两种Copy-On-Write容器,CopyOnWriteArrayList和CopyOnWriteArraySet。 Copy-On-Write容器,就是写时复制容器。支持并发的读,如果是写操作,那么会创建一个新的容器,在新的容器中完成写操作,在这个过程中,读操作依然读的是旧容器中的值。完成写操作之后,...
2021-07-29 13:51:40
255
原创 完整的聚合支付中心设计方案
一、项目目标 二、具体调用流程 三、支付中心架构设计 收银台 渠道网关 交易核心 四、目前预见的可能的问题 一、项目目标支付中心架构将各业务的公共交易、支付、财务等沉淀到支付中心,并主要解决了以下三个主要问题: 建立基础订单、支付、财务统一体系,抽象和封装公共处理逻辑,形成统一的基础服务,降低业务的接入成本 及重复研发成本; 构建安全、稳定、可扩展的系统,为业务的快速发展和创新需求提供基础支撑,解决业务..
2021-07-29 13:51:09
986
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人