详解Java中Duration类的使用方法

Duration类通过秒和纳秒相结合来描述一个时间量,最高精度是纳秒。本文将通过示例详细为大家讲讲Duration类的使用,需要的可以参考一下

2023年3月25日 21:04
640
0
JAVA将STRING拆分为数组

我需要split()方法的帮助。 我有以下String : String values = "0|0|0|1|||0|1|0|||"; 我需要把值放入一个数组中。 有3个可能的string:“0”,“1”和“” 我的问题是,当我尝试使用split() : String[] array = values.split("\\|"); 我的值只保存到最后0.看起来像部分“|||” 被修剪。 我究竟做错了什么? 谢谢 这种行为在String.split(String regex) (强调我的)中明确logging: 此方法的工作原理与通过调用给定expression式和极限参数为零的双参数拆分方法一样。 尾随的空string因此不包括在结果数组中。 如果你想要包含空尾string,你需要使用String.split

2023年2月23日 23:37
602
0
IDEA|报错org.apache.catalina.core.StandardContext.startInternal One or more listeners

IDEA|报错org.apache.catalina.core.StandardContext.startInternal One or more listeners 主要是记录思路,因为上网看并尝试了一些解决方案,但是并没有解决问题,但是找到了解决问题的方法。 终端报错内容如下: 这个时候可以打开tomcat localhost log,并且找到原因,如下图: 就可以根据这个问题去搜索解决办法啦。我是因为导入项目的时候,没有将src和resources文件夹设置为Source文件夹和Resources文件夹,所以出现找不到的错误。 本文由知识社区小编精心整理

2022年5月1日 16:12
985
0
RxJava2最全面、最详细的讲解(一)

