
Date类
import java.util.Date; public class Main { public static void main(String[] args) { Date date = new Date(); System.out.println(&q...
import java.util.Date; public class Main { public static void main(String[] args) { Date date = new Date(); System.out.println(&q...
import java.util.Random; public class Main { public static void main(String[] args) { Random rnd = new Random(); String[] st...
public class Main { public static void main(String[] args) { /** * abs求绝对值 */ ...
public class Main { public static void main(String[] args) { // 在sb尾部追加一个字符串 StringBuffer sb = new StringBuffer("He...
public class Main { public static void main(String[] args) { // 1 length()字符串的长度 String a = "Hello Word!"; ...
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,通俗一点就是别人已经写好的方法,我们直接进行调用就可以使用响应的功能。
在我们的应用系统中,经常会处理一些耗时任务,自然而然的会想到使用多线程。JDK给我们提供了非常方便的操作线程的API,JDK5之后更是新增了JUC包的支持,并发编程大师Doug Lea(JDK并发的作者)也是一直在为我们使用线程做着不懈的努力。为什么还要使用Spring来实现多线程呢?这是句废话!实际有两个原因,第一使用Spring比使用JDK原生的并发A...
我们知道,线程和数据库连接这些资源都是非常宝贵的资源。那么每次需要的时候创建,不需要的时候销毁,是非常浪费资源的。那么我们就可以使用缓存的策略,也就是使用线程池。当然了,线程池也不需要我们来实现,jdk的官方也给我们提供了API。代码如下:package com.roocon.thread.t5; import java.util.concurrent.ExecutorService...
我们发现上面提到的不管是继承Thread类还是实现Runnable接口,发现有两个问题,第一个是无法抛出更多的异常,第二个是线程执行完毕之后并无法获得线程的返回值。那么下面的这种实现方式就可以完成我们的需求。这种方式的实现就是我们后面要详细介绍的Future模式,只是在jdk5的时候,官方给我们提供了可用的API,我们可以直接使用。但是使用这...
定时器可以说是一种基于线程的一个工具类。可以定时的来执行某个任务。比如要在凌晨的时候汇总一些数据,比如要每隔10分钟抓取一次某个网站上的数据等等,总之计时器无处不在。我们一般将需要定时完成的任务称之为计划任务,这在很多的系统中是非常常见的,比如linux的计划任务,比如Windows下的任务计划等等。我们自己的系统中也需要很多定时...