docker安装tomcat,以及常用操作

2023-11-04

1、安装tomcat镜像

访问docker hub仓库找出你想安装的版本:docker hub
网址:https://registry.hub.docker.com/

在这里插入图片描述
直接在搜索框里搜tomcat就可以,如果想把自己镜像放到上边就自己注册一个账号
在这里插入图片描述

选择tomcat在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这里先看下啥镜像都没有,容器也没有。

[root@wangazure ~]# docker images   #查看所有镜像
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
[root@wangazure ~]# docker ps 		#查看所有容器
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@wangazure ~]# 

把复制官网上的命令贴在这等着就好了

[root@wangazure ~]# docker pull tomcat:8.0 		#拉取tomcat镜像
8.0: Pulling from library/tomcat
f189db1b88b3: Pull complete 
3d06cf2f1b5e: Pull complete 
edd0da9e3091: Pull complete 
eb7768aae14e: Pull complete 
e2780f585e0f: Pull complete 
e5ed720afeba: Pull complete 
d9e134700cfc: Pull complete 
e4804b33d02a: Pull complete 
b9df0c24315e: Pull complete 
49fdae8eaa20: Pull complete 
1aea3d9a32e6: Pull complete 
Digest: sha256:8ecb10948deb32c34aeadf7bf95d12a93fbd3527911fa629c1a3e7823b89ce6f
Status: Downloaded newer image for tomcat:8.0
docker.io/library/tomcat:8.0
[root@wangazure ~]# 

再看一下docker里的镜像,这里就有了tomcat镜像

