JavaSE
Kyrie2011
这个作者很懒,什么都没留下…
展开
-
finally语句到底在return之前还是之后执行?
在finally语句块执行的前提下,讨论finally语句到底在return之前还是之后。原创 2020-03-01 01:32:40 · 815 阅读 · 0 评论 -
CAS笔记
CAS(Compare And Swap)独占锁是一种悲观锁,而 synchronized 就是一种独占锁,synchronized 会导致其它所有未持有锁的线程阻塞,而等待持有锁的线程释放锁。所谓乐观锁就是,每次不加锁而是假设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止。而乐观锁用到的机制就是CAS。在java中可以通过锁和循环CAS的方式来实现原子操作。java.util....转载 2019-06-30 20:24:39 · 101 阅读 · 0 评论 -
BlockingQueue 实现生产者消费者问题
FIFO 队列 :LinkedBlockingQueue、ArrayBlockingQueue(固定长度)优先级队列 :PriorityBlockingQueue提供了阻塞的 take() 和 put() 方法:如果队列为空 take() 将阻塞,直到队列中有内容;如果队列为满 put() 将阻塞,直到队列有空闲位置。import java.util.concurrent.ArrayBl...原创 2019-06-29 19:55:37 · 351 阅读 · 0 评论 -
Java中对象的浅拷贝与深拷贝
浅拷贝:拷贝对象与原始对中的引用类型引用同一个对象(指针指向同一个对象)public class CloneDemo implements Cloneable{ private int[] arr; public CloneDemo(){ arr = new int[10]; for (int i = 0; i < arr.length; ...原创 2019-06-28 15:32:05 · 169 阅读 · 0 评论 -
同步阻塞BIO与同步非阻塞NIO
//模拟服务器端import java.io.InputStream;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.net.Socket;import java.text.SimpleDateFormat;import java.util.Date;import java.util...转载 2019-06-27 20:58:55 · 198 阅读 · 0 评论 -
异常相关
Java的异常(包括Exception和Error)分为检查异常(checked exceptions)和非检查的异常(unchecked exceptions)。其中根据Exception异常进行划分,可分为运行时异常和非运行时异常。检查异常(checked exception)?就是编译器要求你必须处置的异常。不知道你编程的时候有没有遇到过,你写的某段代码,编译器要求你必须要对这段代码...转载 2019-06-25 21:38:49 · 137 阅读 · 0 评论 -
单例设计模式
单例模式主要是为了避免因为创建了多个实例造成资源的浪费,且多个实例由于多次调用容易导致结果出现错误,而使用单例模式能够保证整个应用中有且只有一个实例。//单例模式的饿汉式class Singleton1{ private static Singleton1 instance = new Singleton1(); //私有构造方法,防止new对象 private Sin...原创 2019-06-28 16:14:13 · 99 阅读 · 0 评论 -
多线程(转载)
转载出处http://blog.csdn.net/evankaka 写在前面的话:此文只能说是java多线...转载 2019-06-04 11:56:05 · 88 阅读 · 0 评论 -
switch支持的数据类型
在JDK1.5之前,switch循环只支持byte short char int四种数据类型。JDK1.5 在switch循环中增加了枚举类与byte short char int的包装类,对四个包装类的支持是因为java编译器在底层手动进行拆箱,而对枚举类的支持是因为枚举类有一个ordinal方法,该方法实际上是一个int类型的数值。JDK1.7开始支持String类型,但实际上String...原创 2019-05-12 22:49:45 · 4971 阅读 · 0 评论 -
实现线程同步
多线程同步: 1.同步代码块 2.同步方法 3.Lock机制 当使用多个线程访问同一资源的时候,且多个线程中对资源有写操作,就容易出现线程安全问题。比如,如下是三个线程如同三个窗口售票,同时对tickets进行操作即售票,就会引发线程安全问题。解决方式是:多线程同步。package com.thread.exe;import java.util.concurre...原创 2019-04-29 22:38:41 · 95 阅读 · 0 评论 -
多线程通信-生产者与消费者问题
手撸一个简单的消费者与生产者多线程通信demopackage com.thread.exe;import com.java.bean.Cake;public class Demo2_thread { public static void main(String[] args) { /* * 线程间的通信 * 等待-唤醒案例(敲代码) 生产者与消费者模型 * w...原创 2019-04-29 22:32:28 · 198 阅读 · 0 评论