一、概述 提高开发效果,降低维护成本一直是团队追求的宗旨。现在安卓里面RxJava2+Retrofit+OKHttp的网络请求框架是最流行的,几乎一统江湖,配合响应式式编程的RxJava使用也越来越多。如果英文比较好而且有兴趣的可以到官网学习:ReactiveX的官方网站。(源码和其他相关链接在文章最后给出) RxJava到底是什么? RxJava在GitHub上《RxJava》的自我介绍是:a library for composing asynchronous and event-based programs using observable sequences for the Java VM.(一个在Java VM 上

2022年1月15日 23:09
1326
0
RxJava线程切换之subscribeOn和observeOn详解

在前面两篇文章中我们主要讲了RxJava在实战开发中的一些应用案例,这些案例都是公司项目中的实战应用,项目在五一的时候已经上线了,通过先入为主的方式直接上案例,然后在结合理论在进行学习,这样我们的理解就会更加的深刻,通过前面两篇文章的介绍,大家已经掌握了RxJava的一些基本使用,这篇文章我们主要介绍RxJava的高级应用: 线程调度。 我们知道,响应式编程是通过异步和数据流来构建事物关系的编程模型,后台处理数据,前台响应数据,而RxJava是响应式编程在Java语言中拓展库,它以观察者模式为核心,通过强大的操作符,对事件中的信息进行操作转换,并可以灵活的实现线程调度的一个框架,随着业务逻辑的越来越复杂,使我们的代码依然保持简洁,正是由于这些优势,深受广大开发者的追捧。 RxJava的最大优势之一是它能够轻松地在各种线程上安排工作和处理结果,我们在实际开发中,一个RxJava调用能不能多次操作observeOn和subscribeOn?observeOn和subscribeOn的先后调用顺序对线程切换有没有影响?Schedulers.io()和Schedulers.newThread()到底有何区别?通过本文的学习这些问题将逐一揭开他们的神秘面纱,避免线程调度中出现的一些常见问题,因为与线程相关的错误非常难以追踪。

2022年2月26日 13:01
1326
0
java命令启动参数-Xms -Xmx的问题

启动命令如下:java -server -Xms128m -Xmx128m -jar xxxx.jar top命令显示如下: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 15332 root 17 0 555m 242m 11m S 0.0 12.1 1:46.95 java 疑问:为什么VIRT和RES大于128m呢?难道-Xms -Xmx没起作用? 解答:这两个参数只是限值Java程序的heap大小,如果你了解heap和stack</

2022年1月3日 17:40
1380
0
java.awt.headless 参数说明

在使用Java处理图形应用时,经常有人推荐设置 -Djava.awt.headless=true,具体含义和效果查了一下,记录在这里分享 Headless模式是系统的一种配置模式。在该模式下,系统缺少了显示设备、键盘或鼠标。 Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务器端程序开发者。因为服务器(如提供Web服务的主机)往往可能缺少前述设备,但又需要使用他们提供的功能,生成相应的数据,以提供给客户端(如浏览器所在的配有相关的显示设备、键盘和鼠标的主机)。 一般是在程序开始激活headless模式,告诉程序,现在你要工作在Headless mode下,就不要指望硬件帮忙了,你得自力更生,依靠系统的计算能力模拟出这些特性来 http://www.webspherechina.net/club/thread-7577-1-8.html http://yugenning.iteye.com/blog/1189019 http://hi.baidu.com/sdy2006/blog/item/59e1bfa12008279e46106474.html

2022年1月2日 10:37
955
0
JAVA_OPTS设置

JAVA_OPTS ,顾名思义,是用来设置JVM相关运行参数的变量。 JVM:JAVA_OPTS="-server -Xms2048m -Xmx2048m -Xss512k" -server:一定要作为第一个参数,在多个CPU时性能佳 -Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些 -Xmx:java heap最大值,使用的最大内存 上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半。 -XX:PermSize:设定内存的永久保存区域 -XX:MaxPermSize:设定最大内存的永久保存区域 -XX:MaxNewSize: -Xss 15120 这使得JBoss每增加一个线程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k. +XX:AggressiveHeap 会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。 -Xss:每个线程的Stack大小 -verbose:gc 现实垃圾收集信息 -Xloggc:gc.log 指定垃圾收集日志文件 -Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一

2022年1月2日 10:34
809
0
java.io.IOException: Server returned HTTP response code: 403 for URL: http://

java.io.IOException: Server returned HTTP response code: 403 for URL: http:// 这个是什么异常呢? 当你使用java程序检索其他网站上的内容时,如果其服务器设置了禁止抓取,或者其访问需要权限, 如果此时你去检索网页那么就会有异常该异常出现. 如果是服务器需要访问权限,比如说你要登录才能访问的网页,那么你抓取不了的. 如果是服务器端禁止抓取,那么这个你可以通过设置User-Agent来欺骗服务器 connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); 什么是User Agent呢? User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。   一些网站常常通过判断 UA 来给不同的操作系统、不同的浏览器发送不同的页面,因此可能造成某些页面无法在某个浏览器中正常显示,但通过伪装 UA 可以绕

2021年12月30日 22:42
1017
0
如何利用测试自动化,实现 DevOps?

DevOps 框架本质上是利用文化,即团队共同的价值观和愿景,来促进业务、运营和开发团队之间的协作,以更快、更有效的方式创建、测试和部署软件。在这个过程中,测试的重要性不言而喻。如果企业要实现快速、一致地交付高质量的软件,那么,就应该在软件生命周期的早期对产品进行测试,以节省成本和时间。有什么比在 DevOps 中实现测试自动化更好的方法来实现这一目标呢? 然而,当我们在实践 DevOps 时,往往会将注意力集中在 CI/CD 管道的关键元素上,比如代码存储库或 CI 服务器,但测试自动化却容易被忽略。尽管它被认为是实现 CI 和 CD 等成果的组成部分或媒介,是不可或缺的一部分。忽略了测试自动化,无疑是与 DevOps 理念背道而驰。 测试自动化能带来什么? 自动化,是为了让各流程保持一致性和可重复性,以消除不必要的人工干预。例如,企业经常会因容量调配、开发和生产环境差异以及复杂的手动编译等原因导致测试阶段不得不放慢速度。如果能够减少测试过程中的人工干预量,那么由人工带来的问题将会大量减少,测试自动化的优势也会进一步显现出来: 更快的测试结果:可以通过在工具上编写测试脚本来实现测试自动化。开发中的代码通过该脚本并检查预期结果。记录任何偏差并调查可能的错误。这比

2021年12月17日 21:41
1023
1