[root@wangazure ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
tomcat       8.0       ef6a7c98d192   3 years ago   356MB
[root@wangazure ~]# 

2、运行tomcat镜像

在这里插入图片描述
在这里插入图片描述

这里的 -p 8080:8080 的意思就是把容器的端口号8080映射到linux系统里的8080端口这里的两个端口8080前边的是linux里的端口号,后边的是运行的tomcat里的端口,外边也就是linux里的端口号可以随便换的,而容器里的是不能换的。
这里的 -d 的意思是后台运行
这里 --name 是给容器起一个别名

[root@wangazure ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
tomcat       8.0       ef6a7c98d192   3 years ago   356MB
[root@wangazure ~]# docker run -p 8080:8080 -d --name tomcat01 tomcat:8.0
643b0adcfd17b23b918aba02d4a6a39bc51f5e9968b2d22d9419137fccda6dff
[root@wangazure ~]# 

再次查看docker里的容器

[root@wangazure ~]# docker ps
CONTAINER ID   IMAGE        COMMAND             CREATED         STATUS         PORTS                                       NAMES
643b0adcfd17   tomcat:8.0   "catalina.sh run"   6 minutes ago   Up 6 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat01
[root@wangazure ~]# 

这里去访问浏览器8080端口就可以看见tom猫了,版本也是8.0的(如果用的阿里云的服务器注意要开放8080端口再访问)

在这里插入图片描述

3、开多个端口给tomcat

这里我又开放了一个8082的作为tomcat,名字为tomcat02,注意:这里的名字(tomcat02)和Linux端口不能和上边的名字(tomcat01)一样!

[root@wangazure ~]# docker ps
CONTAINER ID   IMAGE        COMMAND             CREATED         STATUS         PORTS                                       NAMES
643b0adcfd17   tomcat:8.0   "catalina.sh run"   6 minutes ago   Up 6 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat01
[root@wangazure ~]# docker run -p 8082:8080 -d --name tomcat02 tomcat:8.0
1adf1a9b21a145c5e5d732170260f1f85f2edc38eef38ea1e1a91f791f78a26c
[root@wangazure ~]# docker ps
CONTAINER ID   IMAGE        COMMAND             CREATED         STATUS         PORTS                                       NAMES
1adf1a9b21a1   tomcat:8.0   "catalina.sh run"   2 minutes ago   Up 2 minutes   0.0.0.0:8082->8080/tcp, :::8082->8080/tcp   tomcat02
643b0adcfd17   tomcat:8.0   "catalina.sh run"   9 minutes ago   Up 9 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat01
[root@wangazure ~]# 

上浏览器访问8082,又见tomcat猫了
在这里插入图片描述

4、tomcat容器的操作

  1. 关闭容器
[root@wangazure ~]# docker ps
CONTAINER ID   IMAGE        COMMAND             CREATED         STATUS         PORTS                                       NAMES
1adf1a9b21a1   tomcat:8.0   "catalina.sh run"   2 minutes ago   Up 2 minutes   0.0.0.0:8082->8080/tcp, :::8082->8080/tcp   tomcat02
643b0adcfd17   tomcat:8.0   "catalina.sh run"   9 minutes ago   Up 9 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat01
[root@wangazure ~]# docker stop 1adf1a9b21a1 #这里写容器的id或者写NAMES里的名字都行(关闭的是8082的tomcat)
1adf1a9b21a1
[root@wangazure ~]# 

再次查看容器,就只剩一个8080端口的了

[root@wangazure ~]# docker ps
CONTAINER ID   IMAGE        COMMAND             CREATED          STATUS          PORTS                                       NAMES
643b0adcfd17   tomcat:8.0   "catalina.sh run"   15 minutes ago   Up 15 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat01
[root@wangazure ~]# 

  1. 启动关闭的容器
[root@wangazure ~]# docker start tomcat02
tomcat02
[root@wangazure ~]# docker ps
CONTAINER ID   IMAGE        COMMAND             CREATED          STATUS          PORTS                                       NAMES
1adf1a9b21a1   tomcat:8.0   "catalina.sh run"   11 minutes ago   Up 1 second     0.0.0.0:8082->8080/tcp, :::8082->8080/tcp   tomcat02
643b0adcfd17   tomcat:8.0   "catalina.sh run"   18 minutes ago   Up 18 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat01
[root@wangazure ~]# 
  1. 暂停容器
    暂停之后这里的STATUS会显示Up About a minute (Paused)表示已暂停,你访问8082也访问不到。
[root@wangazure ~]# docker pause tomcat02
tomcat02
[root@wangazure ~]# docker ps
CONTAINER ID   IMAGE        COMMAND             CREATED          STATUS                       PORTS                                       NAMES
1adf1a9b21a1   tomcat:8.0   "catalina.sh run"   12 minutes ago   Up About a minute (Paused)   0.0.0.0:8082->8080/tcp, :::8082->8080/tcp   tomcat02
643b0adcfd17   tomcat:8.0   "catalina.sh run"   19 minutes ago   Up 19 minutes                0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat01
[root@wangazure ~]# 

  1. 恢复容器

恢复之后Up About a minute (Paused)就消失了,8082也能访问了。

[root@wangazure ~]# docker unpause tomcat02
tomcat02
[root@wangazure ~]# docker ps
CONTAINER ID   IMAGE        COMMAND             CREATED          STATUS          PORTS                                       NAMES
1adf1a9b21a1   tomcat:8.0   "catalina.sh run"   14 minutes ago   Up 3 minutes    0.0.0.0:8082->8080/tcp, :::8082->8080/tcp   tomcat02
643b0adcfd17   tomcat:8.0   "catalina.sh run"   21 minutes ago   Up 21 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat01
[root@wangazure ~]# 
  1. 杀死容器
[root@wangazure ~]# docker  ps
CONTAINER ID   IMAGE        COMMAND             CREATED          STATUS          PORTS                                       NAMES
1adf1a9b21a1   tomcat:8.0   "catalina.sh run"   17 minutes ago   Up 5 minutes    0.0.0.0:8082->8080/tcp, :::8082->8080/tcp   tomcat02
643b0adcfd17   tomcat:8.0   "catalina.sh run"   23 minutes ago   Up 23 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat01
[root@wangazure ~]# docker kill tomcat02
tomcat02
[root@wangazure ~]# docker  ps
CONTAINER ID   IMAGE        COMMAND             CREATED          STATUS          PORTS                                       NAMES
643b0adcfd17   tomcat:8.0   "catalina.sh run"   26 minutes ago   Up 26 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat01
[root@wangazure ~]# 
  1. 删除容器

rm如果不行就加-f

[root@wangazure ~]# docker  ps
CONTAINER ID   IMAGE        COMMAND             CREATED          STATUS          PORTS                                       NAMES
1adf1a9b21a1   tomcat:8.0   "catalina.sh run"   20 minutes ago   Up 2 seconds    0.0.0.0:8082->8080/tcp, :::8082->8080/tcp   tomcat02
643b0adcfd17   tomcat:8.0   "catalina.sh run"   27 minutes ago   Up 27 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat01
[root@wangazure ~]# docker rm tomcat02
Error response from daemon: You cannot remove a running container 1adf1a9b21a145c5e5d732170260f1f85f2edc38eef38ea1e1a91f791f78a26c. Stop the container before attempting removal or force remove
[root@wangazure ~]# docker  ps
CONTAINER ID   IMAGE        COMMAND             CREATED          STATUS          PORTS                                       NAMES
1adf1a9b21a1   tomcat:8.0   "catalina.sh run"   20 minutes ago   Up 26 seconds   0.0.0.0:8082->8080/tcp, :::8082->8080/tcp   tomcat02
643b0adcfd17   tomcat:8.0   "catalina.sh run"   27 minutes ago   Up 27 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat01
[root@wangazure ~]# docker rm -f tomcat02
tomcat02
[root@wangazure ~]# docker  ps
CONTAINER ID   IMAGE        COMMAND             CREATED          STATUS          PORTS                                       NAMES
643b0adcfd17   tomcat:8.0   "catalina.sh run"   27 minutes ago   Up 27 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat01
[root@wangazure ~]# 

  1. 删除所有的容器
[root@wangazure ~]# docker ps
CONTAINER ID   IMAGE        COMMAND             CREATED          STATUS          PORTS                                       NAMES
fec4dc60a4e3   tomcat:8.0   "catalina.sh run"   6 seconds ago    Up 6 seconds    0.0.0.0:8082->8080/tcp, :::8082->8080/tcp   tomcat02
643b0adcfd17   tomcat:8.0   "catalina.sh run"   29 minutes ago   Up 29 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat01
[root@wangazure ~]# docker rm -f $(docker ps -aq)
fec4dc60a4e3
643b0adcfd17
[root@wangazure ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@wangazure ~]# 
  1. 查看容器运行的日志
[root@wangazure ~]# docker ps
CONTAINER ID   IMAGE        COMMAND             CREATED              STATUS              PORTS                                       NAMES
2fa97418e5df   tomcat:8.0   "catalina.sh run"   About a minute ago   Up About a minute   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat02
[root@wangazure ~]# docker logs tomcat02
22-Jan-2022 09:19:30.773 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.0.53
22-Jan-2022 09:19:30.774 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Jun 29 2018 14:42:45 UTC
22-Jan-2022 09:19:30.774 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.0.53.0
22-Jan-2022 09:19:30.775 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
22-Jan-2022 09:19:30.775 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            3.10.0-1160.49.1.el7.x86_64
22-Jan-2022 09:19:30.775 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
22-Jan-2022 09:19:30.775 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/lib/jvm/java-7-openjdk-amd64/jre
22-Jan-2022 09:19:30.775 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.7.0_181-b01
22-Jan-2022 09:19:30.775 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
22-Jan-2022 09:19:30.775 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /usr/local/tomcat
22-Jan-2022 09:19:30.775 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /usr/local/tomcat
22-Jan-2022 09:19:30.775 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
22-Jan-2022 09:19:30.775 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
22-Jan-2022 09:19:30.776 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
22-Jan-2022 09:19:30.776 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
22-Jan-2022 09:19:30.776 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
22-Jan-2022 09:19:30.776 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat
22-Jan-2022 09:19:30.776 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat
22-Jan-2022 09:19:30.776 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
22-Jan-2022 09:19:30.776 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library 1.2.17 using APR version 1.5.1.
22-Jan-2022 09:19:30.776 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
22-Jan-2022 09:19:30.781 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.1.0f  25 May 2017)
22-Jan-2022 09:19:31.057 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-apr-8080"]
22-Jan-2022 09:19:31.123 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-apr-8009"]
22-Jan-2022 09:19:31.128 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 1225 ms
22-Jan-2022 09:19:31.222 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
22-Jan-2022 09:19:31.223 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.53
22-Jan-2022 09:19:31.269 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/examples
22-Jan-2022 09:19:32.965 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/examples has finished in 1,695 ms
22-Jan-2022 09:19:32.965 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/host-manager
22-Jan-2022 09:19:33.065 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/host-manager has finished in 100 ms
22-Jan-2022 09:19:33.066 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/manager
22-Jan-2022 09:19:33.164 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/manager has finished in 98 ms
22-Jan-2022 09:19:33.164 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/docs
22-Jan-2022 09:19:33.288 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/docs has finished in 123 ms
22-Jan-2022 09:19:33.288 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/ROOT
22-Jan-2022 09:19:33.375 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/ROOT has finished in 86 ms
22-Jan-2022 09:19:33.381 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8080"]
22-Jan-2022 09:19:33.500 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-apr-8009"]
22-Jan-2022 09:19:33.504 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 2376 ms
[root@wangazure ~]# 

也可以用docker logs -f id/name(容器的id或名字),用这个命令之后就进去了,想出来就按CTRL+C
在这里插入图片描述

  1. 进入容器内部

之后就可以到容器里了,镜像是不能动的,容器是可以进去的

[root@wangazure ~]# docker run -p 8080:8080 -d --name tomcat01 tomcat:8.0 #开启tomcat01
91ff3bca3aeed284f91326fb09eca09636224bce7055e0691dadf603551461be
[root@wangazure ~]# docker ps
CONTAINER ID   IMAGE        COMMAND             CREATED         STATUS         PORTS                                       NAMES
91ff3bca3aee   tomcat:8.0   "catalina.sh run"   5 seconds ago   Up 3 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat01
[root@wangazure ~]# docker exec -it tomcat01 bash #-it进入交互模式最后记得加bash
root@91ff3bca3aee:/usr/local/tomcat# 

在这里插入图片描述
退出容器

root@91ff3bca3aee:/usr/local/tomcat# exit
exit
[root@wangazure ~]# 

  1. 容器与宿主机文件相互复制拷贝

用vi命令建一个test.html

[root@wangazure ~]# vi test.html #建一个test.html
[root@wangazure ~]# cat test.html #查看test.html
<html>
<body>
hello,docker!!!
</body>
</html>
[root@wangazure ~]# 

CP命令

[root@wangazure ~]# docker cp test.html tomcat01:/usr/local/tomcat/webapps #复制到webapps里
[root@wangazure ~]# docker exec -it tomcat01 bash #进入到容器里
root@91ff3bca3aee:/usr/local/tomcat# ls
LICENSE  NOTICE  RELEASE-NOTES	RUNNING.txt  bin  conf	include  lib  logs  native-jni-lib  temp  webapps  work
root@91ff3bca3aee:/usr/local/tomcat# cd webapps/
root@91ff3bca3aee:/usr/local/tomcat/webapps# ls
ROOT  docs  examples  host-manager  manager  test.html
root@91ff3bca3aee:/usr/local/tomcat/webapps# mkdir test #创建test文件
root@91ff3bca3aee:/usr/local/tomcat/webapps# cp test.html test #把test.html复制到test文件夹里
root@91ff3bca3aee:/usr/local/tomcat/webapps# cd test
root@91ff3bca3aee:/usr/local/tomcat/webapps/test# ls
test.html
root@91ff3bca3aee:/usr/local/tomcat/webapps/test# 

在这里插入图片描述

如果想把容器里的东西复制出来,那就把两个地址一换就好了

[root@wangazure ~]# ls
install.sh
[root@wangazure ~]# docker cp tomcat01:/usr/local/tomcat/webapps/examples /root
[root@wangazure ~]# ls
examples  install.sh
[root@wangazure ~]# cd examples/
[root@wangazure examples]# ls
index.html  jsp  servlets  WEB-INF  websocket
[root@wangazure examples]# 

5、查看所有容器

[root@wangazure ~]# docker  ps
CONTAINER ID   IMAGE        COMMAND             CREATED          STATUS          PORTS                                       NAMES
1adf1a9b21a1   tomcat:8.0   "catalina.sh run"   17 minutes ago   Up 5 minutes    0.0.0.0:8082->8080/tcp, :::8082->8080/tcp   tomcat02
643b0adcfd17   tomcat:8.0   "catalina.sh run"   23 minutes ago   Up 23 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat01
[root@wangazure ~]# docker ps -aq
1adf1a9b21a1
643b0adcfd17
[root@wangazure ~]# docker ps -qa
1adf1a9b21a1
643b0adcfd17
[root@wangazure ~]# docker ps -a
CONTAINER ID   IMAGE        COMMAND             CREATED          STATUS          PORTS                                       NAMES
1adf1a9b21a1   tomcat:8.0   "catalina.sh run"   16 minutes ago   Up 4 minutes    0.0.0.0:8082->8080/tcp, :::8082->8080/tcp   tomcat02
643b0adcfd17   tomcat:8.0   "catalina.sh run"   22 minutes ago   Up 22 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   tomcat01
[root@wangazure ~]# 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker安装tomcat,以及常用操作 的相关文章

  • 查找所有数组的长度多维数组,Java

    我想使用多维数组来存储数据网格 但是 我还没有找到一种简单的方法来查找长度2nd数组的一部分 例如 boolean array new boolean 3 5 System out println array length 只会输出3 是否
  • AMQP Spring 集成错误处理

    我的集成流程如下所示 Bean public IntegrationFlow auditFlow Qualifier eventLoggingConnectionFactory ConnectionFactory connectionFac
  • NIO 直接缓冲区何时以及如何被释放?

    我有一个 C 库 需要一个临时缓冲区作为暂存空间 我正在考虑将直接字节缓冲区的地址传递给它 在最终释放缓冲区之前 是否允许虚拟机重新定位缓冲区 JNI 框架消失后 本机库将保留该指针 我的理解是 JNI 本地对象引用无法缓存 因为 VM 可
  • Java 表达式树 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有相当于 net的 LINQ 下的表达式树JVM 我想实现一些类似 LINQ 的代码结构Scala
  • Eclipse 无法识别 persistence.xml 的内容

    我在 eclipse 中收到以下错误 persistence xml 文件没有可识别的内容 我的 persistence xml 文件在我的应用程序中工作得很好 但 eclipse 一直给我这个错误 我在移动文件并使用 m2eclipse
  • Java - 调整图像大小而不损失质量

    我有 10 000 张照片需要调整大小 因此我有一个 Java 程序来执行此操作 不幸的是 图像的质量损失很大 而且我无法访问未压缩的图像 import java awt Graphics import java awt AlphaComp
  • 为什么当达到 InitiatingHeapOccupancyPercent 时 G1 不开始标记周期?

    根据文档 http www oracle com technetwork articles java g1gc 1984535 html XX InitiatingHeapOccupancyPercent 设置触发标记周期的Java堆占用阈
  • 为什么不自动装箱泛型的 Java 基本类型?

    Java 不允许在通用数据结构中使用原始类型 例如 不允许使用 ArrayList 原因是 原始类型不能直接转换为Object 然而 Java 1 5 确实支持自动装箱 并且包装类在通用数据结构中工作 那么为什么编译器不能将其自动装箱到 A
  • 在 libgdx 中渲染 box2d

    我有一个使用 FitViewport 的大小为 800x480 的游戏世界 并且最初使用像素渲染 box2d 实体 固定装置 因此所有物理效果都显得浮动且缓慢 查看文档后 我意识到 box2d 使用度量单位 因此我将 box2d 位置和大小
  • SSLContext 初始化

    我正在看JSSE参考指南 我需要获取一个实例SSLContext为了创建一个SSLEngine 所以我可以使用它Netty以启用安全性 获取实例SSLContext I use SSLContext getInstance 我看到该方法被重
  • 如何在 Java 中使用 HTML 解析器和 Apache Tika 来提取所有 HTML 标签?

    我下载了 tika core 和 tika parser 库 但找不到将 HTML 文档解析为字符串的示例代码 我必须删除网页源的所有 html 标签 我能做些什么 如何使用 Apache Tika 进行编码 您想要 html 文件的纯文本
  • 如何在 QueryDSL 中选择文字

    我目前正在开发一个使用 queryDSL 和 hibernate 的项目 其中它需要一个选择文字 按照发布的示例here https stackoverflow com questions 18691317 querydsl how to
  • 在 java 8 下使用泛型出现类型错误,但在 java 7 下则不然

    我有一段代码可以在 java 7 下编译良好 但不能在 java 8 下编译 这是一个独立的重现示例 我已经采用了显示此问题的真实代码并删除了所有实现 import java util Iterator class ASTNode
  • Java ArrayList 和 HashMap 动态

    有人可以提供一个创建Java的例子吗ArrayList and HashMap在飞行中 所以而不是做一个add or put 实际上在类实例化时为数组 哈希提供种子数据 举个例子 类似于 PHP 的例子 array array 3 1 2
  • 为什么replaceAll在这行代码中不起作用? [复制]

    这个问题在这里已经有答案了 String weatherLocation weatherLoc 1 toString weatherLocation replaceAll how weatherLocation replaceAll wea
  • 按钮悬停和按下效果 CSS Javafx

    我是 CSS 新手 为按钮定义了以下 CSS 样式 其中id并且应用了自定义样式 但不应用悬停和按下效果 bevel grey fx background color linear gradient f2f2f2 d6d6d6 linear
  • 如何从 Sublime Text 编辑器调试 Java 应用程序

    有时我正在对相当大的 Java 应用程序进行简单的修复 但我不想打开 Eclipse 来执行此任务 Eclipse 启动时间很长 并且由于该项目是由大量子项目构建的 而这些子项目无论如何都是由 Maven 构建的 因此需要很长时间才能使用
  • Eclipse 如何创建一个未解决编译问题的类?

    当我尝试使用 javac 编译此类时 出现编译错误并且未创建 Test class public class Test public static void main String args int x 1L lt this cannot
  • java mysql 准备好的语句

    我正在尝试使用 java 向数据库中进行简单的插入 它告诉我我的 sql 语法已关闭 但是 当我复制打印出来的字符串并将其放入 phpmyadmin 中的 sql 命令中时 它会正确执行该命令 并且我似乎无法弄清楚 java 中的字符串查询
  • Android Webview:无法调用确定的可见性() - 从未见过 pid 的连接

    我有一个 Android Webview 当我单击链接下载文件 pdf 图像等 时 我收到一条错误消息 Error message Cannot call determinedVisibility never saw a connectio

随机推荐

  • java创建一个可自由增长空数组_java集合框架(四)-ArrayList

    一 List接口的实现类ArrayList 数据结构 数组结构 数据结构 数组结构 有序 允许空元素 允许重复元素 查询快 增删慢 不指定容量 则初始容量为10 扩容机制 一般是旧容量的1 5倍 不同步 java util ArrayLis
  • 剑指 Offer 54. 二叉搜索树的第k大节点 思路及心得

    解题思路来自评论区的大佬 Definition for a binary tree node public class TreeNode int val TreeNode left TreeNode right TreeNode int x
  • 第2章-爬虫请求模块

    第2章 爬虫请求模块 一 urllib request模块 1 urlretrieve 2 urlopen 3 Request 二 urllib parse模块 1 urlencode 2 quote 三 urllib请求方式举例 1 GE
  • CNN提取图片特征,之后用SVM分类

    https blog csdn net qq 27756361 article details 80479278 先用CNN提取特征 之后用SVM分类 平台是TensorFlow 1 3 0 rc0 python3 6 这个是我的一个小小的
  • SpringBoot线程池使用详解

    前提摘要 基于Springboot 2 1 4 RELEASE 配置TaskExecutor import java util concurrent ThreadPoolExecutor import org springframework
  • c++实现串口通讯踩坑(argument of type “char *“ is incompatible with parameter of type “LPCWSTR“)

    在C下 可以使用outportb和inportb进行串口通讯 C 没有这两个函数 那就使用createfile吧 通过网上搜到读取打开串口的例子 如下 include
  • 初探Spring Data Elasticsearch

    个人博客 dogbin vip Spring Data Elasticsearch 介绍 Spring Data Elasticsearch 基于 spring data API 简化 Elasticsearch 操作 将原始操作 Elas
  • Steam游戏《TownScaper》技术分析!

    TownScaper是今年6月份上线Steam的建造类游戏 不过它的作者已经在twitter做了一年多的游戏开发日志 结合2019年欧洲独立游戏大会的一场演讲 EPC2018一场演讲 输出一下这个游戏的技术要点 首先作者从业经验非常令人羡慕
  • 计算阶乘的两种实现方式(Java)

    本文以计算5的阶乘为例 5 5 4 3 2 1 120 一 循环阶乘 1 While循环 public class TestWhileFactorial public static void main String args int res
  • 数字图像处理:局部直方图处理(Local Histogram Processing)

    前往老猿Python博文目录 https blog csdn net LaoYuanPython 一 引言 在前面章节 数字图像处理 直方图均衡学习总结 感悟 数字图像直方图匹配或规定化Histogram Matching Specific
  • 【C++】struct VS class

    文章目录 面向过程 面向对象 C 的struct和class 1 和C的struct的小差异 2 访问权限符 3 类的大小 类的存储 4 成员函数如何区分对象 5 struct和class的区别 6 this指针的两个面试题 一 this存
  • CMake 学习笔记(target_compile_features())

    CMake 学习笔记 target compile features 这一篇博客讲一讲target compile features 这条命令时 CMake 3 1 引入的 在这个之前 如果我们要设置C 编译开启 C 11 的支持 需要用如
  • SourceInsight修改暗灰色护眼主题(模仿vscode和sublime text的风格)

    SourceInsight护眼主题 仿vscode和sublime text 一 仿vscode 二 仿sublime text 三 自己动手 丰衣足食 1 载入主题 2 自制或修改主题 一 仿vscode 效果图 主题文件下载链接 htt
  • 配置MQTT

    MQTT 文章目录 MQTT 快速上手 源码安装mosquitto 配置Broker SDK调用接口 Python NodeJs WebJs Java C 快速上手 安装Broker服务 apt install mosquitto mosq
  • 泊松分布与泊松回归模型

    泊松分布 Poisson分布 法语 loi de Poisson 英语 Poisson distribution 译名有泊松分布 普阿松分布 卜瓦松分布 布瓦松分布 布阿松分布 波以松分布 卜氏分配等 是一种统计与概率学里常见到的离散概率分
  • Go 语言面试题(二):实现原理

    文章目录 Q1 init 函数是什么时候执行的 Q2 Go 语言的局部变量分配在栈上还是堆上 Q3 2 个 interface 可以比较吗 Q4 两个 nil 可能不相等吗 Q5 简述 Go 语言GC 垃圾回收 的工作原理 Q6 函数返回局
  • Android RxJava:功能性操作符 全面讲解

    前言 Rxjava 由于其基于事件流的链式调用 逻辑简洁 使用简单的特点 深受各大 Android开发者的欢迎 Github截图 如果还不了解 RxJava 请看文章 Android 这是一篇 清晰 易懂的Rxjava 入门教程 RxJav
  • Python特点及优势

    Python介绍 Python由荷兰数学和计算机科学研究学会的吉多 范罗苏姆 于1990 年代初设计 作为一门叫做ABC语言的替代品 Python提供了高效的高级数据结构 还能简单有效地面向对象编程 Python语法和动态类型 以及解释型语
  • [远程办公] 通过阿里云反向代理实现内网穿透

    准备工作 购买一台阿里云服务器 新用户第一个月免费 由于仅作数据转发用 配置要求不高 除了传输带宽外 其余配置选最低的就行 内网主机 生成ssh密匙 ssh keygen 与远程主机建立免密登录ssh copy id root ip 安装依
  • docker安装tomcat,以及常用操作

    1 安装tomcat镜像 访问docker hub仓库找出你想安装的版本 docker hub 网址 https registry hub docker com 直接在搜索框里搜tomcat就可以 如果想把自己镜像放到上边就自己注册一个账号