小编use*_*592的帖子

Java JVM概要分析,线程状态 - "监控"状态意味着什么?

在此输入图像描述

我使用visualVM连接多线程Java应用程序,线程有4个状态,即运行,休眠,等待,监视.这种监控状态意味着什么?等待和监视器有什么区别?

java multithreading jvm

78
推荐指数
3
解决办法
3万
查看次数

是什么让参考比较(==)适用于Java中的某些字符串?

我有以下代码行来比较String.str1不等于str2,这是可以理解的,因为它比较了对象引用.但那么为什么s1等于s2?

String s1 = "abc";
String s2 = "abc";

String str1 = new String("abc");
String str2 = new String("abc");

if (s1==s2)
    System.out.println("s1==s2");           
else
    System.out.println("s1!=s2");

if (str1==str2)
    System.out.println("str1==str2");           
else
    System.out.println("str1!=str2");

if (s1==str1)
    System.out.println("str1==s1");         
else
    System.out.println("str1!=s1");
Run Code Online (Sandbox Code Playgroud)

输出:

  s1==s2
  str1!=str2
  str1!=s1 
Run Code Online (Sandbox Code Playgroud)

java string equals

60
推荐指数
6
解决办法
1万
查看次数

使用Maven,如何运行特定测试?

我的项目中有成千上万的单元测试,我想从命令行中选择一个或几个单元测试.这样做的命令是什么?

unit-testing maven

51
推荐指数
2
解决办法
5万
查看次数

收集Linux命令输出

我现在在linux机器上.我有这将运行一些Linux命令,例如Java程序ps,top,listfree -m.

在Java中运行命令的方法如下:

Process p = Runtime.getRuntime().exec("free -m");
Run Code Online (Sandbox Code Playgroud)

我如何通过Java程序收集输出?我需要处理输出中的数据.

java linux process

12
推荐指数
2
解决办法
2万
查看次数

Java:时区为什么不同的时区以毫秒为单位给出相同的值

我有以下代码,我的目标是以GMT+0毫秒为单位返回时间.但为什么我总是得到我当地的时区millisec?

Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
Calendar cal2 = Calendar.getInstance();
System.out.println("Time zone id is:"+cal.getTimeZone().getID()+";time in millisec:"+cal.getTimeInMillis());
System.out.println("Time zone id is:"+cal2.getTimeZone().getID()+";time in millisec:"+cal2.getTimeInMillis());
Run Code Online (Sandbox Code Playgroud)

输出
为时区ID为:GMT;以毫秒为单位的1332740915154
时间:时区ID为:Europe/Helsinki;以毫秒为单位的时间:1332740915154

为什么不同的时区以毫秒为单位给出SAME值?
我想如果是,GMT+0那么它应该是毫秒与本地时区的不同值.

java

12
推荐指数
2
解决办法
1万
查看次数

并发HashMap:检查大小

并发Hashmap可以解决在hashmap中看到的同步问题.因此,如果我们使用hashmap同步键工作,添加和删除会很快.如果mulitple线程检查concurrentHashMap大小,那么检查hashmap大小呢?我们还需要同步关键词:如下所示:

public static synchronized getSize(){
     return aConcurrentHashmap.size();
}  
Run Code Online (Sandbox Code Playgroud)

java concurrency concurrenthashmap

8
推荐指数
1
解决办法
6076
查看次数

Java:Memory Analyzer Tool(MAT)用法:比较两个heapdump

我正在使用Eclipse + MAT插件.我可以看到一个.hprof文件堆历史记录,我拿了两个我的Java应用程序的快照.我希望当我比较两个堆转储时,我可以确定哪些对象实例增加了很多,以便我可以识别内存泄漏的可能性.

netbean能做到吗?

java profiling

8
推荐指数
2
解决办法
2685
查看次数

线程号和Java应用程序性能

嗨:我有一个多线程Java应用程序.目前的线程大小已经是100.我们目前正在使用4核CPU.但正如人们在不久的将来看到的那样,CPU内核将增加一倍,甚至达到32个内核.为了充分利用核心,我们需要增加线程池大小.但是你可能知道(也许我错了),当有100个线程时Java很好,但是当线程是200,500,1000个线程时可能存在性能问题.然后我们应该使用其他编程语言,例如scala.我的担心合理吗?

java performance multithreading scala

6
推荐指数
2
解决办法
2772
查看次数

chgrp 和 chown 中的 1000 是什么意思?

我正在阅读一篇博客,将 EFK(日志系统)集成到 centos 7.4 中的 k8s 中。有以下说明:

# mkdir ~/es_data
# chmod g+rwx es_data
# chgrp 1000 es_data
# chown 1000 -R es_data

# ls -l /root/es_data/
total 8
drwxrwxr-x 2 1000 1000 4096 Jun  8 09:50 ./
drwx------ 8 root root 4096 Jun  8 09:50 ../
Run Code Online (Sandbox Code Playgroud)

我以 root 身份登录。说明说,如果我执行 chgrp 1000 es_data 和 chown 1000 -R es_data,则导演的所有者和组将为 1000。但是当我按照说明操作时:

我看到以下内容:

 drwxr-xr-x.  2 master16g master16g    6 Jul 11 15:27 es_data
Run Code Online (Sandbox Code Playgroud)

所有者和组显示为计算机主机名master16g

有人能给我提示一下这里发生了什么吗chgrp 1000 and chown 1000

centos kubernetes

6
推荐指数
1
解决办法
3万
查看次数

Kubernetes?k8s 如何制作服务 url?

我正在学习k8s。我的问题是如何让k8s像minikube命令“minikube get service xxx --url”那样获取服务url呢?为什么我问是因为当 pod 关闭并再次启动/创建/启动时,不需要通过访问服务 url 来更改 url。当我将 pod 部署为 NodePort 时,我可以使用主机 IP 和端口访问 pod,但是如果重新启动/再次创建它,端口会发生变化。

我的情况如下图所示:我有

one master(172.16.100.91) and 
one node(hostname node3, 172.16.100.96) 
Run Code Online (Sandbox Code Playgroud)

我创建如下 pod 和服务,hellocomm 部署为 NodePort,helloext 部署为 ClusterIP。hellocomm 和 helloext 都是 spring boot hello world 应用程序。

docker build -t jshenmaster2/hellocomm:0.0.2 .
kubectl run hellocomm --image=jshenmaster2/hellocomm:0.0.2 --port=8080
kubectl expose deployment hellocomm --type NodePort

docker build -t jshenmaster2/helloext:0.0.1 .
kubectl run helloext --image=jshenmaster2/helloext:0.0.1 --port=8080
kubectl expose deployment helloext --type ClusterIP


[root@master2 shell]# kubectl get service -o wide
NAME …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-ingress

5
推荐指数
1
解决办法
8548
查看次数