Java
文章平均质量分 74
chen_vs_dong
码畜一个
展开
-
LinkedList 学习
底层实现: LinkedList 基于双向链表实现 线程安全:LinkedList 线程不安全 优点:LinkedList 基于链表,插入删除快,但读取较慢 缺点:线程不安全,读取慢 LinkedList 链表的基础实现private static class Node<E> { E item; Node<E> next; Node&a原创 2018-08-09 16:59:46 · 391 阅读 · 0 评论 -
ArrayList 学习
底层实现:ArrayList的底层是一个数组,默认的数组长度为10 线程安全:ArrayList是线程不安全的 优点: ArrayList基于数组,所以擅长读取,在末尾add值也很快捷 缺点: 在指定下标add值的性能较差private static final int DEFAULT_CAPACITY = 10;private static final Object[] EMP...原创 2018-08-08 16:37:08 · 142 阅读 · 0 评论 -
Set 集合类
相比于前面两篇文章写的关于ArrayList和LinkedList,Set集合与他们的不同之处在于,Set不允许数据重复。Set类集合类库的简化图如下。 可见:Set实现了Collection和Iterator几种常见的Set:Set(interface): 存入Set的每个元素都必须是唯一的,因为Set不保存重复元素。加入Set的元素必须定义equals() 方法以确保对象的...原创 2018-09-26 17:13:30 · 225 阅读 · 0 评论 -
并发学习笔记 - 这是一篇垃圾博客,慎点
并发学习四个阶段#1 熟练掌握API,能够完成并发变成#2 熟读API源码,掌握其原理#3 理解java虚拟机的内存模型#4 操作系统对并发的支持并发的优点:发挥出多处理器的强大能力建模的简单性异步事件的简化处理响应更加灵敏的用户界面并发的缺点:安全性的问题活跃性问题(饥饿,死锁等问题)性能问题进程与线程进程是资源分配的基本单位进程中包含多个线程,线程共享进程的资...原创 2019-05-05 17:21:54 · 170 阅读 · 0 评论 -
生产者消费者模型
面试时要求写一个生产者消费者模型,特在此记录一下给对象加锁:package newthread;import java.util.*;class Counter{ List<Integer> lists = new ArrayList<>(); int size = 10; Object object = new Object(); ...原创 2019-09-05 22:21:57 · 74 阅读 · 0 评论 -
循环打印线程输出123
面试时要求给出一个循环打印线程123的问题,特在此记录一下import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;public class CycleCallABC { private int num = 1; ReentrantLock loc...原创 2019-09-05 22:23:41 · 768 阅读 · 0 评论 -
使用等待超时模式写一个简单的数据库连接池
等待超时模式假设超时时间是T,那么可以推断出在当前时间 now+T 之后就会超时定义如下变量等待持续时间:REMAINING = T超时时间: FUTURE=now+T这是仅需要wait(REMAINING)即可,在wait(REMAINING)返回之后将会执行: REMAINING = FUTURE-now. 如果REMAINING小于等于0,表示已经超时,直接退出,否则将继续执行...原创 2019-09-05 23:08:02 · 293 阅读 · 0 评论 -
一个基于线程池技术的简单web服务器
写一个基于多线程的web服务器,能提供展示图片的功能,代码如下:接口 ThreadPool/** * @author chendong * @date 2019/9/7 12:54 */public interface ThreadPool<Job extends Runnable> { // 执行一个job,这个Job需要实现Runnable void ...原创 2019-09-08 14:51:29 · 287 阅读 · 0 评论