Java基础知识点

【0】内存分配
Xms:初始内存大小 -Xmx:最大内存大小 -Xmn:年轻代大小
java -Xms13000m -Xmx13000M -version 爆了
Tomcat设置,Linux写法:
JAVA_OPTS=” -Xms8192m -Xmx8192m -XX:PermSize=2048M -XX:MaxNewSize=2048m -XX:MaxPermSize=2048m “
Win写法:
set “JAVA_OPTS= -Xms4096m -Xmx4096m -XX:PermSize=2048M -XX:MaxNewSize=2048m -XX:MaxPermSize=2048m “

【1】字符串与数值转换
int转String :
String s = String.valueOf(i);
String s = Integer.toString(i); // 只产生一个对象
String s = i + “”;
char[]转String:
str = String.valueOf(charArray);
String[]转String
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[]
String[] array = list.toArray(new String[list.size()]);
List转String
str = StringUtils.join(list.toArray(), “,”);

String转int(Double、Float、Long):
int i = Integer.parseInt(“123”);
int i = Integer.valueOf(“123”).intValue();
String转char[]:
char[] charArray = str.toCharArray();
String转String[]
array = str.split(“”); // String型的数组
String.split(“\.”); // 特殊,转义字符,必须加”\”(“.”和“|”都是转义字符)
String.split(“\|”);
string.split(“and|or”);
“aaa\bbb\bccc”.split(“\\”);
String转byte[]
byte[] stringArr = string.getBytes();
String[]转List
List list = Arrays.asList(stringArray);

字符串去空格
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写法:
me.jfz
fuck_client_java
1.0.0
安装本地jar到maven仓库
mvn install:install-file “-Dfile=fastdfs_client.jar” “-Dpackaging=jar” “-DgroupId=me.jfz” “-DartifactId=fuck_client_java” “-Dversion=1.0.0”
例子2:
me.jfz
synthetica_plain
1.0.0
mvn install:install-file “-Dfile=syntheticaPlain.jar” “-Dpackaging=jar” “-DgroupId=me.jfz” “-DartifactId=synthetica_plain” “-Dversion=1.0.0”

【4】 正则表达式获取两个字符中间的字符串
String filetext = “//@张小名: 25分//@李小花: 43分//@王力: 100分”;
Pattern p = Pattern.compile(“\@(.*?)\:”);//正则表达式,取=和|之间的字符串,不包括=和|
Matcher m = p.matcher(filetext);
while(m.find()) { System.out.println(m.group(0));//m.group(1)不包括这两个字符}
说明:m.group(0) 是包含那两个字符,m.group(1)不包含那两个字符。

点赞