![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java高级编程
Java高级编程学习
qq_41264096
这个作者很懒,什么都没留下…
展开
-
set接口
import java.util.HashSet;import java.util.Iterator;import java.util.Set;/** * * Set:元素无序,不可重复的集合。--> 高中讲的“集合” * 实现类: * Hasset:作为Set接口的主要实现类:线程不安全,可以存储null * ...原创 2020-04-22 13:51:45 · 106 阅读 · 0 评论 -
java集合:迭代器
public class IteratorTest { @Test public void test1(){ Collection coll =new ArrayList(); coll.add(123); //自动装箱 coll.add(false); coll.add(new Date()); ...原创 2020-04-15 15:25:18 · 82 阅读 · 0 评论 -
Java集合:Collection接口
import org.junit.Test;import java.util.*;/** * 集合可以分为两个体系 * Collection接口:单列数据,定义了存取一组对象的方法集合。 * 子接口: * List:元素有序,可重复的集合。--> “动态”数组 * ...原创 2020-04-15 03:58:13 · 88 阅读 · 0 评论 -
java比较器
import java.util.Arrays;import java.util.Comparator;/** * 一。说明:Java中的对象,只能进行比较:==或!=,不能用>或者<,但 * 在实际开发场景中,我们需要对多个对象进行排序。需要比较对象大小 * 我们需要使用接口:Comparable或Comparator。 * 二.Comparable接口...原创 2020-04-11 20:21:34 · 72 阅读 · 0 评论 -
常用日期类
System类中的currentimeMillis()方法import org.junit.Test;/** * @outor shkstart * @create 2020-04-09 13:57 */public class DateTest { @Test public void Date(){ long time=System.currentT...原创 2020-04-09 18:02:32 · 115 阅读 · 0 评论 -
StringBuffer,StringBuilder
String,StringBuffer,StringBuilder异同String:不可变字符序列:底层使用char数组StringBuffer:可变字符序列:线程安全,效率偏低,底层使用char数组StringBuilder:可变字符序列:jdk5.0新增,线程不安全,效率高,底层使用char数组源码分析:String str=new String();//new char[0];S...原创 2020-04-09 03:28:16 · 53 阅读 · 0 评论 -
String类
String类String类:代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都作 为此类的实例实现。String是一个final类,代表不可变的字符序列。字符串是常量,用双引号引起来表示。它们的值在创建之后不能更改。String对象的字符内容是存储在一个字符数组value[]中的。/** * @outor shkstart * @create 2020-04-...原创 2020-04-07 19:22:06 · 62 阅读 · 0 评论 -
线程池
背景:经常创建和销毁、使用量特别大的资源,比如并发情况下的线程, 对性能影响很大。思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完 放回池中。可以避免频繁创建销毁、实现重复利用。类似生活中的公共交 通工具。好处:提高响应速度(减少了创建新线程的时间)降低资源消耗(重复利用线程池中线程,不需要每次都创建)便于线程管理corePoolSize:核心池的大小maximumP...原创 2020-04-06 18:34:15 · 63 阅读 · 0 评论 -
线程实现方式三
实现Callable接口*与使用Runnable相比,Callable功能更强大些1.相比run()方法,可以有返回值。2.方法可以抛出异常。3.支持泛型的返回值。4.需要借助FutureTask类,比如获取返回结果。...原创 2020-04-05 19:37:40 · 115 阅读 · 0 评论 -
Lock(锁)
从JDK 5.0开始,Java提供了更强大的线程同步机制——通过显式定义同 步锁对象来实现同步。同步锁使用Lock对象充当。java.util.concurrent.locks.Lock接口是控制多个线程对共享资源进行访问的 工具。锁提供了对共享资源的独占访问,每次只能有一个线程对Lock对象 加锁,线程开始访问共享资源之前应先获得Lock对象。ReentrantLock 类实现了 Lock...原创 2020-04-05 12:35:23 · 77 阅读 · 0 评论 -
线程的同步
方式一:synchroized(同步监视器){//需要同步的代码}说明:1.操作共享数据的代码,即为需要同步的代码。2.共享数据:多个线程共同操作的变量3.同步监视器:俗称:锁。任何一个类的对象都可以充当锁。要求:多个线程公用一把锁。同步的方式,解决了线程的安全问题—好处操作同步代码时,只能有一个线程参与,其他线程等待,相当于是一个单线程的过程,效率低—坏处...原创 2020-04-04 15:57:41 · 72 阅读 · 0 评论 -
线程的生命周期
线程的生命周期Thread类及其子类一个完整的生命周期新建:当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态。就绪:处于新建状态的线程被start()后,将进入线程队列等待cpu时间片,此时它已具备了运行的条件,只是没分配到cpu资源。运行:当就绪的线程被调度并获得cpu资源时,便进入运行状态,run()方法定义了线程的操作和功能。阻塞:在某种特殊情况下,被...原创 2020-04-04 11:12:29 · 77 阅读 · 1 评论 -
创建多线程方式二
创建多线程方式二:实现Runnable接口1.创建一个实现了Runnable接口的类。2.实现类去实现Runnable中的抽象方法:run();3.创建实现类的对象。4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象。5.通过Thread类的对象调用start().代码实现/** * @outor shkstart * @create 2020-04-0...原创 2020-04-04 09:28:04 · 73 阅读 · 0 评论 -
Thread常用方法
Thread常用发方法start()start():启动当前线程:调用当前线程的run()。run()run():通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中。currentThread()currentThread():静态方法,返回执行当前代码的线程。getName()getName():返回当前线程的名字。setName()setName(...原创 2020-04-03 14:14:38 · 183 阅读 · 0 评论 -
Java高级:多线程
基本概念:程序,进程,线程程序(program):是为完成特定任务,用某种语言编写的一组指令的集合。即一段静态的代码,静态对象。进程(process):是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有他自身的产生,存在,消亡的过程——生命周期。线程(thread):进程可进一步细化为线程,是一个程序内部的一条执行路劲。1.若一个进程同一时间并行执行多个线程,就是支持多线程...原创 2020-04-02 18:12:35 · 221 阅读 · 0 评论 -
Java高级编程
java高级编程java高级语言概述java高级语言概述原创 2020-03-30 04:59:41 · 116 阅读 · 0 评论