首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java中的数学相关

    1.java.lang.Math java.lang.Math 包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。类似这样的工具,其所有方法均为静态方法,并且不会创建对象。...包 2.1 BigInteger Integer作为int的包装,能存储的最大整型值为231-1,Long也是有限的,最大为263-1。...如果要表示再大的整数,不管是基本数据类型还是他们的包装都无能为力,更不用说进行运算了。 java.math包的BigInteger可以表示不可变的任意精度的整数。...BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。...Double可以用来做科学计算或工程计算,但在商业计算中,要求数字精度比较高,故用到java.math.BigDecimal

    36020

    Java线程相关面试题

    调用 suspend() 的时候,目标线程会停下来,但却仍 然持有在这之前获得的锁定。此时,其他任何线程都不能访问锁定的资源,除非被 "挂 起" 的线程恢复运行。...对任何线程来说,如果它们想恢复目标线程,同时又试图使用任 何一个锁定的资源,就会造成死锁。所以不应该使用 suspend(),而应在自己的 Thread 中置入一个标志,指出线程应该活动还是挂起。...若标志指出线程应该挂起,便用 wait() 命其进入等待状态。若标志指出线程应当恢复,则用一个 notify() 重新启动线程。 2. sleep() 和 wait() 有什么区别?...sleep 就是正在执行的线程主动让出 cpu,cpu 去执行其他线程,在 sleep 指定的时 间过后,cpu 才会回到这个线程上继续往下执行,如果当前线程进入了同步锁,sleep 方法并不会释放锁,...即使当前线程使用 sleep 方法让出了 cpu,但其他被同步锁挡住 了的线程也无法得到执行。

    29631

    Java Review (十九、基础库----系统相关)

    Java 程序在不同操作系统上运行时,可能需要取得平台相关的属性,或者调用平台命令来完成特定功能。 Java 提供了 System 和 Runtime 来与程序的运行平台进行交互。...System System 代表 当 前 Java 程序的运行平台,程序不能创建 System 的对象, System 提供了 一 些变量和方法,允许直接通过 System 来调用这些变量和方法...API:java.lang.System Runtime Runtime 代表 Java 程序 的运行时环境,每个 Java 程序都有 一个与之对应的 Runtime 实例 , 应程序通过该对象与其运行时环境相连...Runtime 代表 Java 程序的运行 时环境,可以访问JVM的相关信息,如处理器数量 、 内存信息等。.../获取 Java 程序关联的运行时对象 Runtime rt = Runtime . getRuntime() ; //获取 JVM 相关信息 System.out.println (" 处理器数量

    48410

    Java工具集-线程工具

    简单工具 写作初衷:由于日常开发经常需要用到很多工具,经常根据需求自己写也比较麻烦 网上好了一些工具例如commom.lang3或者hutool或者Jodd这样的开源工具,但是 发现他们之中虽然设计不错...介绍 遵从两大原则 1.绝不依赖JDK以外的源码 2.牺牲代码复用性,每个都必须是单独的组件,绝不互相引用,做到完全解耦 package *; import java.util.concurrent.CancellationException...; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import...java.util.concurrent.Future; import java.util.concurrent.TimeUnit; /** * @program: simple_tools *...@description: 线程工具 * @author: ChenWenLong * @create: 2019-10-18 13:51 **/ public class ThreadUtils

    66010

    面试系列之-线程其他相关JAVA基础)

    由于目前大部分操作系统都是使用抢占式调度模型进行线程调度,Java线程管理和调度是委托给操作系统完成的,与之相对应,J‍match‍ava的线程调度也是使用抢占式调度模型,因此Java线程都有优先级...; ‍线程的优先级‍ Thread实例的priority属性默认是级别5,对应的常量是NORM_PRIORITY,优先级最大值为10,最小值为1;Java中使用抢占式调度模型进行线程调度,priority...实例属性的优先级越高,线程获得CPU时间片的机会就越多,但也不是绝对的; 线程相关操作方法 线程的sleep操作 sleep的作用是让目前正在执行的线程休眠,让CPU去执行其他的任务。...从线程状态来说,就是从执行状态变成限时阻塞状态。Sleep()方法定义在Thread中,是一组静态方法。...yield()方法是Thread提供的一个静态方法,它可以让当前正在执行的线程暂停,但它不会阻塞该线程,只是让线程转入就绪状态。

    12210

    测试必备之Java知识(四)—— 线程相关

    线程相关 Java线程实现方式 继承Thread,实现Runnable接口,实现Callable接口(能抛异常且有返回值,不常用) 为什么有了继承Thread方式还要有Runnable接口方式 实现接口的方式适合多个相同程序代码的线程去处理同一个资源...,可以避免Java中单继承的限制 为什么JVM启动是多线程的?...CPU的时间片 抢占式调度模型:优先让优先级高的线程使用CPU,获得CPU时间片也越多,Java使用此模型 线程间通信——生产者消费者模式 生产者:先看是否有数据,有就等待消费者消费(wait),没有就生产...,生产完后通知消费者消费 消费者:先看是否有数据,有就消费,没有就等待生产者生产,通知生产者生产数据(notify) Java线程调度方式 线程睡眠:Thread.sleep(long millis),...线程让步:Thread.yield(),暂停当前正在执行的线程对象,把执行机会让给相同或更高优先级的线程 线程加入:join(),等待其他线程终止 线程状态 初始状态:创建一个线程 就绪状态:线程调用start

    32430

    java集合面试题_Java集合相关面试题

    1、Collection和Collections的差别 java.util.Collection 是一个集合接口,Collection接口在Java库中有非常多详细的实现。...比如List、Set java.util.Collections 是针对集合的一个帮助,它提供了一系列的静态方法实现对各种集合的搜索、排序、线程安全化等操作。...它们两个的差别在于: (1)、线程安全的问题:Vector是早期Java就有的,是同意多线程操作的。...是线程安全的;而ArrayList是在Java2中才出现,它是线程不安全的,仅仅能使用单线程 操作。 因为Vector支持多线程操作,所以在性能上就比不上ArrayList了。...主要差别在于: (1)、HashTable是早期Java就有的,支持多线程操作。是线程安全的。HashMap是Java2才出现的。是HashTable的轻量级实现,仅支持单线程操作。线程不安 全的。

    25310

    java线程系列_用Thread创建线程(2)

    Java中创建线程有两种方法:使用Thread和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例。...一个普通的Java只要从Thread继承,就可以成为一个线程。并可通过Thread的start方法来执行线程代码。...注意:任何一个Java程序都必须有一个主线程。一般这个主线程的名子为main.只有在程序中建立另外的线程,才能算是真正的多线程程序。也就是说,多线程程序必须拥有一个以上的线程。...Thread有一个重载构造方法可以设置线程名。除了使用构造方法在建立线程时设置线程名,还可以使用Thread的setName方法修改线程名。...原文:http://java.chinaitlab.com/line/778510.html

    51130

    使用Java线程同步工具CountDownLatch

    java.util.concurrent.CountDownLatch是Java并发并发编程中的线程同步工具,基于AQS(java.util.concurrent.locks.AbstractQueuedSynchronizer...CountDownLatch工具主要应用在如下场景:等待一组线程执行完毕后继续执行后续操作。 应用举例:模拟使用多个线程同时调用多个RPC方法,然后汇总所有线程获取到的返回结果。...1 latch.countDown(); System.out.println(String.format("线程%s结束了", Thread.currentThread...线程Thread-9结束了 线程Thread-3结束了 线程Thread-6结束了 线程Thread-5结束了 线程Thread-7结束了 线程Thread-4结束了 线程Thread-0结束了 线程Thread...-2结束了 线程Thread-8结束了 线程Thread-1结束了 最终的汇总结果:[result4, result0, result9, result8, result2, result5, result3

    16020

    Java】基础22:和日期相关

    这个问题在Java里面,就牵扯到了三个: 一、Date Data:翻译成中文是“日期”的意思。 在Java里面Data表示特定的瞬间,精确到毫秒。...在Java里面,时间原点是1970年1月1日0点。 那为何控制台显示的是8点呢? CST:China Standard Time,翻译成中文就是:中国标准时间。...二、DateFormat Date:日期;Format:格式化。很明显,Dateformat就是将日期格式化的。...DateFormat是一个抽象,没法对象实例化,所以需要使用到它的子类SimpleDateFormat。...三、Calendar Calendar:日历的意思。很显然这也是一个日期相关。 Calendar和DateFormat一样,也是一个抽象,没法创建对象实例化,我们需要使用到它的子类。

    1.2K10

    11.2 Java 字符串相关使用

    Java中 Character、String、StringBuilder 等用于文本处理,它们的基础都是 char。 字符编码基础 ASCII 码 最高位设置为 0,用剩下的 7 位表示字符。...java.lang.String Java 中的字符串是由双引号括起来的多个字符,下面示例都是表示字符串常量: String str = "Hello World"...可变字符串 StringBuffer 和 StringBuilder Java 提供了两个可变字符串 StringBuffer 和 StringBuilder,中文翻译为“字符串缓冲区”。...StringBuffer 是线程安全的,它的方法是支持线程同步,线程同步会操作串行顺序执行,在单线程环境下会影响效率。...StringBuilder 是 StringBuffer 单线程版本,Java 5之后发布的,它不是线程安全的,但它的执行效率很高。

    65510

    Java 集合框架(7)---- Set 相关解析

    前言 在上篇文章中,我们将剩下的常见的 Map 接口下的相关具体做了一个解析,还有一些相关将会在下一篇文章中做一个总结,这篇我们来看看 Set 接口的相关。...关于 HashMap 的运行机制,可以参考之前的文章:Java 集合框架(5)---- Map 相关解析(中) TreeSet 这个可以使得添加进入 Set 集合中的元素按照某种规则来排序,但是其并不是直接实现...而和 HashSet 类似,其内部也是借助了一个 TreeMap 类型的对象来实现相关的操作。关于 TreeMap 可以参考:Java 集合框架(5)---- Map 相关解析(中) 。...关于其运行元素可以参考 Java 集合框架(6)---- Map 相关解析(下) 。...好了,对 Set 接口的接口就到这里了,因为这里用到的都是 Map 接口下的相关具体,所以篇幅并不是很长,关键还是对相关 Map 接口下的相关具体的理解。

    49230

    JNI线程相关

    例如,最好使用 Java 编程语言在两个线程之间进行回调(其中一个线程发出阻塞 C++ 调用,然后在阻塞调用完成时通知界面线程),而不是通过 JNI 从使用 Java 代码的界面线程调用 C++ 函数。...尽可能减少需要接触 JNI 或被 JNI 接触的线程数。如果您确实需要使用 Java 和 C++ 这两种语言的线程池,请尽量保持在池所有者之间(而不是各个工作器线程之间)进行 JNI 通信。...JNIEnv 与多线程 之前文章提到过JNIEnv是线程相关的,即在每一个线程中都有一个JNIEnv指针,每个JNIEnv都是线程专有的,其他线程不能使用本线程中的JNIEnv....一种比较常见的应用场景是:在native 层创建了线程线程执行完后想将结果返回给java层,这时线程是不能用jni函数参数中的JNIEnv的,因为参数中的JNIEnv属于不同的线程....native层发送消息可能是在不同的线程,所以必须要将object变成全局的引用.下面看下代码的实现: frameworks/base/media/java/android/media/MediaPlayer.java

    1.4K20
    领券