Java学习
文章平均质量分 81
CodeHunter_qcy
菜鸡进阶之路
展开
-
Stream流之List、Integer[]、int[]相互转化
Stream流之List、Integer[]、int[]相互转化一、int[ ]1.1、int[ ] 转 Integer[ ]public static void main(String[] args) { int[] arr = { 1, 2, 3, 4, 5 }; List<Integer> list = Arrays.stream(arr).boxed().collect(Collectors.toList()); list.forEach(e -> System.原创 2020-06-06 19:22:32 · 5122 阅读 · 1 评论 -
synchronized的锁优化
synchronized的锁优化锁的四种状态无锁状态偏向锁轻量级锁重量级锁随着锁的竞争,锁可以从偏向锁升级到轻量级锁,再升级的重量级锁,但是锁的升级是单向的,也就是说只能从低到高升级,不会出现锁的降级。偏向锁偏向锁是Java6之后加入的新锁,为了减少同一线程获取锁的代价而引入偏向锁。偏向锁的核心思想:如果一个线程获得了锁,那么锁就进入偏向模式,此时Mark Word 的结构...原创 2020-05-05 22:06:36 · 166 阅读 · 0 评论 -
复习synchronized之底层原理
synchronized是什么关键字,Java利用锁机制实现线程同步的一种方式。Java实现线程同步的方式:1.显式锁(lock,需要自己写代码去获取锁和释放锁);2.隐式锁(synchronized,自动的)。synchronized怎么用修饰方法//普通方法//锁对象public synchronized void synTest (){ //TODO}//静态方...原创 2020-05-05 21:24:58 · 1492 阅读 · 0 评论 -
数组模拟环形队列
数组模拟环形队列package com.qcy.arrayqueue;public class ArrayQueueDemo { public static void main(String[] args) { ArrayQueue arrayQueue = new ArrayQueue(3); arrayQueue.addQueue(1); arrayQueue.addQu...原创 2020-01-15 14:43:29 · 306 阅读 · 0 评论 -
数据结构之线性表之LinkedList源码学习
数据结构之线性表之LinkedList源码学习看源码之前,复习一下LinkedList的使用方法吧!常用方法增添元素boolean add(E e):将指定元素添加到链表末尾void add(int index, E e):将指定元素插入到链表的指定位置boolean addAll(Collection c):将指定集合中的所有元素添加到链表末尾boolean addAll(in...原创 2020-01-13 13:27:08 · 158 阅读 · 0 评论 -
数据结构之线性表之ArrayList源码学习
好久没写博客,一直是写在笔记上面。我一直用的JDK8,所以今天的源码分析也是基于JDK8。ArrayList简介ArrayList 是一个动态数组队列。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口。Arr...原创 2020-01-12 21:59:50 · 1315 阅读 · 0 评论 -
面向对象的"六原则一法则"
单一职责原则:一个类只做它该做的事情。(单一职责原则想表达的就是"高内聚",写代码最终极的原则只有六个字"高内聚、低耦合",所谓的高内聚就是一个代码模块只完成一项功能,在面向对象中,如果只让一个类完成它该做的事,而不涉及与它无关的领域就是践行了高内聚的原则,这个类就只有单一职责。另一个是模块化,好的自行车是组装车,从减震叉、刹车到变速器,所有的部件都是可以拆卸和重新组装的,好的乒乓球拍也不是成...原创 2019-10-20 23:03:25 · 175 阅读 · 0 评论 -
Java的IO架构体系
Java的IO架构体系I/O(Input/Output)stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO中,所有的stream(包括InputStream和OutStream)都包括两种类型:1. 字节流表示以字节为单位从stream中读取或往stream中写入信息,即io包中的inputstream类和outputstream类的派生...原创 2019-06-20 22:38:05 · 15371 阅读 · 0 评论 -
Java集合体系
1. Collection最基本的集合接口一个Collection代表一组Object的集合public interface Collection<E> extends Iterable<E> {}任何实现Collection接口的类,都必须实现iterator方法来提供遍历集合中的元素Iterator<T> iterator();例如Lis...原创 2019-06-03 09:15:23 · 24474 阅读 · 3 评论 -
Java线程安全与不安全
Java非线程安全与线程安全ArrayList和Vector的区别在哪里?HashMap和HashTable区别在哪里?StringBuilder和StringBuffer区别在哪里?张口即答,区别在于前者是非线程安全的,后者是线程是线程安全的。那么,到底什么叫线程安全?什么叫线程不安全?线程安全不安全的原因是什么?怎么实现线程安全?线程安全和非线程安全有什么区别?分别在什么情况下使用?...原创 2019-06-05 10:12:54 · 20135 阅读 · 4 评论 -
Eclipse常用快捷键
Eclipse常用快捷键Ctrl+1 快速修复Ctrl+D: 删除当前行Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)Al...原创 2019-05-28 10:11:07 · 36663 阅读 · 2 评论 -
Java学习路线
附上一张Java入坑图方便自己查缺补漏进阶待更新。。原创 2019-05-26 19:04:56 · 16897 阅读 · 0 评论 -
操作系统中的调度算法FCFS、SJF、RR算法(Java实现)
Proce类:package five;public class Process {public String name;// 进程名称public int arrivalTime;// 到达时间public int serviceTime;// 服务时间public int finishTime;// 完成时间public int startTime;// 开始时间public ...原创 2019-05-22 15:43:40 · 13513 阅读 · 1 评论