CodeMartain
有阳光 却感觉冷
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
研究一下延时队列(Java 与Go
DelayQueue即延迟队列,也就是一个按延迟时间从小到大出队的PriorityQueue。所谓延迟时间,就是“未来将要执行的时间”-“当前时间”。为此,放入DelayQueue中的元素,必须;(1)如果getDelay的返回值小于或等于0,则说明该元素到期,需要从队列中拿出来执行。(2)该接口首先继承了Comparable 接口,所以要实现该接口,必须实现Comparable 接口。具体来说,就是基于getDelay()的返回值比较两个元素的大小。直接上代码—>>原创 2022-08-31 21:38:05 · 206 阅读 · 0 评论 -
在java中的interface接口中都有一些啥,来研究一下---
在java中的interface接口中都有一些啥,来研究一下package com.array.sort.test;/** * @Auther: GavinLim * @Date: 2021/7/3 - 07 - 03 - 12:48 * @Description: com.array.sort.test * @version: 1.0 */public interface MyInterface {/*基本数据类型*/ public final static int Num.原创 2021-07-03 14:48:05 · 148 阅读 · 0 评论 -
面试最爱问的HashMap,而我却在这里搞什么HashSet......
import java.util.HashSet;import java.util.Set;/** * @author : Gavin * @date: 2021/7/18 - 07 - 18 - 9:13 * @Description: setTest * @version: 1.0 */class Person{ String name; int age; String gender; public Person(String name, int a.原创 2021-07-18 11:57:00 · 124 阅读 · 1 评论 -
模拟一下Linkedlist源码,还学不明白了怎么
总结—0,直接将类私有化,免去了包装属性;1,源码中添加数据直接调用linklast,即先将加进来的数据作为尾节点,然后再去判断是否是第一个,2,用final去定义数据,保证了添加数据的安全性—所以线程上是安全;原创 2021-07-16 16:57:39 · 144 阅读 · 0 评论 -
看了源码之后我又模拟一下Linkedlist,这次想法变了
链表的头尾原来是链表的头尾-----听起来有些绕–看我盗的图package today;public class Node<E>{ Node before; E e; Node after; public Node(){};//无参构造 public Node(E e){ this(); this.e=e; }; public Node(Node before ,E e,Node after原创 2021-07-17 15:54:19 · 94 阅读 · 0 评论 -
ArrayList底层实现源码---你确定不看一下码?
日渐消瘦的程序员,有那么多只是要学,学海无涯枯坐舟public class Test { public static void main(String args[]) { //集合的开辟方式 Collection aaaa= new ArrayList();//接口=实现类 List list1= new ArrayList();//接口=实现类 ArrayList arrayList= new ArrayList();//实现类=.原创 2021-07-14 16:25:27 · 137 阅读 · 0 评论 -
听说面试要问ArrayList与Vector 的区别--我慌了.
实际上随着JDK版本的不断更新,性能上会有所改进,于是乎一些老的接口或者方法会逐渐被抛弃,但并不是不能使用,知识不在提倡使用;今天我们一起来看一下ArrayList与Vector 的区别按照惯例的话,先来后到,先看VectorVector继承了实现了AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializablepublic class Test { public static void main(String ar.原创 2021-07-14 21:05:24 · 148 阅读 · 1 评论 -
HashMap与HashTable有什么区别???面试官问----------呕心沥血一百天,回头一看,艾玛啥也不会!!!!
岁岁年年人不同,年年岁岁花相似;数据结构—大数据方向必须要掌握的,之前一直想的是从事大数据方向,现在感觉那么遥远。。。。打工人。。。加油package com.Date.Test;import java.util.*;/** * @Auther: GavinLim * @Date: 2021/7/21 - 07 - 21 - 15:50 * @Description: com.Date.Test * @version: 1.0 */public class TodayTest {原创 2021-07-22 14:51:42 · 118 阅读 · 0 评论 -
java‘中关于构造器的深入详解--一起来学习吧(重点是this关键字的理解)!!
> 在java中子类继承了父类的一些属性和方法,父类的初始化要靠子类去完成> 构造器的作用--- 创建对象和初始化对象的属性--> 因此构造一个对象,要调用其构造方法,用来初始化其成员函数和成员变量。子类继承了父类的成员变量和成员方法,如果子类中没有调用父类的构造方法,那么子类从父类继承而来的成员变量和成员方法也得不到正确的初始化--因此子类必须去调用父类的构造方法;也即子类构造中会默认必须调用父类相应构造原创 2021-06-28 21:20:54 · 104 阅读 · 0 评论 -
今天学习了TreeSet,你不来看一下吗?
java中集合部分是比较常用的,也会企业要求必须精通的部分;所以喽,作为小白的我只能看源码度日了;话不多说,看东西;public class TodayTest { public static void main(String[] args) { TreeSet<Integer> set= new TreeSet<Integer>(); set.add(111); set.add(100); set.add原创 2021-07-21 21:49:05 · 135 阅读 · 1 评论 -
java泛型知识点全面总结----
不罗嗦,先看代码,在总结,比现总结在看代码似乎要好一点–毕竟实践出真知看代码----package baozhuang;class Person <E>{//泛型类 String name; int age; E grade; public Person(String name, int age,E grade) { this.name = name; this.age = age; this.gra..原创 2021-07-15 16:05:28 · 189 阅读 · 0 评论 -
JAVA面试题详解----不知名面试题(8.26更新)
面试问题------实现一个容器,提供两个方法,add和size,写两个线程, *线程1添加10个元素到容器, *线程2负责监控元素个数,当个数达到5个时,线程2给出提示并结束分析问题-----分析----ThinkTwice CodeOnce *线程2发出的动作是让线程1停止,而不是线程1自己停止,即线程2在线程1添加元素为第五个之前一直处于阻塞状态 ,因为一直要监控容器的容量*怎么才能阻塞? *// 同步方法 用synchronized.配合wait().noti原创 2021-08-22 21:27:40 · 254 阅读 · 0 评论 -
浅谈java中的引用类型--强,软,弱,虚
浅谈java中的引用类型引用类型引用类型的分类三级目录引用类型定义: 由类型的实际值引用(类似于C中的指针)表示的数据类型。如果为某个变量分配一个引用类型,则该变量将引用(或“指向”)原始值。不创建任何副本。引用类型包括类、接口、委托和装箱值类型。引用类型的分类在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于(reachable)可达状态,程序才能使用它。从JDK 1.2版本开始,对象的引用被划分为4种级别,从而使程序能更加灵活地控制对原创 2021-10-26 20:48:04 · 883 阅读 · 2 评论 -
单例设计一定安全吗(2021重制版)
单例设计一定安全吗什么是单例设计模式定义---单例----饿汉式单例----饿汉式的变形单例----懒汉式单例----懒汉式存在的线程安全问题懒汉式线程安全解决方法Lock锁同步基于同步的改进----volatile关键字volatile关键字的用法---什么是单例设计模式定义—不整官方的那套,简单来说就是整个程序有且仅有该类的一个实例。要创建类的实例只能由自己负责创建自己的对象,同时确保只有一个对象被创建。特点----1----构造方法私有化2----持有自己类型的属性3----对外提供可获原创 2021-08-13 18:17:52 · 168 阅读 · 0 评论 -
关于线程中断的一些回顾-----8.26
昨天在写一个面试题的时候,发现线程中断哪里还有些不太明白的地方,今日特地来整理以下;线程中断线程中断的概念NEW 与TERMINATED阶段RUNNABLE阶段线程中断的概念中断(Interrupt)一个线程意味着在该线程完成任务之前停止其正在进行的一切,有效地中止其当前的操作。线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序。在java中一般使用stop()方法来强制中断程序的运行,而建议用Interrupt(中断)来完成对当前操作的中止;java中关于Interru.原创 2021-08-26 21:23:57 · 2553 阅读 · 0 评论 -
Collection接口和Collections的区别
package HuiXin;import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Test { public static void main(String[] args) { ArrayList<Integer>list= new ArrayList<>(); list.add(111);原创 2021-07-24 16:24:56 · 169 阅读 · 0 评论 -
浅谈java中容器的发展史之collection接口
java中容器的发展史collection接口collection的APIList接口Vector及其子类StackVectorStack类ArrayList和LinkedListArrayListLinkedListLinkedeList和ArrayList的区别CopyOnWriteArrayListSet接口HashSet 及其子类LinkedHashSetHashSet小结HashSet:为什么默认加载因子为0.75呢?LinkedHashSet在jdk 1.*版本的时候,主要的容器有 Vect原创 2021-10-28 23:32:35 · 217 阅读 · 0 评论 -
研究一下Stream与Optional[笔记]
Stream的API继承实现关系---->>public interface Stream extends BaseStream<T,Stream>类描述---->>>支持顺序和并行聚合的元素序列 操作,(支持对元素流进行函数式操作的类–即lambda)Stream,这是一个对象引用流, 有原始专业 IntStream, LongStream, 和 DoubleStream,所有这些都被称为“流”和 符合此处描述的特性和限制。要执行计算,流 操作原创 2021-11-12 08:31:35 · 575 阅读 · 0 评论 -
ThreadLocal
只要线程是活的并且实例是可访问的,每个线程都暗中引用其线程本地变量的副本:线程消失后,其线程本地实例的所有副本都受到垃圾收集的约束(除非存在对这些副本的其他引用)。原创 2021-10-23 21:24:13 · 139 阅读 · 0 评论 -
Collection接口中集合安全的几个案例
卖票的实现几种方式---->>1,通过 Collections工具类中的synchronizedList 方法转换为线程安全的listpublic class TicketSeller { static List<String> list= new ArrayList<>(); static{ for (int i = 1; i < 11; i++) { list.add("第--"+i+"张票");原创 2021-10-30 20:24:57 · 167 阅读 · 0 评论 -
集合中的常用方法练习
集合中可以存放任意类型的数据吗?今天我来试一下–class Person{ String name; int age; public Person(String name,int age){ this.name=name; this.age=age; }}public class Test { public static void main(String args[]) { Collection col =原创 2021-07-14 13:26:43 · 115 阅读 · 0 评论