- 博客(18)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 Tomcat内存配置
在生产环境中,tomcat内存设置不好很容易出现JVM内存溢,最直观的解决方法就是修改Tomcat中的catalina.sh文件。-XX:MaxPermSize 设定内存的永久保存区最大大小,缺省值为64M。-XX:PermSize 设定内存的永久保存区初始大小,缺省值为64M。-XX:MaxNewSize 新生成的池的最大大小。-XX:SurvivorRatio=2 生还者池的大小,默认是2。-XX:NewSize 新生成的池的初始大小。4.一般把-Xmn设置为-Xmx值的1/4。
2024-08-21 18:09:32
1270
原创 Tomcat目录详解
一类是以.sh结尾的linux命令,另一类是以.bat结尾的windows命令。④.查看控制台命令:tail -f -n 400 ../logs/catalina.out。windows中,控制台的输出日志在catalina.xxx-xx-xx.log文件中。①.catalina.bat/sh 批处理文件,可设置JVM参数,包括设置内存大小。④.tomcat-users.xml 用来配置管理的tomcat的用户与权限。linux中,控制台的输出日志在catalina.out文件中。
2024-08-21 18:04:14
475
原创 Nginx配置文件详解
3、http块:可以嵌套多个server,配置代理、缓存、日志定义等绝大多数功能和第三方模块的配置。1、全局块:配置影响nginx全局的指令。3.1、http全局块:http全局块配置的指令包括文件引入、mime-type定义、日志自定义、连接超时时间、单连接请求数等。5、location块:配置请求的路由,以及各种页面的处理情况,每个server都可以配置多个location块。4、server块:配置虚拟主机的相关参数,包括端口、主机名称、ip,一个http中可以有多个server。
2024-08-21 17:53:00
305
原创 Redis架构之哨兵机制
概念:哨兵机制来实现主从集群的自动故障恢复。Sentinel是通过什么方式知道集群中每个节点的状态?1.选举新的master一旦发现master故障,Sentinel需要在slave中选择一个作为新的master。2.故障转移。
2024-07-30 18:17:50
744
原创 Redis实践经验
集群之间会不断的互相Ping来确定集群中其他节点的状态。每次Ping都会携带的信息至少包括:插槽信息、集群状态信息,集群中节点越多,集群状态信息数据量越大,10个节点的相关信息可能达到1kb,此时每次集群互通需要的带宽会非常高。当Redis内存不足时,可能导致Key频繁被删除、响应时间变长、QPS不稳定等问题。当内存使用率达到90%以上时就需要警惕,并快速定位到内存占用的原因。Redis在执行时耗时超过某个阈值的命令,称为慢查询。慢查询会被放入慢查询日志中,日志长度有上限。
2024-07-11 17:23:35
676
原创 Redis持久化
RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。Redis处理的每一个写命令都会记录在AOF文件,可以看作是命令日志文件。当Redis实例故障重启后,从磁盘读取并执行AOP文件中的每一条命令,恢复数据。因为是记录Redis在运行过程中的所有写命令,所以AOF文件会比RDB文件大很多。子进程不会影响主进程,但是在fork获取子进程的过程是阻塞的。命令,可以让AOF文件执行重写功能,用最少的命令达到相同的效果。
2024-07-09 23:59:51
800
原创 分布式锁Redisson
方法订阅其他锁是否存在已经释放的信号,如果在剩余重试时间内没有等到其他线程释放锁的信号,则取消订阅,并返回false获取锁失败。锁,MutiLock锁的思想是每次加锁时,对多个节点同时加锁,把这多个节点都认为是主节点,只有把锁成功的加到每个节点上,才认为是加锁成功。在Redis的主从模式和哨兵模式中,都需要把主节点的数据发送到从节点,在这个过程中,如果主节点发生了故障宕机,就会导致锁失效从而引发线程安全问题。方法的本质是一个定时任务,通过递归的方式定时自动刷新锁的过期时间,刷新时间的方法是。
2024-07-05 10:58:46
1151
原创 单例设计模式
Java的反射机制可创建多个实例从而破坏单例模式,解决方案即是使用双重非空判断,加synchronized关键字是应对多线程的情况,所以synchronized+双重非空判断可防止反射破坏单例模式。1.饿汉式是在类加载初始化时创建唯一实例,该实例在整个系统运行中会一直存在,不会被垃圾回收,直到系统停止;2.隐性创建实例,使用方便,但存在内存浪费的问题(生命周期与系统的生命周期一致);1.懒汉式是在第一次使用实例的时候去创建实例,创建完后会一直存在,直到系统停止;4.饿汉式(枚举)(枚举本身是线程安全的)
2024-06-11 16:32:13
401
原创 Git创建远程仓库(码云gitee)
把生成的id_rsa.pub文件内容粘贴到公钥中,点击 ‘ 确定 ’ 按钮即可。执行完后会生成以下文件夹和文件。生成的默认目录是如上图已显示。使用克隆命令可以把远程仓库的内容下载到本地即可。登录码云->个人设置->SSH公钥。仓库新建成功后复制仓库地址。
2024-05-21 14:40:48
272
1
原创 Git理论和基本命令
版本控制就是对文件版本控制,要对文件进行修改、提交等操作,首先要知道文件当前是什么状态,不然可能会提交了现在还不想提交的文件,或者是提交的文件没提交上。5、如果名称的最后面有一个路径分隔符( / ),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。4、如果名称的最前面有一个路径分隔符( / ),表示要忽略的文件在此目录下,而子目录中的文件不忽略。3、如果名称的最前面有一个感叹号,表示例外规则,将不被忽略;:文件已修改,仅仅是修改,并没有进行其他操作,这个文件也有两个去处,通过。
2024-05-21 14:30:52
574
原创 Git安装
SVN是集中式版本控制系统,版本库是集中放在中央服务器。集中式版本控制系统必须联网才能使用,对网络宽带要求较高。Git是分布式版本控制系统,没有中央服务器,每个用户都是一个完整的版本库,不需要联网也可以使用。执行完后,在当前用户下会生成一个.gitconfig文件。每个用户都有所有的版本数据。开源分布式版本控制系统。多人共享会存在安全隐患。镜像下载地址:(傻瓜式安装)
2024-05-21 14:18:59
266
翻译 JAVA开发日常踩坑总结一
1.在开发移动端页面时,部分安卓手机用微信内置的浏览器打开页面时,会出现a 标签点击无效的情况;解决方案:在跳转目标链接后添加一个任意参数即可。例:<a href="www.baidu.com?1=1">返回</a>其他参考地址:(https://blog.youkuaiyun.com/sinat_31177681/article/details/85124166)...
2019-04-11 17:54:18
490
原创 java文字生成水印图片并45度倾斜铺满图片(图例在下面)
package test;import java.awt.AlphaComposite;import java.awt.Color;import java.awt.Font;import java.awt.FontMetrics;import java.awt.Graphics2D;import java.awt.Image;import java.awt.image.Buffer...
2018-03-14 10:06:38
10416
12
原创 KindEditor获取多个textarea文本框的值并判断非空
在网上找了一大圈都没有找到我想要的结果,没办法,看了部分的KindEditor官方文档,现在来稍微总结一下。正文:如何获取多个KindEditor中textarea文本框的值,方式很多种(带有HTML标签)。 var introduction = document.getElementById("richText").value; // 原生态脚本 var b =
2017-08-18 16:05:45
3257
原创 Ueditor富文本编辑器替换去除自动追加p标签
最近,做了一个模块,需要用到ueditor,然后突然发现其中的很多细节需要处理。在项目中,一个文章修改模块用到ueditor,但是每次修改完文章点击保存后,ueditor就会自动加一个p标签,多次修改后,ueditor就会不断的在外层套一个p标签,以至于明明没有修改,但是它却不断的换行。
2017-08-02 14:58:11
16117
6
hibernate生成sql语句没有问题,但是不该为空却一直为空。
2017-12-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人