
java
文章平均质量分 70
程序猿之家
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
手撕三个线程并发按照顺序打印数字
三个线程并发按照顺序打印数字,直觉是创建一个runnable任务,然后建三个线程去执行。 public class Main { //三个线程并发打印数字 public static void main(String[] args) { Count count = new Count(); Thread thread1 = new Thread(count, "1"); Thread thread2 = new Thread(count, "2原创 2020-08-04 14:53:40 · 370 阅读 · 0 评论 -
ArrayList和LinkedList的三种遍历方式
一.三种遍历List的方式 遍历List需要输出List的全部信息,其时间的消耗占比还是很大的,所以,选择正确的遍历方式非常重要,Java提供了三种遍历List的方式,下面我们来一一认识他们。 1.1 for循环 for循环是通过get(i)实现的,对于ArrayList来说,其实就是下标访问,时间复杂度为O(n),对于ArrayList来说,其底层是双向链表,每次都要从链表头或者表尾去遍历,具体是从头开始还是从尾开始取决于更靠近谁,所以其复杂度是指数级别的。 如果对ArrayList和LinkedList原创 2020-07-24 08:06:06 · 960 阅读 · 0 评论 -
ArrayList和LinkedList的底层分析和比较
一.ArrayList 1.1核心成员变量 ArrayList的底层是一个动态数组,默认大小为10。 transient Object[] elementData;//动态数组 private static final int DEFAULT_CAPACITY = 10;//默认大小 private int size;//已经存在的元素个数 protected transient int modCount = 0;//modCount 用来记录 ArrayList 结构发生变化的次数。 需要注意原创 2020-07-23 22:44:59 · 323 阅读 · 0 评论 -
Object方法的秘密
为什么要有Object父类 Object是所有类的父类,里面定义了13个常用的方法,为什么要让它成为所有类的父类呢,个人感觉主要包括一下两点: 1.一种规范,方便类的转换,如果不知道一个对象的类型,可以向上转型为Object 2.提供了常用和基本的方法,代码可以得到复用,比如equals,hashCode等,能够极大的减少开发工作。 Object的13个方法 1.Object() public Object() {} 是一个默认无参构造方法。 2.hashCode() public native原创 2020-07-23 15:29:50 · 194 阅读 · 0 评论 -
hashMap源码分析----彻底搞透
HashMap采用key-value存储结构,每个key对应唯一的value,查询和修改的速度都很快,能达到O(1)的平均时间复杂度。它是非线程安全的,且不保证元素存储的顺序。HashMap是最常见的Map类型结构,那么它有哪些特殊之处呢,下面就来一步一步彻底揭开它的神秘面纱。(基于1.8版本) 一.存储结构 jdk1.8以前,HashMap采用的存储结构是一个Entry类型数组+单链表,其结构如下: jdk1.8之后,HashMap采用的存储结构是一个Node类型数组+单链表或红黑树。其存储结构如下:原创 2020-06-29 02:45:57 · 996 阅读 · 1 评论 -
肺炎实时信息爬取网页可视化
2020年肺炎是很受大家关注的一个问题。作为一个大三党,从肺炎刚开始那会儿就准备爬取数据并且做一个网页,奈何菜狗平日多有懒惰,一直拖到最近才把这个项目弄完。 为了弄这个网页,我特地跑去学了java爬虫,网页相关的jsp js echart servlet,这期间花费了不少时间,最后,也成功把项目弄出来了!!倍有成就感。 获取网页数据 URL url = new URL(requesturl); httpsURLConnection = (HttpsURLConnection)原创 2020-05-22 10:48:02 · 404 阅读 · 1 评论