java编程
林一末
余生多多指教
展开
-
创建多线程的几种方式
1.继承Thread类,重写run方法 2.实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的target 3.通过Callable和FutureTask创建线程 4.通过线程池创建线程 第一二种方式太过于常见,在大部分的书籍,教导书也是经常出现,所以我们在这里也不在继续重复描述了。 我们介绍第三种方式 ...原创 2018-10-16 21:00:21 · 800 阅读 · 0 评论 -
强、软、弱、虚引用(案例)
前言:如果只是想避免OutOfMemory异常的发生,则可以使用软引用。如果对于应用的性能更在意,想尽快回收一些占用内存比较大的对象,则可以使用弱引用。 1.强引用(StrongReference) 强引用就是指在程序代码之中普遍存在的,比如下面代码中的objec是强引用: Object object = new Object(); 只要某个对象有强引用与之关联,J...原创 2018-10-17 19:31:49 · 391 阅读 · 0 评论 -
ThreadLocal( 副本创建 )容易导致内存泄漏
线程局部对象,每个线程都拥有一个局部线程对象。 如下程序输出结果为 null 为什么呢 因为下面程序中并没有能够造成下列程序的一线程并没有创建出自己的特有对象 之前的 ThreadLocal 的使用方法 方法有 threadlocal.get();threadlocak.set(); 如何为每一个线程去创建 我们的 threadLocal 呢 因为 在我们的每一个线程...原创 2019-03-11 22:14:29 · 417 阅读 · 0 评论 -
为什么接口要规定成员变量必须是public static final的呢
答: 首先接口是一种高度抽象的"模版",,而接口中的属性也就是’模版’的成员,就应当是所有实现"模版"的实现类的共有特性,所以它是public static的,是所有实现类共有的.假如可以是非static的话,因一个类可以继承多个接口,出现重名的变量,如何区分呢? 其次,接口中如果可能定义非final的变量的话,而方法又都是abstract的,这就自相矛盾了,有可变成员变量但对...原创 2019-04-08 10:43:16 · 469 阅读 · 0 评论 -
BIO/NIO
如下为个人单纯的记录: BIO: blocking-IO 推向NIO NIO:New-IO 或是 NON-Blocking-IO selector: chanel: Buffer: NIO案例: 服务端 客户端: ...原创 2019-04-28 20:31:35 · 169 阅读 · 0 评论 -
什么是多态
纯属个人理解 1、多态指的是父类指针,调用的方法的选择方式,是根据该指针指向对象类的kclass表,也就是我们在C++经常说的虚表来判断的。 2、多态运用在我们在程序编译阶段才确定该指针所指向的对象是任一哪种类型。 ...原创 2019-08-16 20:04:44 · 704 阅读 · 0 评论