<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_40577921的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_40577921</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_40577921]]></copyright><item><title><![CDATA[虚引用与引用队列]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/101056061</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/101056061</guid><author>qq_40577921</author><pubDate>Fri, 20 Sep 2019 12:05:50 +0800</pubDate><description><![CDATA[package com.itjava.interview;

import java.lang.ref.PhantomReference;
import java.lang.ref.ReferenceQueue;

public class PhantomReferenceDemo {

    public static void main(String[] args) throws Inte...]]></description><category></category></item><item><title><![CDATA[WeakHashMap 弱引用hashMap]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/101055495</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/101055495</guid><author>qq_40577921</author><pubDate>Fri, 20 Sep 2019 11:41:11 +0800</pubDate><description><![CDATA[package com.itjava.interview;

import java.util.HashMap;
import java.util.WeakHashMap;

public class WeakHashMapDemo {

    public static void main(String[] args) {
        myHashmap();
        Syste...]]></description><category></category></item><item><title><![CDATA[弱引用]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/101054219</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/101054219</guid><author>qq_40577921</author><pubDate>Fri, 20 Sep 2019 11:06:45 +0800</pubDate><description><![CDATA[package com.itjava.interview;

import java.lang.ref.WeakReference;

public class WeakReferenceDemo {

    public static void main(String[] args) {
        Object o1 = new Object();

        WeakRefer...]]></description><category></category></item><item><title><![CDATA[软引用]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/101053832</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/101053832</guid><author>qq_40577921</author><pubDate>Fri, 20 Sep 2019 10:57:00 +0800</pubDate><description><![CDATA[package com.itjava.interview;

import java.lang.ref.SoftReference;

public class SoftReferenceDemo {

    //内存够用时 不回收
    public static void softRef_Memory_Enough() {

        Object o1 = new Object(...]]></description><category></category></item><item><title><![CDATA[多线程中的死锁]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/100987579</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/100987579</guid><author>qq_40577921</author><pubDate>Wed, 18 Sep 2019 16:27:02 +0800</pubDate><description><![CDATA[package com.itjava.interview;

import java.util.concurrent.TimeUnit;

class HoldLockThread implements Runnable {

    private String lockA;
    private String lockB;

    public HoldLockThread(String ...]]></description><category></category></item><item><title><![CDATA[自定义线程池以及参数的合理分配]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/100985654</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/100985654</guid><author>qq_40577921</author><pubDate>Wed, 18 Sep 2019 15:46:05 +0800</pubDate><description><![CDATA[/**
 * 第4种获得/使用java多线程的方式,线程池
 */
public class MyThreadPoolDemo {

    public static void main(String[] args) {

        //查看cpu核心数 从而 合理的配置线程池的容量
        System.out.println(Runtime.getRuntime().avail...]]></description><category></category></item><item><title><![CDATA[基础线程池]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/100984353</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/100984353</guid><author>qq_40577921</author><pubDate>Wed, 18 Sep 2019 15:16:07 +0800</pubDate><description><![CDATA[package com.itjava.interview;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * 第4种获得/使用java多线程的方式,线程池
 */
public class MyThreadPoolDemo {

    public stati...]]></description><category></category></item><item><title><![CDATA[自旋锁]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/100920826</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/100920826</guid><author>qq_40577921</author><pubDate>Wed, 18 Sep 2019 11:43:14 +0800</pubDate><description><![CDATA[package com.itjava.interview;

import java.security.PublicKey;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;

//自旋锁
public class SpinLockDemo {

    //原子引用...]]></description><category></category></item><item><title><![CDATA[Semaphore 信号灯]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/100924444</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/100924444</guid><author>qq_40577921</author><pubDate>Wed, 18 Sep 2019 11:43:06 +0800</pubDate><description><![CDATA[package com.itjava.interview;

import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;

public class SemaphoreDemo {

    public static void main(String[] args) {
        Semapho...]]></description><category></category></item><item><title><![CDATA[阻塞队列之SynchronousQueue]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/100931681</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/100931681</guid><author>qq_40577921</author><pubDate>Wed, 18 Sep 2019 11:42:57 +0800</pubDate><description><![CDATA[package com.itjava.interview;

import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.TimeUnit;

//阻塞队列SynchronousQueue  生产一个，消费一个，不存储 ！
public class SynchronousQueueDemo {

    pu...]]></description><category></category></item><item><title><![CDATA[线程通信之生产者消费者传统版—使用ReentrantLock]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/100935197</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/100935197</guid><author>qq_40577921</author><pubDate>Wed, 18 Sep 2019 11:42:30 +0800</pubDate><description><![CDATA[package com.itjava.interview;


import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

class ShareData {  //资源类

    pr...]]></description><category></category></item><item><title><![CDATA[ReentrantLock练习题]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/100937800</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/100937800</guid><author>qq_40577921</author><pubDate>Wed, 18 Sep 2019 11:42:18 +0800</pubDate><description><![CDATA[package com.itjava.interview;

import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

/**
 * Synchronized和 ReentrantLoc...]]></description><category></category></item><item><title><![CDATA[线程之间通信之生产者消费者阻塞队列版]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/100973473</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/100973473</guid><author>qq_40577921</author><pubDate>Wed, 18 Sep 2019 11:42:01 +0800</pubDate><description><![CDATA[package com.itjava.interview;

import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.Atom...]]></description><category></category></item><item><title><![CDATA[线程实现之Callable接口]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/100976119</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/100976119</guid><author>qq_40577921</author><pubDate>Wed, 18 Sep 2019 11:41:49 +0800</pubDate><description><![CDATA[package com.itjava.interview;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;

/*class MyThread implements Runnable{

  ...]]></description><category></category></item><item><title><![CDATA[CountDownLatch  以及 如何使用枚举]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/100923326</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/100923326</guid><author>qq_40577921</author><pubDate>Wed, 18 Sep 2019 11:41:31 +0800</pubDate><description><![CDATA[package com.itjava.interview;

import java.util.concurrent.CountDownLatch;

public class CountDownLatchDemo {


    public static void main(String[] args) throws InterruptedException {

        Count...]]></description><category></category></item><item><title><![CDATA[CyclicBarrier  人到齐再开会]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/100923744</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/100923744</guid><author>qq_40577921</author><pubDate>Wed, 18 Sep 2019 11:41:17 +0800</pubDate><description><![CDATA[package com.itjava.interview;

import java.util.concurrent.BrokenBarrierException;
import java.util.concurrent.CyclicBarrier;

public class CyclicBarrierDemo {

    public static void main(String[] a...]]></description><category></category></item><item><title><![CDATA[读写锁  ReentrantReadWriteLock]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/100922291</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/100922291</guid><author>qq_40577921</author><pubDate>Wed, 18 Sep 2019 11:40:49 +0800</pubDate><description><![CDATA[package com.itjava.interview;


import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.ReentrantReadWriteLock;

//读写锁  ReentrantReadWr...]]></description><category></category></item><item><title><![CDATA[BlockingQueue阻塞API]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/100930863</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/100930863</guid><author>qq_40577921</author><pubDate>Wed, 18 Sep 2019 11:38:37 +0800</pubDate><description><![CDATA[package com.itjava.interview;
import java.util.ArrayList;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.TimeUnit;
/**

1 队列

2 阻塞队列

 2.1 阻塞队列有没有好的一面  比如餐厅吃饭




 2.2 不得不...]]></description><category></category></item><item><title><![CDATA[枚举]]></title><link>https://blog.youkuaiyun.com/qq_40577921/article/details/100923354</link><guid>https://blog.youkuaiyun.com/qq_40577921/article/details/100923354</guid><author>qq_40577921</author><pubDate>Wed, 18 Sep 2019 11:30:32 +0800</pubDate><description><![CDATA[package com.itjava.interview;

//枚举
public enum ContryEnum {

    //简单的数据库存在枚举中
    ONE(1,"齐"),TWO(2,"楚"),THREE(3,"燕"),FOUR(4,"赵"),FIVE(5,"魏"),SIX(6,"韩");


   private Integer retCode;

   private St...]]></description><category></category></item></channel></rss>