当前位置:   article > 正文

java se小结_managementfactory.getruntimemxbean().getname()

managementfactory.getruntimemxbean().getname()

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的时候,最好使用下面的方式:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/372216?site
推荐阅读
相关标签
  

闽ICP备14008679号