近期在写一个简单的小java程序,希望在运行java 程序时,从shell 中接收参数,并且参数的内容为不可见字符. 开始时还觉得可以使用"\"之类的转义符来写,后来发现java程序从shell中接收参数时,根本就没有转义符这一说,直接接收到的就是string. 例如执行以下命令 java -jar test.jar \n\n 如果java程序是将输入的信息打印屏幕,那么打印的内容将是"\n",而不是"换行". 从网上找了很多资料,都没有发现能够…
突然集群的2个节点挂了,通过top查看, 虚拟内存22G, 通过 pmap -x 8 | grep anon 一大堆64M Linux下glibc的内存管理机制用了一个很奇妙的东西,叫arena.在glibc分配内存的时候,大内存从从中央分配区分配,小内存则在线程创建时,从缓存区分配.为了解决分配内存的性能的问题,就引入了这个叫做arena的memory pool.而恰好,在64bit系统下面,它的缺省配置为64M.一个进程可以最多有cores*8个arena,假如服务器是4核的,那么最多有4*…
paip.注册java程序为LINUX系统服务的总结. ////////////////实现开机启动. 标准方法是按照/etc/init.d/下面的文件,修改一下:然后chkconfig xxx on 即可.比较麻烦..放弃.. 可以简单实现开机自启动就是了.. 2.在/etc/rc.local里面写 /bin/bash  /xxxx.sh   ////////////编写服务脚本.运行..locationServc.sh start/stop/restart/? 运行sh,提示权限不不够,wi…
执行Asp.net应用程序在Linux上的3种托管方式 想要执行Asp.net应用程序在Linux上.我们有3种选择: 1.使用Apache作为Webserver.使用mod_mono:http://www.mono-project.com/docs/web/mod_mono/2.使用Nginx作为Webserver,使用FastCGI托管:http://www.mono-project.com/docs/web/fastcgi/3.使用XSP作为Webserver,这是一个用C#写的轻量级简单…
如果要想在服务端部署node.js程序,让其持久化运行,就不能单单使用npm start命令运行,当然了,这样运行是毫无问题的,但是当关闭xshell窗口或者是关闭进程的时候(其实关闭xshell窗口相当于默认关闭进程),就无法访问对应的node.js服务端程序了. 那么该如何才能持久访问呢? 其实也就两步 第一步安装forever npm install forever 或者 npminstall -g forever 第二步运行对应的js forver start index.js 注意(你…
http://www.iigrowing.cn/shu_mei_pai_shang_java_cheng_xu_zuo_wei_linux_fu_wu_bing_kai_ji_zi_dong_qi_dong.html 刚刚买了, 树莓派, 准备做一些程序, 放到树莓派上, 平时树莓派上不接显示器等各种设备,直接随着adsl开关进行开关. 这样一些java程序启动就有些麻烦. 开 发过程中很多要独立运行,他们并不会以web形式发布,传统的做法是将其压缩为jar包独立运行,这种形式简单易行也比较利于…
当我们把java程序打成jar包后,放到linux上通过putty或其它终端执行的时候,如果按照:java -jar xxxx.jar执行,当我们退出putty或终端的时候,xxxx.jar这个程序也会停止.为了保证程序能够一直运行,应该改为这样运行:nohup java -jar xxx.jar&命令,则程序会在后台一直运行,值得注意的是,此时程序控制台输出会被转移到nohup.out文件中,这个nohup.out文件的位置就在jar包的当前文件夹内. 但是有时候在这一步会有问题,当把终端关闭…
程序猿都非常懒,你懂的! 近期在开发中,须要用到server的ip和mac信息.可是server是架设在linux系统上的,对于多网口,在获取ip时就产生了非常大的问题.以下是在windows系统上,java获取本地ip的方法.贴代码: package com.herman.test; import java.net.InetAddress; /** * @see 获取计算机ip * @author Herman.Xiong * @date 2014年5月16日 09:35:38 */ publ…
Java程序中要执行linux命令主要依赖2个类:Process和Runtime 首先看一下Process类: ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例, 该实例可用来控制进程并获得相关信息.Process 类提供了执行从进程输入.执行输出到进程.等待进程完成. 检查进程的退出状态以及销毁(杀掉)进程的方法. 创建进程的方法可能无法针对某些本机平台上的特定进程很好地工作,比如,本机窗口进程,守护进程,…
java程序中要执行linux命令主要依赖2个类:Process和Runtime 首先看一下Process类: ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获得相关信息.Process 类提供了执行从进程输入.执行输出到进程.等待进程完成. 检查进程的退出状态以及销毁(杀掉)进程的方法. 创建进程的方法可能无法针对某些本机平台上的特定进程很好地工作,比如,本机窗口进程,守护进程,M…
1.在linux下载程序代码(确保获取正确的文件属性) 2.在windows编写代码,对于已有代码,不改变文件权限,如原先为755的,更改文件内容后依然是755的文件,如果要新建文件,默认为644,其它权限,需在linux中用chmod设置 3.更改完成直接在windows上传,上传到服务器的文件权限与linux上传相一致. 第1点没什么奇怪,windows上用git下载代码后会使得文件权限丢失 对于第2点,需要smba中进行设置,其中要把/etc/samba/smb.conf中这几行取消注释就…
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6809285459722633736/ 创建工程 使用maven工程 勾选,然后下一步 填写基本信息 注意改一下编码和JDK pom配置(附在文档后面) 引入jar(这个包一直不能下载,所以另外导入) 创建运行类 编写代码 继续编写 主方法测试下,先在windows上测试完成后,再放到linux上执行看下,本地测试就不测试了,直接打包 打包,执行install 因为我们引入了别的包,所以我们的包会比别的包大一些,…
方案1: 单进程程序可以用端口绑定.程序启动的时候可以尝试看该端口是否已经被占用,如果占用则程序已经启动. 方案2:你可以在java程序中创建一个隐藏文件,程序退出的时候删除这个文件.这样在程序启动的时候,你判断是否存在这个文件,如果存在说明已经启动. import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.channels.FileLock; /** *…
以有个java应用名称为test,打包为test.jar,程序入口为cn.com.ppnote.SocketServer. 下面在linux的/opt下建立testapp目录,复制test.jar到/opt/testapp/lib目录下. 1.下载Java Service Wrapper(目前版本wrapper-linux-x86-32-3.2.3), 解压. http://wrapper.tanukisoftware.org/ 复制src\bin\sh.script.in到/opt/testa…
以java应用程序为例,打包为tianlong.jar,程序入口为tianlong.QueueTest. 下面在linux的/opt下建立tianlong目录,复制tianlong.jar到/opt/tianlong/lib目录下.  1.下载Java Service Wrapper(目前版本wrapper-linux-x86-32-3.3.2), 解压. http://wrapper.tanukisoftware.org/  复制src/bin/sh.script.in到/opt/tianlo…
我这里是通过连接到centos6.5的大数据集群的主节点,并通过运行hadoop的启动脚本来启动hadoop 本人采用的是SSH的方式连接 通过创建maven项目来编写代码,在编写代码之前需要先导入架包 在pom.xml文件里添加以下语句 <dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>ganymed-ssh2</artifactId> <version>262&…
问题 在把windows下的一个python脚本挪到linux下的时候,出现了一个奇怪的问题,就是标题那样的报错,很明显,shell没有用对应的python解释器去解释脚本,而是直接用shell解释了,下面就直接导致了一系列奇奇怪怪的报错.看了下面这篇文章还是让人略有启发的 $ head  weixinbaojing.py #!/usr/bin/env python3 import requestsimport jsonimport sys $ chmod u+x weixinbaojing.p…
linux 安装tengine tengine是什么 tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验.它的最终目标是打造一个高效.稳定.安全.易用的Web平台. Nginx是异步框架的网页服务器,也可以用作反向代理.负载平衡器和HTTP缓存. 安装必要依赖 依赖 gcc openssl-devel pcre-devel zlib-devel…
命令行参数都是字符串,必须先将其转化为数字,才能相加.以下是流程图,源代码和输出结果. 流程图: 源代码: import java.util.Scanner; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner(System.in); // 创建Scanner类对象 int n; System.out.p…
前面文章讲到了Linux上通过.spec文件与rpmbuild命令将java程序打包为RPM安装包, 现阶段遇到新的需求: 使用Makefile来操纵java的编译.打包 该需求以前面的内容为基础 可以查看下面几篇文章,即可解决上述需求 建议:先从一个小一点的案例入手,通过Makefile成功运行之后,一步步尝试运行自己的实际项目(注意结构:源码.jar包.配置文件等) 自己动手编译.运行Java程序 http://www.cnblogs.com/haolujun/archive/2013/03…
毕业时写了一段时间的C,那时候调试使用gdb,后来转了java,当时就想java程序怎么调试,找了一下,果然,那就是jdk自带的jdb windows里是这样的 Linux下是这样的 一般我在linux下来调试Java程序 好,那么,问题来了,这玩意怎么用?有好几种玩法 第一种玩法:以经典的HelloWorld为例,先写一个Java程序,如下: 我们把编译好的类上传到linux下,如下所示 务必强调一下:类所在的包名的层次结构也要在linux下体现出来 下面我们来玩起来,在linux下操作如下…
最近研究了一下mono,想把windows上写的.Net程序移植到linux上跑.网上有资料说Linux上mono执行.Net程序效率比Windows高,本着实证的态度,只有实际验证过才有说服力. 写了个程序验证一下,发现linux上的mono环境执行效率确实高些,现将测试过程记录如下. 测试环境: 1.笔记本电脑 Lenovo T430 CPU Intel i5-3230M 内存8G 操作系统 Windows7 64位旗舰版 2.测试程序运行环境,在Oracle VM VirtualBox5.…
让.NET应用程序在linux上运行,目前通用的做法就是在Linux上安装mono,然后通过”mono your.exe“命令运行这个程序. 这种运行.net程序的办法有两个弱点,一个是需要客户机安装mono,二个是 ”mono xx.exe“ 这种命令行总让人感到有点不太专业的味道. 那么,有没有办法既不安装mono,又能让你的.NET程序就像c语言编译的程序那么,”直接“在Linux上运行呢? 为了解决.net程序特别是.net控制台程序在Linux平台上部署和运行的简便性问题,我给大家准备…
main()函数,想必大家都不陌生了,从刚开始写程序的时候,大家便开始写main(),我们都知道main是程序的入口.那main作为一个函数,又是谁调用的它,它是怎么被调用的,返回给谁,返回的又是什么?这次我们来探讨一下这个问题. 1. main()函数的形式先来说说main函数的定义,较早开始写C程序的肯定都用过这样的定义void main(){},其实翻翻C/C++标准,从来没有定义过void main().在C标准中main的定义只有两种:        int main(void)   …
在将java项目在linux上之前我们需要准备一下,首先是 一个打成war包的java项目,一个contes的系统,还有就是tomcat和jdkl的压缩包,可以在官网下载, jdk安装 先卸载centos自带的jdk 我们通过winscp将jdk安装包文件存放在usr文件下的新的文件夹中, 然后通过tar -zxvf压缩包名,将jdk安装包解压,tomcat也解压出来, 设置环境变量: 修改全局配置文件,作用于所有用户:vi /etc/profile     export JAVA_HOME=…
main()函数,想必大家都不陌生了,从刚开始写程序的时候,大家便开始写main(),我们都知道main是程序的入口.那main作为一个函数,又是谁调用的它,它是怎么被调用的,返回给谁,返回的又是什么?这次我们来探讨一下这个问题. 1. main()函数的形式先来说说main函数的定义,较早开始写C程序的肯定都用过这样的定义void main(){},其实翻翻C/C++标准,从来没有定义过void main().在C标准中main的定义只有两种:        int main(void)   …
ClassLoader具备层次关系,且不止一种.不同的类装载器分布创建的同一个类的字节码数据属于完全不同的对象,没有任何关联 通过Class.forName(String className),能够动态加载一个类 Java程序不是一个可执行文件,而是由许多独立的类文件组成的,每一个文件对应一个Java类.此外,这些类文件并非全部都装入内存,而是根据程序需要逐渐载入. ClassLoader是JVM实现的一部分,ClassLoader包括bootstrap classloader(启动类加载器),…
原文地址:http://m.blog.csdn.net/article/details?id=43376943 前言:我们的场景并没有像BAT等大型互联网公司里的系统那么复杂,但是基本上也有一定的规模,暂且就认为我们是一个中型互联网系统.但是工具和思路都是差不多的,因为原理是一样的.同时下面提到的命令,具体详细的用法,我想google上已经有足够多的资源了,这里只说思路与方向. 首先我们分析一下服务器构造和操作系统,服务器我们可以简单的分解为CPU.内存.硬盘(其他部件的我们就不考虑了),操作系…
前言 ASP.NET core转眼都发布半月多了,社区最近也是非常活跃,虽然最近从事python工作,但也一直对.NET念念不忘,看过了园区大神们搭建的Asp.net core项目之后,自己也是跃跃欲试,准备搞一下ASP.NET Core mvc的创建和部署,于是便有了这篇文章,希望能够帮助到你. 环境准备 这是我的开发环境,使用的nginx是nginx 1.6.3 直接yum install,然后需要安装dotnet环境,可以参照官网教程https://www.microsoft.com/ne…
NET Core MVC 在linux上的创建及发布 前言 ASP.NET core转眼都发布半月多了,社区最近也是非常活跃,虽然最近从事python工作,但也一直对.NET念念不忘,看过了园区大神们搭建的Asp.net core项目之后,自己也是跃跃欲试,准备搞一下ASP.NET Core mvc的创建和部署,于是便有了这篇文章,希望能够帮助到你. 环境准备 这是我的开发环境,使用的nginx是nginx 1.6.3 直接yum install,然后需要安装dotnet环境,可以参照官网教程h…