
Java基础
兔子先生°
这个作者很懒,什么都没留下…
展开
-
线程池定时任务
package com.lq.activity.process;import com.lq.activity.application.ActivityService;import com.lq.activity.domain.enums.ActivityType;import com.lq.activity.domain.model.Activity;import com.lq.activity.infrastructure.repository.ActivityRepository;impor原创 2022-01-04 10:04:39 · 1201 阅读 · 0 评论 -
jdk安装
.;%JAVA_HOME%lib;%JAVA_HOME%lib\dt.jar;%JAVA_HOME%lib\tools.jar;原创 2021-06-01 14:10:06 · 96 阅读 · 0 评论 -
线程的创建
继承ThreadThread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()方法。start()方法是一个native方法,它将通知底层操作系统,最终由操作系统启动一个新线程,操作系统将执行run()方法。这种方式实现多线程的方法很简单,通过自己创建的类直接继承extends Thread,并重写run()方法,就可以启动新线程并执行自己定义的run()方法。常用方法String getName()返回该线程的名称。st原创 2021-05-02 13:53:35 · 175 阅读 · 1 评论 -
String a=“ab” 和 String a=new String(“ab“)的区别
"=="和"equals"的区别==比较的是是否是同一个对象,即对象引用是否指向同一个对象,是否是指向同一个地址值比较的必须是同一个类型的如果比较的是基本类型,则比较的是值;如果比较的是引用类型,则比较的是它们是否指向同一个地址值equals比较两个对象的内容是否一样StringString a="ab"是一种非常特殊的形式,和new有本质的区别;它是Java中不需要new就可以产生对象的途径。以String a=“ab"形式赋值,在Java中叫直接量,它是在常量池中,而不是像new一原创 2021-04-30 17:06:12 · 813 阅读 · 1 评论 -
深拷贝和浅拷贝
浅拷贝对基本数据类型进行值传递,对引用类型进行引用传递般的拷贝。// 类,get、set方法已省略class Person implements Cloneable { private int age; private String name;// 重写,拷贝的方法 @Override protected Object clone() throws CloneNotSupportedException { return super.clone();原创 2021-04-30 17:05:08 · 88 阅读 · 1 评论 -
多线程
stop()和 suspend()方法为何不推荐使用?stop()是线程不安全的。它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其它线程能在那种状态下检查和修改它们。结果很难检查出真正的问题所在。suspend()容易发生死锁。调用suspend方法的时候,目标线程会停下来,但却仍然持有在这之前获得的锁定。此时,其它任何线程都不能访问锁定的资源,除非被“挂起”的线程恢复运行。对任何线程来说,如果它们想恢复目标线程,同时又试图使用任何一个锁定的资源,就会造成死锁。所以不应该使用susp原创 2021-04-30 17:02:01 · 83 阅读 · 1 评论