正在加载今日诗词....

随笔分类 -  Java

Java是一门面向对象编程语言,具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。 摒弃了C++里难以理解的多继承、指针的概念,因此Java语言具有功能强大和简单易用两个特征。静态面向对象编程语言的代表。
摘要:本文转载自逸飞兮[https://www.cnblogs.com/lw5946/p/11574987.html] 收获 讲解详细:能让你掌握使用 hibernate-validator 及类似校验工具的各种使用姿势 内容全面:可以当做知识字典来查询 what 注意:hibernate-validat 阅读全文
posted @ 2020-11-11 15:04 就永远夏天 阅读(1857) 评论(0) 推荐(0)
摘要:线程通信的方式: 1、共享变量 线程间通信可以通过发送信号,发送信号的一个简单方式是在共享对象的变量里设置信号值。线程A在一个同步块里设置boolean型成员变量hasDataToProcess为true,线程B也在同步代码块里读取hasDataToProcess这个成员变量。这个简单的例子使用了一 阅读全文
posted @ 2019-11-22 00:20 就永远夏天 阅读(731) 评论(0) 推荐(0)
摘要:1、死锁的定义 所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进 2、死锁产生的必要条件 互斥条件:线程要求对所分配的资源(如打印机)进行排他性控制,即在一段时间内某资源仅为一个线程所占有。此时若有线程请求该资源,则请求线程只能等待。 不剥夺条件:线 阅读全文
posted @ 2019-11-21 23:53 就永远夏天 阅读(4952) 评论(0) 推荐(1)
摘要:import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /** * 同一个类中的2个方法都加了同步锁,多个线程能同时访问同一个类中的两个方法吗? * 这个问题需要考虑到Lock与 阅读全文
posted @ 2019-11-20 23:25 就永远夏天 阅读(1426) 评论(0) 推荐(1)
摘要:public class ThreadCommunication { /** * 三个线程a、b、c并发运行,b,c需要a线程的数据怎么实现 * * 根据问题的描述,通过三个线程,ThreadA ThreadB ThreadC * ThreadA用于初始化数据num,只有num初始化完成之后再让Th 阅读全文
posted @ 2019-11-20 20:33 就永远夏天 阅读(1093) 评论(0) 推荐(0)
摘要:import java.util.concurrent.Semaphore; /** * 如何控制某个方法允许并发访问线程的个数 * permits the initial number of permits available. This value may be negative, * in w 阅读全文
posted @ 2019-11-20 20:04 就永远夏天 阅读(1013) 评论(0) 推荐(0)
摘要:class ConcurrentThread { /** * 分析线程并发访问代码解释原因 * volatile关键字: * 1):保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的 * 2):禁止进行指令重排序 * volatile本质是告诉 阅读全文
posted @ 2019-11-20 17:03 就永远夏天 阅读(209) 评论(0) 推荐(0)
摘要:import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.concurrent.*; public class ServalMethod { /** * 有返回值的线程 */ 阅读全文
posted @ 2019-11-20 16:36 就永远夏天 阅读(536) 评论(0) 推荐(0)
摘要:抽象类的概念: 1、Java中可以定义没有方法体的方法,还方法的具体实现由子类完成,该方法称为抽象方法,包含抽象方法的类就是抽象类; 2、如,shape类计算周长和面积的方法无法确定,那么就可以将这样的方法声明为抽象的,以便在具体的子类中实现 抽象类的特征: 抽象方法的声明 修饰符abstract 阅读全文
posted @ 2019-06-02 17:51 就永远夏天 阅读(430) 评论(0) 推荐(0)
摘要:传递值: 说明:标题其实说法是错误的。Java中只有值传递,没有引用传递。 调用函数changeValue()前后num的值都没有改变。 值传递的过程: num作为参数传递给changeValue()方法时,是将内存空间中num所指向的那个存储单元中存放的值,即"5",传送给了changeValue 阅读全文
posted @ 2019-05-30 17:19 就永远夏天 阅读(1251) 评论(0) 推荐(0)
摘要:对象:有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等 类:类是一个模板,描述一类对象的行为和状态 对象的行为通过方法来体现,状态就是对象的属性,变量可以是行为的结果、属性的改变 构造方法: 每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译 阅读全文
posted @ 2019-05-30 10:56 就永远夏天 阅读(732) 评论(0) 推荐(0)
摘要:变量的声明: 在Java语言中,所有的变量在使用前必须要先进行声明; 声明的基本格式如下:数据类型 变量名 例如 int a;我们还一定义多个变量 例如 int a , 还可以在定义的时候赋初值:int a=3,b=5; 变量的类型: 类变量:独立于方法之外的变量,用static修饰; 实例变量:独 阅读全文
posted @ 2019-05-30 10:39 就永远夏天 阅读(300) 评论(0) 推荐(0)