目的:便于管理,避免应用迁移时的命名冲突。 我定义的目录结构如下(linux)下:
xargs结合管道操作符|,可以完成很多看似复杂的问题: 1、快速删除所有.log日志文件 机器运行久了,就会有各式各样的日志文件,散落在各个目录下,可以利用下面的方法: find ./ -name '*.log' | xargs rm -rf 上面的代码,先把当前目录及子目录下的所有后缀是log的文件找出来,然后做为参数,传递给 rm -rf ,这样就把日志文件给干掉了。 2、根据名字找到运行的进程并杀掉 比如:有一个java程序在服务器上,我们在写部署脚本时,要先把之前在运行的程序kill掉,如果只知道
Jenkins是一个广泛用于持续构建的可视化web工具,可用于自动化与构建、测试、交付或部署软件相关的各种任务。 可以通过安装包、tomcat、java、docker方式进行安装使用
在开发中经常要使用到fastJson来转换对象为json 串,但是最近发现在一个对象转换的时候,总是丢失了一个字段的值,(数据丢失).就很纳闷。到网上找了很多方法总是不行,最后总算是在一篇博文中看到问题的关键!现在整理如下,希望可以帮助到更多的人。
pinpoint收集来的数据,主要是存在Hbase数据库的。所以它可以收集大量的数据,可以进行更加详细的分析。
锁是实现数据库并发控制必不可少的功能,PostgreSQL数据库通过其特有的多版本属性实现了MVCC,实现了读不阻塞写,写不阻塞读。PostgreSQL中表锁有八个级别,不同的锁对应了不同的排他级别。值得注意的是同一时刻两个事务不能再同一个表上获取相互冲突的锁,但是一个事务是永远不会与自己冲突的,一个事务里连续获取两个有冲突的锁类型是没有问题的。
答:与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之间的差异。
来源:my.oschina.net/leejun2005/blog/1524687
背景 经常做后端服务开发的同学,或多或少都遇到过 CPU 负载特别高的问题。尤其是在周末或大半夜,突然群里有人反馈线上机器负载特别高,不熟悉定位流程和思路的同学可能登上服务器一通手忙脚乱,定位过程百转
> 公众号:[Java小咖秀](https://t.1yb.co/jwkk),网站:[javaxks.com](https://www.javaxks.com)
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
经常做后端服务开发的同学,或多或少都遇到过 CPU 负载特别高的问题。尤其是在周末或大半夜,突然群里有人反馈线上机器负载特别高,不熟悉定位流程和思路的同学可能登上服务器一通手忙脚乱,定位过程百转千回。
原文链接:https://my.oschina.net/leejun2005/blog/1524687
jps 查看进程是正常的,但是 zkServer.sh status 查看的时候报错。
本人很愚笨,坚持梦想才是最重要的,最后你会得到应有的回报。 之前面经中的大神说道“重要的事情说三遍,心态最重要,心态最重要,心态最重要”。
想了解JDK12,13,14中的GC调优秘籍吗?想知道这三个版本中JVM有什么新的变化吗?
配置一个xxx.ignore的文件(前缀不重要,介意文件名为git.ignore) 文件存放位置随便,为了方便让~/.gitconfig 文件引用,引用,介意放在用户家目录下
ConcurrentHashMap 是 HashMap 的线程安全版本,使用了 CAS、synchronized、volatile 来确保线程安全。
某天下午测试环境服务器出现tab无法补全命令,给出的提示大概意思就是说,无可用空间无法创建临时文件,不过这次跟上次出现的问题比较像,上次服务器出现的问题,因此楼主判断可能是服务器数据盘被占满,果不其然,使用df -h命令看到服务器数据盘出现100%被占用的情况。
此规则会查找对 System.Diagnostics.Process.GetCurrentProcess().Id 的调用,并建议改用 System.Environment.ProcessId,因为这样更高效。
配置Git忽略文件 配置原因 忽略掉与项目实际功能无关,不参与服务器部署运行的文件,能屏蔽IDE工具之间的差异 0-配置忽略文件.jpg 配置方法 创建忽略规则文件 .ignore文件 推荐命名git.ignore 存放位置 可以存放在任何位置 为了便于~/.gitconfig文件引用,推荐放在家目录下 1-存放位置.jpg git.inore文件 # Compiled class file *.class # Log file *.log # BlueJ files *.ctxt # Mobile
等待时间超过max_standby_streaming_delay后,跳出ProcWaitForSignal重新进入ResolveRecoveryConflictWithLock,走第一个分支
作为一名程序员当然是异常越少越好,但有时候一些异常可能是不可避免或者是我们还未预测到,这时候程序会强行关闭,即平常所说的forceclose弹窗,那么什么时候会出现forceclose弹窗呢?
ssh登录远程服务器重启项目(第一次),未等tomcat启动完成,直接访问项目的对应后台管理系统网站,导致网页一直加载不出来,心急又去重复启动项目(第二次),再次访问网页报错:502 Bad Gateway nginx。
在使用 Arthas 之前,当遇到 Java 线上问题时,如 CPU 飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后 jps、jstack、jmap、jhat、jstat、hprof 等一通操作。最终焦头烂额,还不一定能查出问题所在。而现在,大多数的常见问题你都可以使用 Arthas 轻松定位,迅速解决,及时止损,准时下班。
什么是游戏外挂? 试想场景,在玩游戏时,没有得到良好的游戏体验,加之玩游戏的这位又是偏激之人,此时心生愤怒,但通过自己的游戏技术,又无法得到发泄。所以很无奈,只能打开一种游戏作弊程序,这种游戏作弊程序就叫做游戏外挂。
原因:端口号冲突 解决: (1)方法一 使用命令netstat -ano找到占据端口8005的进程号,再用命令taskkill /pid xxxx杀死对应进程xxxx。 (2)方法二 打开任务管理器,看看开发工具eclipse下是否启动了两个相同进程,直接结束进程,重启eclipse和项目。 (3)方法三 修改Tomcat配置文件server.xml中的端口号。 修改8080端口为其它端口号。
通常我在dnspod里面,设置的解析缓存时间很短,基本上我修改DNS,是马上生效的。但毕竟用户的DNS不在我们的控制范围,总会有用户解析到旧的服务器上面,杯具就这样发生了。
做了Android开发这么久了,经常会遇到一个问题是adb端口被占用,大家都知道Android默认的adb端口是5037,电脑上有一些应用的端口,又恰巧与adb端口冲突占用掉了
在企业级业务系统日趋复杂的背景下,微服务架构逐渐成为了许多中大型企业的标配,它将庞大的单体应用拆分成多个子系统和公共的组件单元。这一理念带来了许多好处:复杂系统的拆分简化与隔离、公共模块的重用性提升与更合理的资源分配、大大提升了系统变更迭代的速度、更灵活的可扩展性以及在云计算中的适用性,等等。
某日线上登录出现故障,排查日志发现HttpClient请求时随机分配到的端口被占用,导致第三方登录拉取信息时无法拉取成功,错误如下:
我们已经或多或少知道,进程具有父子关系,不仅如此,还有兄弟关系。所以,进程描述符中必须有几个成员是记录这种关系的(P是创建的进程),具体可以参考下表。进程0和1是由内核创建的,后面我们会看到,进程1(init)是所有其它进程的祖先。
最近项目中需要接入容联七陌客服系统,接入过程中将容联的Demo作为module添加到项目中,然后添加依赖,过程貌似很顺利,编译也没有问题,可是进入客服界面时,却报了下面的错误:
提示:公众号展示代码会自动折行,建议横屏阅读 「第一部分 背景」 最近我们发现在Read Committed隔离级别下出现了S类型的Gap锁参与的死锁告警。 本身RC隔离级别上出现Gap锁就很诡异了,更诡异的是两条看起来完全不相干的SQL发生了死锁。让我们一起来分析一下吧。 1.1 事务逻辑 简化来看是一个文件移动功能,目的是将文件从source目录移动到dest目录,逻辑如下: 1)查询 source 的父目录(select lock in share mode) 2)查询 dest 的父目录(selec
Hadoop框架自身集成了很多第三方的JAR包库。Hadoop框架自身启动或者在运行用户的MapReduce等应用程序时,会优先查找Hadoop预置的JAR包。这样的话,当用户的应用程序使用的第三方库已经存在于Hadoop框架的预置目录,但是两者的版本不同时,Hadoop会优先为应用程序加载Hadoop自身预置的JAR包,这种情况的结果是往往会导致应用程序无法正常运行。
kill的作用是向某个指定的进程或进程组发送指定信号,从而结束该进程/进程组。-s选项可以指定要发送的具体信号,如果没有指定,则默认发送SIGTERM(15)信号至指定进程/进程组,若进程没有捕获该信号的逻辑,则SIGTERM的作用是终止进程。
当多个会话同时访问数据库的同一数据时,理想状态是为所有会话提供高效的访问,同时还要维护严格的数据一致性。那数据一致性通过什么来维护呢,就是通过 MVCC(多版本并发控制) 。
答 :与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之间的差异。
sun公司定义了这么多标准,其它公司的人都可以来去根据我这些标准来做JavaEE程序
在介绍javaagent之前,我想有必要向大家介绍一下JVMTI,因为javaagent是基于这个技术实现的
在很多优秀的低代码平台中都支持了本地代码导出的设计,方便开发者二次集成,但能够导出的前提是已经通过低代码平台进行了初步的数据建模,界面绘制等基础性的操作。这些导出的代码虽然很大程度上减轻了开发者的代码量,但在项目的迭代过程中,遇到数据或需求变更。这些代码就又会成为开发者巨大的负担,重新由低代码平台建模会产生代码上的冲突无法解决,而重新用code编写这一步代码则又面临手工代码与“机器代码”的整合问题。而更为致命的问题是项目上线后,当直接用户希望通过低代码工具进行维护系统时更是“闪崩”。这也是低代码平台在直接用户叫好不叫座的根本原因。
HashMap基于哈希表的 Map 接口的实现。允许使用 null 值和 null 键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
命名 空间是用来组织和重用代码的。如同名字一样的意思,NameSpace(名字空间),之所以出来这样一个东西,是因为人类可用的单词数太少,并且不同的人写的程序不可能所有的变量都没有重名现象,对于库来说,这个问题尤其严重,如果两个人写的库文件中出现同名的变量或函数(不可避免),使用起来就有问题了。为了解决这个问题,引入了名字空间这个概念,通过使用 namespace xxx;你所使用的库函数或变量就是在该名字空间中定义的,这样一来就不会引起不必要的冲突了。
按照字面意思么,就是没有更新PID文件,于是乎我就去我的MySQL目录,看了一下,并建了一个PID文件,随便弄了个进程号进去(童鞋们这么搞首先得确定这个进程号,没有进程在用。)。然后重启MySQL。
<1>、为什么忽略? 答:与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之间的差距 <2>、怎么忽略? ①、创建忽略文件 xxxx.ignore(前缀名随便起,建议是 git.ignore) 这个文件的存放位置原则上在哪里都可以,为了便于让 ~/.gitconfig 文件引用,建议也放在用户家目录下
可以看到有 Waiting for table metadata lock 字眼; 如果有其他类似字眼可以解决掉冲突的进程 命令: kill pid pid就是图片第一列的id,如果还是无法解决且看第二条
Tomcat启动一闪而过怎么办?这成为了许多刚接触tomcat开发环境工作者的一个大问题,许多用户朋友都不知道是因为什么问题导致出现这种情况,下面就一起来了解一下吧。
nginx安装启动发现80默认端口冲突,一般是和tomcat服务冲突了。 所以在这里我们直接取修改nginx的默认端口。 通过whereis nginx我们知道了nginx的配置文件目录 在配置文件目录下的sites-available目录中我们找到了default文件,进行修改,修改前先备份。
牛客上刷到一条帮选 offer 的帖子,上来就是“阿里 80 万年包,边缘业务”,于是很有诚意的点进去,想帮牛友分担一点选择上的负担,结果看得汗流浃背。
领取专属 10元无门槛券
手把手带您无忧上云