方案1: 单进程程序可以用端口绑定.程序启动的时候可以尝试看该端口是否已经被占用,如果占用则程序已经启动. 方案2:你可以在java程序中创建一个隐藏文件,程序退出的时候删除这个文件.这样在程序启动的时候,你判断是否存在这个文件,如果存在说明已经启动. import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.channels.FileLock; /** *…
目录 <linux文件锁flock> <NIO文件锁FileLock> <java程序怎么在一个电脑上只启动一次,只开一个进程> 方案1: 单进程程序可以用端口绑定.程序启动的时候可以尝试看该端口是否已经被占用,如果占用则程序已经启动. 方案2:你可以在java程序中创建一个隐藏文件,程序退出的时候删除这个文件.这样在程序启动的时候,你判断是否存在这个文件,如果存在说明已经启动. import java.io.File; import java.io.IOExcepti…
可以让你写的java程序在别人没有任何java配置以及环境的情况下执行 写好程序 在程序对应的package上右键->export->java->Runnable JAR file->next,选择输出位置和要导出的main函数 library handing选择第三个copy required libraries into a sub-folder newxt to the generated JAR,这里是让你的jar包一起导出,然后finish 对应位置会有一个文件夹和一个j…
怎么在一台电脑上同时启动多个tomcat? 应用场景: 一台电脑,需要同时部署多个tomcat,用于部署不同的系统 分布式系统,一个系统,同时需要开启多个tomcat,因为分布式系统可能会有多个war包,只用一个tomcat的话,可能配置的内存支持不了,所以需要打开多个tomcat分担负担.如图 同时开启多个tomcat,可能会出现的问题: 同时开启多个,如果不在系统变量新建CATALINA_BASE.CATALINA_HOME,系统的环境变量默认会取CATALINA_BASE.CATALINA…
有时候我们在开发的过程中难免会遇到需要在同一台电脑部署多个tomcat,且还要他们能够都单独同时启动不会对其他的tomcat造成影响 本文就简单记录一下,如何来实现这个骚操作 1. 下载tomcat的解压包以后解压,然后把解压之后的文件夹复制一份重命名为tomcat-2; 2. 创建系统变量  CATALINA_BASE2  和  CATALINA_HOME2  ; 变量值都是tomcat-2的路径地址: 至于为什么要新建这两个变量,原因是系统没有单独配置这两变量的时候,tomcat启动的时候都…
问题描述:公司电脑上默认使用的是公司的github账号,如果希望写一些代码放到个人的github账号上,就需要配置让一个电脑上可以使用两个github账号 原理:管理两个SSH key 1.生成两个SSH KEY 为个人账户生成SSH KEY: ssh-keygen -t rsa -C "your-self-email-address" -f /c/Users/Administrator/.ssh/id_rsa 为公司github账户生成SSH KEY: $ ssh-keygen -t…
突然集群的2个节点挂了,通过top查看, 虚拟内存22G, 通过 pmap -x 8 | grep anon 一大堆64M Linux下glibc的内存管理机制用了一个很奇妙的东西,叫arena.在glibc分配内存的时候,大内存从从中央分配区分配,小内存则在线程创建时,从缓存区分配.为了解决分配内存的性能的问题,就引入了这个叫做arena的memory pool.而恰好,在64bit系统下面,它的缺省配置为64M.一个进程可以最多有cores*8个arena,假如服务器是4核的,那么最多有4*…
前言 又需要登录公司的账号,又想在电脑上使用自己的账号. 实现 首先是git config方面的设置,要取消掉原本对于git账号的全局设置. git config --global --unset user.name #取消全局设置 git config --global --unset user.email #取消全局设置 git config -l #查看当前目录的git config 再分别去不同的项目目录中,设置这个目录中项目对应的账号. git config user.name "ne…
近期在写一个简单的小java程序,希望在运行java 程序时,从shell 中接收参数,并且参数的内容为不可见字符. 开始时还觉得可以使用"\"之类的转义符来写,后来发现java程序从shell中接收参数时,根本就没有转义符这一说,直接接收到的就是string. 例如执行以下命令 java -jar test.jar \n\n 如果java程序是将输入的信息打印屏幕,那么打印的内容将是"\n",而不是"换行". 从网上找了很多资料,都没有发现能够…
想必非常多朋友也有须要通过电脑下载Google Play的apk到电脑端的时候,事实上非常easy,推荐一个站点:APK Downloader APK Downloader 是一个能直接从网页下载Google Play 应用 APK 文件的站点,省去了多余的步骤,仅仅需提交对应应用的 URL 地址就可以下载. 以下说一下步骤: 1.登陆Google Play(网址:Google Play Store),必需要有Google账号: 2.找到你须要下载的apk.从地址栏复制该apk的地址,比方cou…