赞
踩
1.java网络编程相关
获取虚拟机PID:
java.lang.management.RuntimeMXBean是Java 虚拟机的运行时系统的管理接口。使用它可以获取正在运行的 Java 虚拟机等信息,包括获取PID。
private static String populateProcessID()
{ /* * runtimeMXBean.getName()取得的值包括两个部分:PID和hostname,两者用@连接。 */
RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
return runtimeMXBean.getName().split("@")[0];
}
获取ip地址:
InetAddress inet = InetAddress.getByName("www.baidu.com"); 17 System.out.println(inet); 18 System.out.println(inet.getHostName()); 19 System.out.println(inet.getHostAddress()); 20 //获取本机信息 21 inet = InetAddress.getLocalHost(); 22 System.out.println(inet); 23 System.out.println(inet.getHostName()); 24 System.out.println(inet.getHostAddress());
2.Json相关(fastjson)
list转json:String str = JSON.toJSONString(students); // List转json
json转list:
方法一:List<Student> students = JSON.parseArray(json,Student.class);
方法二:List<Student> students =
JSON.parseObject(json,new TypeReference<List<Student>>(){}); // Json 转List
ps:list内的对象必须实现序列化。
3.关于string和integer 比较是否相同。
注意:严禁用==比较,使用equals。
非基本变量使用 ==都是在比较地址。
4.关于map修改values。
HashMap<String, student> map = new HashMap<>(); map.put("hh",new student("nyining",99)); student hh = map.get("hh"); // hh.setCount(11); ----② // hh=new student("doudou",77); ----① System.out.println(map.get("hh")); }
①这里,不可以这样,只是改变的引用指向,参考指针。
②这里,是正确的,通过引用直接改变对象的属性。
5. ON DUPLICATE KEY UPDATE
当导入的数据不存在时则进行添加,有修改时则进行更新,
该语句是基于唯一索引或主键使用,添加字段中 无唯一索引或主键 不起作用。
例子:
ON DUPLICATE KEY UPDATE 后面为需要updata的字段。
<insert id="insertOrUpdateCameraInfoByOne" paramerType="com.pojo.AreaInfo"> insert into camera_info( cameraId,zone1Id,zone1Name,zone2Id,zone2Name,zone3Id,zone3Name,zone4Id,zone4Name) VALUES( #{cameraId},#{zone1Id},#{zone1Name} ON DUPLICATE KEY UPDATE cameraId = #{cameraId}, zone1Id = #{zone1Id}, zone2Id = #{zone1Name} </insert>
6.concurrentHashMap
使用get时,get(null)会报错,因为jdk源码会null.hashcode()。
7.自定义线程名
private static final ExecutorService TotalPullPool = Executors.newFixedThreadPool(2, MyThreadFactory.getDefinedNameThreadFactory("TotalPullPool"));
8.使用流处理list转map。
Map<Long, User> maps = userList.stream().collect(Collectors.toMap(User::getId,Function.identity()));
看来还是使用JDK 1.8方便一些。另外,转换成map
的时候,可能出现key
一样的情况,如果不指定一个覆盖规则,上面的代码是会报错的。转成map
的时候,最好使用下面的方式:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。