【0】内存分配

Xms:初始内存大小 -Xmx:最大内存大小 -Xmn:年轻代大小

java -Xms13000m -Xmx13000M -version 爆了

Tomcat设置,Linux写法:

1
JAVA_OPTS=" -Xms8192m -Xmx8192m -XX:PermSize=2048M -XX:MaxNewSize=2048m -XX:MaxPermSize=2048m "

Win写法:

1
set "JAVA_OPTS= -Xms4096m -Xmx4096m -XX:PermSize=2048M -XX:MaxNewSize=2048m -XX:MaxPermSize=2048m "

【1】字符串与数值转换

int转String :

1
2
3
String s = String.valueOf(i);
String s = Integer.toString(i); // 只产生一个对象
String s = i + "";

char[]转String:

1
str = String.valueOf(charArray);

String[]转String

1
2
3
4
5
6
7
StringUtils.join(strArray, ","); // 将数组用逗号分隔变成字符串
StringUtils.join(null)            = null // 用org.apache.commons.lang.StringUtils
StringUtils.join([])              = ""
StringUtils.join([null])          = ""
StringUtils.join(["a", "b", "c"]) = "abc"
StringUtils.join([null, "", "a"]) = "a"
String[] str = { "1", "2", "a", "b" };

List转String[]

1
String[] array = list.toArray(new String[list.size()]);

List转String

1
str = StringUtils.join(list.toArray(), ",");

String转int(Double、Float、Long):

1
2
int i = Integer.parseInt("123");
int i = Integer.valueOf("123").intValue();

String转char[]:

1
char[] charArray = str.toCharArray();

String转String[]

1
2
3
4
5
array = str.split("");  // String型的数组
String.split("\."); // 特殊,转义字符,必须加"\"(“.”和“|”都是转义字符)
String.split("\|");
string.split("and|or");
"aaa\bbb\bccc".split("\\");

String转byte[]

1
byte[] stringArr = string.getBytes();

String[]转List

1
List<string> list = Arrays.asList(stringArray);</string>

字符串去空格

1
2
3
String.trim()           // 去掉首尾空格
str.replace(" ", "");   // 去掉所有空格,包括首尾、中间
replaceAll(" ","");

【2】Java运行jar命令提示没有主清单属性

解决这个问题的方法就是要在MANIFEST.MF文件中添加一个入口类。

Main-Class: gui 这里的gui是你的xxx.java文件编译后的xxx.class文件稍微名称。但是不要加.class后缀。

【2.1】、Intellij idea导出带有main方法的jar包,并且可以执行的方法

File→Project Structure…→Artifacts→+→jar→From modules with …. → 选择一个要执行的main方法,选好后,点击确定→ OK

然后点击Build → Build Artifacts 选择刚才创建的Artifacts,这时候去到project下去搜*.jar,就是你的项目名称,找到后用winrar打开。删除META-INF目录下的除了mainfest.mf,zigbert.rsa以外的其他所有文件,有的时候没有zigbert.rsa,没关系,只留下一个mainfest.mf就好了,这时候查看一下mainfest.mf文件内,有没有Main-Class:属性,如果没有就加上Main-Class: 带main方法的类,然后回车,保存。这时候jar包就打完了,执行的时候 在终端中执行 java -Dskins.dir=0000000 -jarautoTestService.jar

其中-Dskins.dir=0000000是在main方法中接收的参数,接收方法是String strValue = System.getProperty(“skins.dir”);

第二种写法:

java -jar jarautoTestService.jar

这样就可以执行了。

【3】Maven放自己的包

想好pom写法:

1
2
3
<groupid>me.jfz</groupid>
<artifactid>fuck_client_java</artifactid>
<version>1.0.0</version>

安装本地jar到maven仓库

1
mvn install:install-file "-Dfile=fastdfs_client.jar" "-Dpackaging=jar" "-DgroupId=me.jfz" "-DartifactId=fuck_client_java" "-Dversion=1.0.0"

例子2:

1
2
3
4
<groupid>me.jfz</groupid>
<artifactid>synthetica_plain</artifactid>
<version>1.0.0</version>
mvn install:install-file "-Dfile=syntheticaPlain.jar" "-Dpackaging=jar" "-DgroupId=me.jfz" "-DartifactId=synthetica_plain" "-Dversion=1.0.0"

【4】 正则表达式获取两个字符中间的字符串

1
2
3
4
String filetext = "//@张小名: 25分//@李小花: 43分//@王力: 100分";
Pattern p = Pattern.compile("&#92;@(.*?)&#92;:");//正则表达式,取=和|之间的字符串,不包括=和|
Matcher m = p.matcher(filetext);
while(m.find()) { System.out.println(m.group(0));//m.group(1)不包括这两个字符}

说明:m.group(0) 是包含那两个字符,m.group(1)不包含那两个字符。