- 博客(36)
- 收藏
- 关注
原创 26个超好用的AI提示词
当你遇到一个需要在多个文件中编写代码的复杂问题时,应该这样做:“从现在开始,每当你需要生成跨多个文件的代码时,就要创建一个[编程语言]的脚本。你的提示词前,以"###指令###“开始,如果相关的话,接着是”###示例###“或”###问题##"。要询问特定的主题、观点或任何信息,并且你想要测试你的理解,你可以使用以下短语:“教我[任何定理/主题/规则名称]并在最后包括一个测试,但不要给我答案,然后在我回答时告诉我是否答对了”。你的任务是向你的朋友解释递归方法,如果你没有使用简单的语言,你将受到惩罚。
2024-05-21 19:11:01
291
原创 java内存占用过大问题排查及解决
1.consumer实例堆内存分配4g,xmx设置为4g,在生产环境运行一段时间后,实际占用内存4.8g,业务运行正常,未出现OOM。2、生产环境项目,均出现运行一段时间后,内存被占满但未OOM的情况。部分实例因内存占用过高导致被系统kill,一般需要通过增加机器、实例进行解决(资源浪费)。造成的影响3、服务器物理内存8g,部署了两个服务。consumer如过实际占用内存都超过4.8g,导致服务器物理内存不够用,出现告警而将占用内存最大进程kill掉,影响生产服务的可用性,后果十分严重。
2024-05-21 17:59:42
958
原创 总结的一些Java常见规范
5.用工具类前看一下源码,别随便用,notNull 要分成两步使用,善于分析工具类源码,查看是否正确,26.改订单的时候一定要把能校验的值都校验一遍 不要一下把所有订单都改了。17. 切环境的时候记得看配置文件里的配置尤其是自己的配置一定要确认。13. 能生成的尽量生成,别手写、手写容易出错、善于用插件,0、开发前,先看入参和出参,看清楚是否必须、再进行判断。18. 思维不要线性,要发散,遇到问题周围的都好好想想。不是string类型 不要 ‘’"!16. 测试的时候,正向测,反向测,各种测问题。
2024-05-21 17:42:46
192
原创 docker 进入容器报错OCI runtime exec failed
执行命令 docker exec -it 容器id /bin/sh 可进入。今天进入docker容器的时候一直报错。
2024-05-21 17:34:44
138
原创 第三方接口鉴权加密方式
●接口URL应简洁明了,遵循公司或项目的命名规范。●使用HTTPS协议,确保数据传输的安全性。●接口URL路径应反映资源的层次结构,路径规范 /{版本}/api/{业务类型}/{方法名},例如/v1/api/store/getlist。●接口URL路径不区分大小写。
2024-05-21 17:17:58
534
原创 优惠券优化技术方案
随着业务的不断扩展,业务计划将其与服务进行整合。在这一过程中,C端用户通过小程序租赁电动车后,很可能会产生购买意愿。为了更好地支持和促进用户的购买行为,租车业务将把用户的租赁信息实时同步至商城,商城主动向用户发放购车优惠券。为了进一步提升业务效率和用户体验,我们计划对现有的优惠券发放、核销及查询流程进行一次全面的升级和优化。为此,我们亟需设计并优化当前商城的优惠券功能,该功能需能够稳定支持高达百级QPS的业务需求。
2024-05-21 17:12:57
376
原创 技术方案文档模板
技术背景就是你这个业务是基于什么样的技术背景下来构建的,我们的技术方案可能是从 0 到 1 来构建,也能是基于现有的方案来优化,但是不管是什么场景,一定都会存在相关的技术背景,因此包括但不限于:现有技术积淀现有架构描述现有系统的整体容量需求,就是你这个技术方案的起点,技术方案一切都是围绕需求来设计,当然,这个需求可以是当下的需求,也可以包含未来潜在的需求。只有把需求介绍清楚之后,大家才能知道你方案设计里面的所有设计和对应的折中点是否可行,也才能比较好的去评审你的方案。
2024-05-21 17:06:28
485
原创 Nginx配置以及各种坑
若按照这种配置的话,则访问/web/目录下的文件时,nginx会去/usr/local/src/web下找文件。#若按照上述配置的话,则访问/web/目录里面的文件时,ningx会自动去/usr/local/src/web目录找文件。指定了代理服务器的地址,即当请求匹配/store/时,Nginx会将请求转发到本机的8889端口上。配置使用最频繁的部分,代理、缓存、日志定义等绝大多数功能和第三方模块的配置都在这里设置。定义了一个Nginx的location块,用于匹配所有以/store/开头的请求。
2024-05-21 17:02:45
422
原创 Jenkins详细安装配置部署
简介Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具。主要做的事情就是从git中拉取代码,根据配置信息打包;把打好的包传输到目标服务器,并可以执行一些shell脚本,使项目打包发布一键完成。
2023-05-31 15:20:47
3102
原创 阿里官方RocketMq使用
快速入门如果使用的是阿里云主账号,则可以通过本文来体验从开通服务、创建资源、到使用 SDK 收发消息的完整流程,快速上手消息队列 RocketMQ 版。本文以 HTTP 协议下的 Java SDK 为例进行说明。步骤一:开通服务在消息队列 RocketMQ 版产品页,单击立即开通。在确认订单页面,选择我已阅读并同意《消息队列MQ服务协议》,再单击立即开通即可完成开通。步骤二:创建资...
2020-01-02 16:21:45
1646
1
原创 SpringCloud--Eureka注册中心--手把手教程
Eureka注册中心1. 认识EurekaEureka做什么?Eureka就好比是滴滴,负责管理、记录服务提供者的信息。服务调用者无需自己寻找服务,而是把自己的需求告诉Eureka,然后Eureka会把符合你需求的服务告诉你。同时,服务提供方与Eureka之间通过“心跳”机制进行监控,当某个服务提供方出现问题,Eureka自然会把它从服务列表中剔除。这就实现了服务的自动注册、发现、状...
2019-10-25 15:48:22
314
原创 springboot自动配置原理
1. 自动配置原理使用springboot之后,繁琐的配置都消失了,我们看一下springboot启动类:我们发现特别的地方有两个:注解:@SpringBootApplicationrun方法:SpringApplication.run()我们分别来研究这两个部分。1.1 了解@SpringBootApplication点击进入,查看源码:@SpringBootConfigu...
2019-10-19 11:36:49
173
原创 阿里巴巴java开发手册 MYSQL 规约
MYSQL 规约(一) 建表规约【强制】表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint( 1 表示是,0 表示否),此规则同样适用于 odps 建表。 说明:任何字段如果为非负数,必须是 unsigned。【强制】表名、字段名必须使用小写字母或数字;禁止出现数字开头,禁止两个下划线中间只出现数字。数据库字段名的修改代价很大,因...
2019-08-23 10:46:03
196
原创 Java内存分配
第一,程序计数器(PC,Program Counter Register)。在 JVM 规范中,每个线程都有它自己的程序计数器,并且任何时间一个线程都只有一个方法在执行,也就是所谓的当前方法。程序计数器会存储当前线程正在执行的 Java 方法的 JVM 指令地址;或者,如果是在执行本地方法,则是未指定值(undefined)。第二,Java 虚拟机栈(Java Virtual Machin...
2019-06-27 15:13:27
98
原创 Java 类加载机制
一般来说,我们把 Java 的类加载过程分为三个主要步骤:加载、链接、初始化,具体行为在Java 虚拟机规范里有非常详细的定义。首先是加载阶段(Loading),它是 Java 将字节码数据从不同的数据源读取到 JVM 中,并映射为 JVM 认可的数据结构(Class 对象),这里的数据源可能是各种各样的形态,如 jar 文件、class 文件,甚至是网络数据源等;如果输入数据不是 Cla...
2019-06-27 14:19:21
134
原创 mysql七种Join方式
mysql七种Join方式下面我们创建部门表tbl_dept和员工表tbl_emp对上述7种方式进行逐一实现:部门表:主键id、部门名称deptName,部门楼层locAddmysql>CREATE TABLE `tbl_dept` ( -> `id` INT(11) NOT NULL AUTO_INCREMENT, -> `deptName` VA...
2019-06-17 18:55:52
1390
原创 修改tomcat端口号并部署项目
1.背景今天部署xxl-job的admin调度平台,在同一台服务器上执行调度平台和定时任务。需要修改tomcat的端口号。2.方法打开tomcat 的 conf 目录 cd conf ,vim打开 server.xml 编辑器在改之前可以先查看已经使用的端口号,将8080 改为 9033 。讲此处的端口号也做更改,改为 8772。将此处的端口号也做更改,改为8056.改之后...
2019-05-28 14:02:59
2140
原创 使用git命令提交代码
首先,操作之前一定要看清分支!!1.git branch -----查看当前分支2.git addgit add [参数] <路径> 作用就是将我们需要提交的代码从工作区添加到暂存区,就是告诉git系统,我们要提交哪些文件,之后就可以使用git commit命令进行提交了。 为了方便下面都用 . 来标识路径, . 表示当前目录,路径可以修改,下列操作的作用范围都...
2019-05-21 16:55:05
216
原创 记一次xxl_job中HttpJobHandler中的数据请求与存储
@JobHandler(value = "httpJobHandler")@Componentpublic class HttpJobHandler extends IJobHandler { @Resource private BankSynchronizationService bankSynchronizationService; @Override ...
2019-05-20 14:38:48
6959
转载 web.xml详解
出处http://blog.csdn.net/u0107967901、spring 框架解决字符串编码问题:过滤器 CharacterEncodingFilter(filter-name)2、在web.xml配置监听器ContextLoaderListener(listener-class)ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationC...
2019-05-17 09:43:26
108
原创 树、二叉树基础
最近在看HashMap源码,JDK1.8之后用了红黑树,现在回顾一下大学的数据结构----树。树定义树(Tree)是n(n>=0)个结点的有限集。当n=0时称为空树。在任意一颗非空树中:1、有且仅有一个特定的称为根(Root)的结点;2、当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、…、Tn,其中每一个集合本身又是一棵树,并且称为根的子树。此外,...
2019-03-20 11:26:00
133
原创 LinkedList源码分析
简介LinkedList同时实现了List接口和Deque接口,也就是说它既可以看作一个顺序容器,又可以看作一个队列(Queue),同时又可以看作一个栈(Stack)。这样看来,LinkedList简直就是个全能冠军。当你需要使用栈或者队列时,可以考虑使用LinkedList,一方面是因为Java官方已经声明不建议使用Stack类,更遗憾的是,Java里根本没有一个叫做Queue的类(它是个接口...
2019-03-05 09:42:00
114
原创 ArrayList源码分析
&lt;&lt; 左移运算符的使用: 2 &lt;&lt; 2 。表示2的2进制左移两位.乘以2的2次方.2 x 2的2次幂,结果为8 &gt;&gt; 右移运算符的使用: 2 &gt;&gt;1 。表示2的2进制右移一位,除以2的1次方,除以2的1次幂.结果为1简介ArrayList是我们开发中非常常用的数据存储容器之一,其底层是数组实现的,我们可以在集合中存储任意
2019-02-20 18:03:03
137
原创 Collection接口
Collection 接口继承图Set接口Set集合不允许包含相同的元素,而判断两个对象是否相同则是根据equals方法。HashSet类HashSet类是Set接口的典型实现类。特点:不能保证元素的排列顺序,加入的元素要特别注意hashCode()方法的实现。HashSet不是同步的,多线程访问同一步HashSet对象时,需要手工同步。集合元素值可以是null。Lin...
2019-01-29 09:55:46
189
原创 int和Integer有什么区别?
典型回答int 是我们常说的整形数字,是 Java 的 8 个原始数据类型(Primitive Types,boolean、byte、short、char、int、float、double、long)之一。Java 语言虽然号称一切都是对象,但原始数据类型是例外。Integer 是 int 对应的包装类,它有一个 int 类型的字段存储数据,并且提供了基本操作,比如数学运算、int 和字符串之...
2019-01-22 08:31:04
247
原创 String、StringBuffer、StringBuilder有什么区别?
典型回答String 是 Java 语言非常基础和重要的类,提供了构造和管理字符串的各种基本逻辑。它是典型的 Immutable 类,被声明成为 final class,所有属性也都是 final 的。也由于它的不可变性,类似拼接、裁剪字符串等动作,都会产生新的 String 对象。由于字符串操作的普遍性,所以相关操作的效率往往对应用性能有明显影响。StringBuffer 是为解决上面...
2019-01-18 16:47:27
174
转载 String 为什么不可变 ?
众所周知, String 是一个不可变的,由 final 修饰的类。那么它的不可变性体现在哪里呢? 看下面一段简单的代码: String str= &amp;amp;quot;123&amp;amp;quot;; str = &amp;amp;quot;456&amp;amp;quot;;相信应该没人会觉得这段代码是错误的,那么这符合 String 的不可变性吗?String 的不可变性是如何体现的? 不可变性的好处是什么?带着这些
2019-01-18 09:41:41
267
原创 强引用、软引用、弱引用、幻象引用有什么区别?
典型回答不同的引用类型,主要体现的是对象不同的可达性(reachable)状态和对垃圾收集的影响。强引用(“Strong” Reference),就是我们最常见的普通对象引用,只要还有强引用指向一个对象,就能表明对象还“活着”,垃圾收集器不会碰这种对象。对于一个普通的对象,如果没有其他的引用关系,只要超过了引用的作用域或者显式地将相应(强)引用赋值为 null,就是可以被垃圾收集的了,当...
2019-01-16 09:09:38
178
原创 谈谈final、finally、 finalize有什么不同?
典型回答final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(override)。finally 则是 Java 保证重点代码一定要被执行的一种机制。我们可以使用 try-finally 或者 trycatch-finally来进行类似关闭 JDBC 连接、保证...
2019-01-15 14:03:55
147
原创 Exception和Error有什么区别?
典型回答Exception 和 Error 都是继承了 Throwable 类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。Exception 和 Error 体现了 Java 平台设计者对不同异常情况的分类。Exception 是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。E...
2019-01-15 09:57:32
246
原创 谈谈你对Java平台的理解?
Java 本身是一种面向对象的语言,具有两大显著特征:1、书写一次,到处运行 (Write once,run anywhere)表示的是Java语言跨平台的特性,Java的跨平台特性与Java虚拟机的存在密不可分,可在不同的环境中运行。比如说Windows平台和Linux平台都有相应的JDK,安装好JDK后也就有了Java语言的运行环境。其实Java语言本身与其他的编程语言没有特别大的差异...
2019-01-11 10:02:21
117
转载 CSDN-markdown编辑器的使用
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-01-11 09:26:01
103
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人