java public static Map<String, String> addressResolution(String address) {
String regex = "(?<province>.*?自治区|.*?省|.*?行政区|.*?市)(?<city>.*?自治州|.*?地区|.*?行政单位|市辖区|.*?市)?(?<county>.*?市|.*?县|.*?区)?(?<village>.*)";
Matcher m = Pattern.compile(regex).matcher(address);
String province, city, county, village;
Map<String, String> row = null;
while (m.find()) {
row = new LinkedHashMap<>();
province = StringUtils.isNotBlank(m.group("province")) ? m.group("province").trim() : "";
row.put("province", StringUtils.isEmpty(province) ? address : province);
city = StringUtils.isNotBlank(m.group("city")) ? m.group("city").trim() : "";
row.put("city", StringUtils.isEmpty(city) ? province : city);
county = StringUtils.isNotBlank(m.group("county")) ? m.group("county").trim() : "";
row.put("county", StringUtils.isEmpty(county) ? city : county);
village = StringUtils.isNotBlank(m.group("village")) ? m.group("village").trim() : "";
row.put("village", StringUtils.isEmpty(village) ? county : village);
}
if (row == null) {
row = new LinkedHashMap<>();
row.put("village", address);
}
return row;
}
public static void main(String[] args) {
System.out.println(addressResolution("山东省潍坊市昌邑市龙源国际小区"));
}
通过传统的 form 表单提交的方式上传文件
html<form id="uploadForm" action="" method="post" enctype="multipart/form-data">
<p>上传文件:<input type ="file" name="file"/></p>
<input type="submit" value="上传"/>
</form>
不过传统的 form 表单提交会导致页面刷新,但是在有些情况下,我们不希望页面被刷新,这种时候我们都是使用 Ajax 的方式进行请求的。
使用 serialize()
对 form 表单进行序列化提交
javascript$.ajax({
url: "",
type: "POST",
data: $('#uploadForm').serialize(),
success: function(data) {
},
error: function(data) {
}
});
如上,通过 $('#uploadForm').serialize()
可以对 form 表单进行序列化,从而将 form 表单中的所有参数传递到服务端。
但是上述方式,只能传递一般的参数,上传文件的文件流是无法被序列化并传递的。不过如今主流浏览器都开始支持一个叫做 FormData
的对象,有了这个对象就可以轻松地使用 Ajax 方式进行文件上传了。
java public static boolean judgeIP(JTextField ipText, JFrame jf) {
String ipAddress = ipText.getText();
String[] ip = ipAddress.split("\\.");
if (ip.length != 4) {
return false;
}
for (int i = 0; i < 4; i++)
{
int dress = 0;
try
{
dress = Integer.parseInt(ip[i]);
}
catch (NumberFormatException e1)
{
return false;
}
if ((dress >= 0) && (dress <= 255))
{
if (i == 3)
{
System.out.println("IP地址【" + ipAddress + "】合法");
return true;
}
}
else {
return false;
}
}
return false;
}
clear
都不行,执行main
方法也不行。bash# 指定最大内存512m,后台启动,指定日志输出到 ./log/server.log 文件内
nohup java -Xmx512m -jar /app/application.jar >./log/server.log 2>&1 &
常用参数:
Xmx<size>
:设置JVM堆内存的最大值。Xms<size>
:设置JVM堆内存的初始值。D<name>=<value>
:设置系统属性。classpath <class_path>
:指定类路径。verbose[:class|gc|jni]
:打印详细的日志信息。Djava.library.path=<path>
:设置本地库的路径。XX:+UseG1GC
:启用G1垃圾回收器。XX:MaxGCPauseMillis=<pause_time>
:设置最大垃圾回收停顿时间。XX:+PrintGCDetails
:打印GC的详细信息。bashjava -jar /app/application.jar