成都网站的,想建个网站找谁,天元建设集团有限公司赵唐元,wordpress qq头像Java的时间是通过字节码指令来控制的#xff0c;所以 java程序的运行时间是通过字节码指令来控制的。但是由于 Java程序在运行时#xff0c; JVM会产生一些状态#xff0c;所以在执行 JVM指令时#xff0c; JVM也会产生一些状态。 我们在执行 java程序时#xff0c;主要是… Java的时间是通过字节码指令来控制的所以 java程序的运行时间是通过字节码指令来控制的。但是由于 Java程序在运行时 JVM会产生一些状态所以在执行 JVM指令时 JVM也会产生一些状态。 我们在执行 java程序时主要是通过字节码指令来控制 Java程序运行时的状态而 Java程序中的每个字节码指令都是有意义的。其中有一条指令就是获取当前时间。下面我们通过实例来学习一下如何在 Java中通过解析字节码指令获取当前时间 1.获取当前时间 第一步我们需要将 Java程序的运行时状态JVM转换成一个字节码指令也就是需要将当前时间转化成一个二进制的字符串因为字节码指令是有意义的所以我们可以将这个字符串作为 Java程序运行时的一个状态。 第二步我们需要将这个字符串转换成一个可以进行解析的二进制也就是我们需要将这个字符串转换成一个可以在内存中存储的二进制数字即 byte []我们可以将这个字符串转换成一个字节也就是 byte []。 第三步我们需要将这个字符串作为 Java程序运行时的一个状态也就是 java程序运行时的时间。 第五步我们需要将当前时间和当前日期进行比较。 在上面的例子中我们需要获取当前时间和当前日期。可以看到在获取当前时间时需要先将 byte []转换成一个字节然后再将这个字节存储为二进制数字这样才能在内存中进行存储。 下面我们再来看一下 java程序中可以通过获取当前时间来实现哪些功能。 JVM是用来对 Java程序进行管理和控制的。JVM可以执行各种类型的 Java程序。其中最重要的功能就是对对象进行管理和控制。java是一种面向对象的语言所以我们在使用 java编写程序时也要遵循面向对象的原则。下面我们再来看一下如何获取当前时间 通过上面两个例子可以看出 Java中有两种方法可以获取当前时间 2.解析字节码指令 上面的代码是通过调用 yaml类中的 yaml. start方法来获取当前时间的其内部调用了两个类来获取当前时间下面我们来看看这两个类是如何实现的。 在解析字节码指令之前我们需要先知道在 Java程序中有哪些字节码指令是有意义的。在 java. util. interface中定义了26种字节码指令我们知道在 Java中只有26种字节码指令而除了26种之外还有一些字节码指令是没有意义的。下面我们就来了解一下这些没有意义的字节码指令都有哪些。 首先我们来了解一下在 java. util. interface中定义的字节码指令有哪些。 上面 Java代码中的 yaml类定义了26种字节码指令在 Java中只有26种字节码指令所以 Java中的26种字节码指令都是没有意义的并且26种字节码指令都是无符号整数Unsafe Number。 无符号整数Unsafe Number又叫浮点数是一种与实数实数一一对应的整数所以也可以叫做实数整数Positive Number。无符号整数有如下特点 1实数具有加法和乘法运算符而浮点数只有加法和乘法运算符。 2无符号整数可以用任何自然数表示而浮点数只能表示有限小数。 3无符号整数在数值上是连续的而浮点数是离散的。 如果一个程序需要在有限时间内得到某个答案那么就需要使用浮点数。而在 Java中无符号整数也就是指浮点数比如8位2进制的1~9这10个数字是不能作为浮点数来表示的。 Java中的字节码指令共有26种但是并不是所有字节码指令都有意义。上面这条字节码指令返回值为0,表示当前时间为0; 上面26条没有意义的字节码指令返回值均为0。 3.运行结果 如图所示在运行 java程序时可以看到执行的字节码指令中有一条是获取当前时间的指令。这条字节码指令中有一个参数该参数是 java程序运行时所处的状态这个参数的作用就是控制 JVM在执行这条字节码指令时要将当前时间记录下来。 如图所示当执行 java程序时由于 JVM运行的状态不同所以会有不同的结果。当我们将当前时间记录下来时 JVM会执行下面这条字节码指令 在执行该字节码指令时 JVM会将当前时间记录下来而 JVM的运行状态也会被改变。当我们将当前时间记录下来后可以在 java程序中对该字节码指令进行一些特殊处理。如将其解析为数字后再保存下来等。当然这只是一个例子实际情况比这复杂的多。这里只是为了说明 java程序中获取时间是有多种方式的。 常用的java获取时间的代码 1. 获取当前时间戳毫秒数 java long timestamp System.currentTimeMillis(); 2. 获取当前日期时间 java Date date new Date(); 3. 格式化日期时间为字符串 java SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss); String formattedDate sdf.format(new Date()); 4. 解析字符串为日期时间 java SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss); Date date sdf.parse(2021-01-01 00:00:00); 5. 获取当前年份、月份、日期、小时、分钟、秒钟 java Calendar calendar Calendar.getInstance(); int year calendar.get(Calendar.YEAR); int month calendar.get(Calendar.MONTH) 1; // 月份从0开始需要加1 int day calendar.get(Calendar.DAY_OF_MONTH); int hour calendar.get(Calendar.HOUR_OF_DAY); int minute calendar.get(Calendar.MINUTE); int second calendar.get(Calendar.SECOND);