Java 设计模式汇总
摘要:Java设计模式可分为三大类 创建型模式 我个人的理解,创建对象的一种抽象,结合业务场景选择合适的创建模式,书本里的设计模式是工程经验的积累,记几个模板总归有用 工厂模式 单例模式...... 组合型模式 我个人的理解,接口使用的一种抽象,听名字就知道是把不同类组合在一起的模式 代理模式 适配器模式
阅读全文
Java Stake实现
摘要:以上是Java stack的实现,可以看出stack是基于vector的实现,新增了 pop()队尾元素出列 peek()查看队尾元素 empty()查看是否为空 search()方法查看输入元素所处位置 三个方法 push()属于vector原有方法 因为vector已经实现了动态扩容,增删改查等
阅读全文
java annotation
摘要:先用通俗易懂的语言来介绍annotation annotion 注解,当然这个名字太学术了,你可以理解它为标签。 比如说,小明有辆好车,大家给了他一个标签,表示其很有钱。而annotation就类似这么一个东西,它可以给 方法、字段 等等贴上一个标签,方便编程。 在Java内,有三种预置的annot
阅读全文
Java io包 FileInputStream&FileOutStream
摘要:分析FileInputStream,其中finalize()被覆写,优先使用finalize(),close()方法可能内存泄漏,或者手动colse()之前做好检查 package java.io; import java.nio.channels.FileChannel; import sun.n
阅读全文
Java io包 ByteArrayInputStream&ByteArrayOutStream
摘要:package java.io; /** * A <code>ByteArrayInputStream</code> contains * an internal buffer that contains bytes that * may be read from the stream. An in
阅读全文
Java io包 inputstream&outputstream
摘要:分析InputStream /** * This abstract class is the superclass of all classes representing * an input stream of bytes. * * <p> Applications that need to de
阅读全文
Java executors创建线程池和使用ThreadPoolExecutor
摘要:Java.util.concurrent包下 executors创建线程池 1. Executors.newFixedThreadPool() 创建一个定长的线程池,每提交一个任务就创建一个线程,直到达到池的最大长度,这时线程池会保持长度不再变化 固定数量的核心线程 虽然线程数量是固定的,但是阻塞队
阅读全文
Java 异常
摘要:Java异常首先可以分为exception,表示程序出错,可以处理。 error,表示Java运行环境出错,由jvm抛出,无法处理。 exception又可以分为checkedException,这是我们需要处理的异常,比如IO异常,SQL异常,我们需要catch或者throw到外层再catch r
阅读全文
Java 基本类型和包装类型
摘要:讲基本类型和包装类型之前,首先要介绍,装箱和拆箱 装箱:基本类型转化为包装类型 拆箱:包装类型转化为拆箱类型 为什么要有包装类型?Java是面向对象的语言,Java中一切都是对象除了基本数据类型,所以有时候我们需要把基本类型转化为对象来使用,就需要包装类型 所有的包装类(Integer、Long、B
阅读全文
Java内存模型 JMM
摘要:本文参考自https://infoq.cn/article/java-memory-model-1 JMM是指Java内存模型,这个和JVM内存区域划分是不同的东西,之前有在讲volatile关键字时提到,这个做个详细的讲解。 为什么要了解JMM呢?并发编程时我们都知道多线程通信有两种主要的方法:共
阅读全文
Java 集合类实现原理
摘要:转载自:http://blog.csdn.net/qq_25868207/article/details/55259978 ;##ArrayList实现原理要点概括 参考文献:http://zhangshixi.iteye.com/blog/674856l ArrayList是List接口的可变数组
阅读全文
Java IO
摘要:Java IO Java的输入流和输出流 “流”是指从源“流向”目的地的数据流,Java把各种数据源和目标之间数据的传输统一抽象为流,通过对流的读写操作来实现IO操作 首先通过一张图片来了解Java IO(图片来自菜鸟教程) 看了图片之后可以知道IO操作离不开Reader,Writer,InputS
阅读全文
Java Arrays
摘要:最近经常有操作数组的需求,排序,倒转等操作,所以深入了解一下Arrays类 equals(a,b)比较数组a和数组b是否相等 toString(a)输出数组a binarySearch(a,i)二分查找数组a中值等于i的索引位置 sort(a)把数组a从小到大排序 sort(a,cmp)cmp是排序
阅读全文
Java 几种锁
摘要:自旋锁 自旋锁顾名思义,它会等待一定时间(自旋),在这期中会什么都不做就是等资源被释放,好处在于没有了内核态用户态切换的效率损失,但是如果它一直不能访问到资源的话就会一直占用cpu资源,所以它会循环一段时间后进入阻塞状态。 重量级锁 synchronized就是重量级锁的实现机制,抢不到资源的进程会
阅读全文
Java Scanner
摘要:最近在牛课网上写题目,经常要用到Scanner所以借此我总结了一下Scanner的常见用法 最常见的开头 Scanner in = new Scanner(System.in); 然后有 in.hasNext() //判断有没有输入 常见用法 in.next()//在接受字符串之前遇到空格和回车会忽
阅读全文
Java String和StringBuffer和StringBuilder
摘要:最近在牛课网上做了几道字符串操作的题目,好久没有做题了,之前用的也是大一时C语言做的,对Java字符串操作不太了解,所以深入了解一下String类的相关用法 String构造方法 String() 空构造String(byte[] bytes) 把字节数组转成字符串String(byte[] byt
阅读全文
Java LinkedList
摘要:LinkedList是基于双向链表实现的,先看构造方法和方法 Constructor Summary Constructors ConstructorDescription LinkedList() Constructs an empty list. LinkedList(Collection<?
阅读全文
Java ArrayList
摘要:Java ArrayList的构造方法和方法 Constructor Summary Constructors ConstructorDescription ArrayList() Constructs an empty list with an initial capacity of ten. A
阅读全文
Java ReentrantLock
摘要:Java ReentrantLock 个人认为的好处主要在于用condition(await,signal)代替了synchronized的(wait,notify) synchronized的(wait,notify)唤醒线程只能所有都唤醒或者唤醒随机一个 condition(await,sign
阅读全文
Java Timer
摘要:Java Timer 定时类,主要用来执行定时任务 Timer管理所有要执行的定时任务 TimerTask封装好的定时任务 常见的用法 Schedules the specified task for execution after the specified delay. Schedules th
阅读全文