自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 收藏
  • 关注

原创 使用kubeadm安装Kubernetes集群

搭建k8s-kubeadm安装Kubernetes一、k8s介绍二、环境准备 使用vmware开三台centos7虚机 问题1:虚拟机不能访问公网? 先确保宿主机也就是你的电脑可以访问公网,然后如果虚拟机不能访问公网的话,就添加一个DNSvi /etc/resolv.confnameserver 180.76.76.76 #百度dns服务器 #接下来的所有操作在三台机器上都执行 1.设置主机名hostname,管理节点设置为master,其他...

2020-12-23 13:28:07 657 1

原创 servlet

1Servlet生命周期Servlet生命周期包括三部分初始化:Web容器加载servlet,调用init()方法处理请求:请求到达,戴永涛service()方法,service自动派遣调用相应的doXXX方法。销毁:服务结束,web容器会调用servlet的distroy()方法销毁servlet2、get提交和post提交有何区别(1)get一般用于从服务器上获取数据,...

2018-09-09 12:06:17 164

原创 java常用的设计模式

工厂设计模式package com.example.demo.javadata;public abstract class Operation { private double numberA = 0; private double getNumberB = 0; public double getNumberA() { return nu...

2018-09-07 11:01:17 184

原创 Java多线程系列--“JUC集合”04之 ConcurrentHashMap

ConcurrentHashMapConcurrentHashMap 是线程安全的哈希表,HashMap,Hasntable,ConcurrentHashMap之间的关联如下HashMap是非线程安全的哈希表,常用于单线程程序中Hashtable是线程安全的哈希表,它是通过synchronized来保证线程安全的,即,多线程通过同一个"对象的同步锁"来实现并发控制。Hashtable在...

2018-08-29 11:31:31 195

原创 Java 集合系列02之ArrayList详细介绍(源码解析)和使用示例

ArrayList介绍ArrayList简介ArrayList 是一个数组队列,相当于 动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口。ArrayList 继承了AbstractList,实现了List。它是一个数组队列,提供了相...

2018-08-19 14:00:33 133

原创 Java 集合系列01之 总体框架

java集合是java提供的工具包,包含了常用的数据结构:集合,链表,队列,栈,数组,映射等。java集合工具包位置是java.util.*java集合主要可以划分为4个部分:List集合,Set集合,Map映射,工具类(iterator迭代器,Enumeration枚举类,Arrays和Collections)java集合工具包框架图(如下):大致说明:看上面的框架图,先抓住...

2018-08-14 17:05:03 174

原创 java多线程系列--“JUC锁”03 公平锁

基本概念1AQS 指的 AbstractQueuedSynchronized 是java中管理锁的抽象类,锁的许多公共方法都是在这个类中实现的,AQS是独占锁和共享锁的公共父亲2AQS锁的类别01 独占锁   独占锁又被分为公平锁和非公平锁两种 公平锁是按照CLH等待线程先来先得的原则公平的获取锁,而非公平锁,则当线程要获取锁时,他会无视CLH等待队列而直接获取锁02 共享锁 能被...

2018-08-14 16:22:38 214

原创 java多线程系列--“JUC锁”02之 互斥锁ReentrantLock

ReentrantLock介绍ReentrantLock锁在同一个时间点只能被一个线程锁持有;而可重入的意思是 ReentrantLock锁,可以被单个线程对此获取ReentrantLock分为公平锁和非公平锁 他们的区别体现在获取锁的机制上是否公平。ReentrantLock是通过一个FIFO队列来管理获取该锁所有线程的,在"公平锁"的机制下,线程依次排队获取锁,而非公平锁是可获取状态时...

2018-08-14 14:22:13 128

原创 java多线程系列--“JUC锁”01之 框架

根据锁的添加和java中的时间java中的锁,可以分为"同步锁"和"JUC包中的锁"同步锁通过synchronized关键字来进行同步,实现对竞争资源的互斥访问的锁即通过synchronized关键字来进行同步,实现对竞争资源的互斥访问的锁。Java 1.0版本中就已经支持同步锁了。  同步锁的原理是,对于每一个对象,有且仅有一个同步锁;不同的线程能共同访问该同步锁。但是,在同一个...

2018-08-14 14:05:06 163

翻译 java多线程系列--"JUC"原子类 05 之AtomicLongFieldUpdater原子类

AtomicLongFieldUpdater介绍和函数列表AtomicLongFileUpdater可以对指定的类的"volatire long"类型的成员 进行原子更新,它是基于反射原理实现的// 受保护的无操作构造方法,供子类使用。protected AtomicLongFieldUpdater()// 以原子方式将给定值添加到此更新器管理的给定对象的字段的当前值。long ...

2018-08-11 19:53:39 166

原创 java多线程系列--"JUC"原子类 04 之AtomicReference原子类

AtomicReference介绍和函数列表AtomicReference函数列表// 使用 null 初始值创建新的 AtomicReference。AtomicReference()// 使用给定的初始值创建新的 AtomicReference。AtomicReference(V initialValue)// 如果当前值 == 预期值,则以原子方式将该值设置为给定的更新值...

2018-08-11 16:30:34 132

原创 java多线程系列--"JUC"原子类 03 之AtomicLongArray原子类

AtomicLongArray介绍和函数列表上篇说过AtomicLong的作用是对长整型进行原子操作,而AtomicLongArray的作用是对"长整型数组"进行原子操作AtomicLongArray函数列表// 创建给定长度的新 AtomicLongArray。AtomicLongArray(int length)// 创建与给定数组具有相同长度的新 AtomicLongArr...

2018-08-11 16:04:12 141

原创 java多线程系列--"JUC"原子类 02 之AtomicLong原子类

AtomicInteger,AtomicLong和AtomicBoolean这三个基本类型的原子类的原理和用法相似。介绍下AtomicLongAtomicLong介绍和函数列表// 构造函数AtomicLong()// 创建值为initialValue的AtomicLong对象AtomicLong(long initialValue)// 以原子方式设置当前值为newValue。...

2018-08-11 15:54:26 188

原创 java多线程系列--"JUC"原子类 01 之框架

根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类1 基本类型:AtomicInteger,AtomicLong,AtomicBoolean;2 数组类型:AtomicIntegerArray,AtomicLongArray,AtomicReferenceArray3  对象的属性修改类型: AtomicIntegerFieldUpdater, AtomicLongField...

2018-08-11 15:14:34 149

原创 java io ----- 12BufferedOutputStream缓冲输出流的认知

BufferedOutputStream介绍BufferedOutputStream 是缓冲输出流,它继承于FilterOutputStreamBufferedOutputStream的作用是为另一个输出流提供"缓冲功能"BufferedOutStream函数列表BufferedOutputStream(OutputStream out)BufferedOutputStream...

2018-08-11 14:31:37 7491

原创 java io ----- 12BufferedInputStream缓冲输入流的认知

BufferedInputStream介绍BufferedInputStream是缓冲输入流,它继承于FilterInputStreamBufferedInputStream 的作用是为另一个输入流添加一些功能,例如 提供缓存功能,以及支持mark()标记和reset()重置方法BufferedInputStream本质上是通过一个内部缓冲数组实现的,例如在新建某输入流对应的Buffe...

2018-08-11 13:18:21 122

原创 java io ----- 11FilterOutputStream

FilterOutputStream介绍FilterOutputStream 的作用是用来“封装其它的输出流,并为它们提供额外的功能”。它主要包括BufferedOutputStream, DataOutputStream和PrintStream。(01) BufferedOutputStream的作用就是为“输出流提供缓冲功能”。(02) DataOutputStream 是用来装饰...

2018-08-09 15:03:22 130

原创 java io ----- 10FilterInputStream 总结

FileterInputStream 介绍FilterInputStream的作用是用来封装其他的输入流的,并为他们提供额外的功能,它的常用子类有BufferesInputStream和DataInputStreamBufferInputStream的作用就是在为"输入流提供缓存功能,以及mark()和reset()功能"DataInputStream 是用来装饰其他输入流,它允许"应...

2018-08-09 14:55:39 371

原创 java io ----- 09FileDescriptor总结

FileDescriptor介绍FileDescriptor是"文件描述符"FileDescriptor可以被用来表示开放文件 开放套接字等以FileDescriptor表示文件来说:当FileDescriptor表示某文件时,我们可以通俗的将FileDescriptor看成是该文件。但是,我们不能直接通过FileDescriptor对该文件进行操作;若需要通过FileDescript...

2018-08-09 14:40:47 110

原创 java io ----- 08File总结

File介绍File是"文件"和"目录路径名"的抽象表示形式File直接继承与Object 实现了Serializable接口和Comparable接口,意味着File对象支持序列化操作,而实现Comparable接口,意味着File对象可以比较大小File能直接被存储在有序集合(如TreeSet TreeMap)中File 函数列表// 静态成员public static...

2018-08-09 13:49:42 95

原创 java io ----- 07序列化总结 (FileInputStream和FileOutputStream)

FileInputStream和FileOutputStream介绍FileInputStream是文件输入流,它继承于InputStream通常,我们使用FileInputStream从某个文件中获得输入字节FileOutputStream是文件输出流,他继承与OutPutStream通常,我们使用FileOutputStream将数据 写入File或FileDescriptor...

2018-08-09 13:19:37 495

原创 java io ----- 06序列化总结 (Serializable和Externalizable )

1序列化的作用和用途序列化,就是为了保存对象的状态;而与之对应的反序列化,则可以把保存的对象状态再读出来简言之:序列化、反序列化 是java提供一种专门用于的保存/回复对象状态的机制、一般在以下几种情况下,我们可能会用到序列化a 当你想把内存中的对象状态保存到一个文件或者数据库中时b 当你想用套接字在网络上传送对象时侯c 当你想通过RMI传输对象的时候2演示程序下面...

2018-08-09 10:52:28 169

原创 java io ----- 05 (ObjectInputStream 和ObjectOutputStream )

ObjectInputStream和ObjectOutputStreamObjectInputStream和ObjectOutputStream的作用是,对基本数据和对象进行序列化操作支持创建"文件输出流"对应的ObjectOutPutStream对象,该ObjectOutputStream对象能提供对 基本数据类型或对象的持久存储,当我们需要读取这些存储的"基本类型或对象时",可以创建"...

2018-08-08 20:02:08 126

原创 java io ----- 04 管道(PipedOutputStream和PipedInputStream)

java管道介绍在java中PipOutputStream和PipedInputStream分别是管道输出流和管道输入流他们的作用是让多线程可以通过管道进行线程间的通讯,在使用管道通信时,必须将PipedOutputStream和PipedInputStream配套使用使用管道通信时,大致的流程是:我们在线程A中向PipedOutputStream中写入数据,这些数据会自动的发送到与P...

2018-08-08 18:33:02 507

原创 java io ----- 02 ByteArrayOutputStream

ByteArrayInputStream 是字节数组输出流ByteArrayOutputStream 中的数据被写入一个 byte 数组。缓冲区会随着数据的不断写入而自动增长。可使用 toByteArray() 和 toString() 获取数据。OutputStream函数列表(ByteArrayOutputStream的父类OutputStream的函数接口)// 构造函数Ou...

2018-08-08 15:53:25 87

原创 java io ----- 02 ByteArrayInputStream

ByteArrayInputStream介绍ByteArrayInputStream是字节数组输入流,继承于InputStream,它包含一个内部缓冲区,该缓冲区包含从流中读取的字节,它的内部缓冲区就是一个字节数组,而ByteArrayInputStream本质就是通过字节数组来实现的。inputSteam通过read()向外提供接口,供他们来读取字节数据,而ByteArrayInputStr...

2018-08-08 15:20:59 112

原创 java io ----- 01

java io 简介java io 系统设计的初衷,就是为了实现"文件,控制台,网络设备"这些io设置的通信,例如,对于一个文件,然后进行读取和写入。在java1.0中,java提供的类都是以字节为单位,例如FileInputStream 和 FileOutputStream,而到了java1.1为了与国际化进行接轨,在java io中添加了许多以字符(Unicode)为单位进行操作的类...

2018-08-08 09:47:28 79

原创 java多线程系列基础篇11-----线程优先级和守护线程

1 生产/消费者模型生产/消费者问题是个非常典型的多线程问题,涉及到的对象包括"生产者","消费者","仓库"和"产品"他们之间的关系如下01 生产者仅仅在仓储未满时候生产,仓满则停止生产。02 消费者仅仅在仓储有产品的时候才能消费,仓空则等待03 当消费者发现仓储没产品的时候,会通知生产者生产04 生产者在生产出可消费产品的时候,应该通知等待的消费者去消费// Demo...

2018-08-07 10:30:18 137

原创 java多线程系列基础篇10-----线程优先级和守护线程

1 线程优先级的介绍java中的线程优先级的范围是1-10,默认的优先级是5。"高优先级线程"会优先于"低优先级线程"执行java中有两种线程:用户线程和守护线程。可以通过isDaemon()方法来区别他们:如果返回false,则说明该线程是"用户线程";否则就是"守护线程"用户线程一般用户执行用户级任务,而守护线程也就是后台线程,一般用来执行后台任务,需要注意的是:java虚拟机在"...

2018-08-06 17:57:55 134

原创 java多线程系列基础篇09-----interrupt()和线程终止方式

1 interrup关于interrupt javajdk文档描述如下interrupt()的作用是中断本线程本线程中断自己是被允许的;其他线程调用本线程的interrupt()方法时,会通过checkAccess()检察权限,这有可能跑出SecurityException异常如果本线程是处于阻塞状态:调用线程的wait() wait(long,int) 会让它进入等待(阻塞)状态,或...

2018-08-06 16:32:55 117

原创 java多线程系列基础篇08-----join()

1 join介绍join()定义在Thread.java中join()的作用:让"主线程"等待"子线程"结束之后才能继续执行,下面看例子// 主线程public class Father extends Thread { public void run() { Son s = new Son(); s.start(); s.j...

2018-08-06 14:24:13 90

原创 java多线程系列基础篇07-----线程休眠

1 sleep()介绍sleep()定义在Thread.java中sleep()的作用是让当前线程休眠,即当前线程会从"运行状态"进入到"休眠(阻塞)状态。sleep()会指定休眠时间,线程休眠的时间会大于/等于该休眠时间;在线程重新被唤醒时,它会由阻塞状态变成就绪状态,从而等于cpu的调度执行2 sleep()示例package com.tuhu.filt.javadatasl...

2018-08-06 11:37:23 176

原创 java多线程系列基础篇06-----线程让步

1 yield()介绍yield()的作用是让步,他能让当前线程由"运行状态"到"就绪状态",从而让其他具有相同相同优先级的等待线程获取执行权,但是,并不能保证在当前线程调用yield()之后,其他具有相同优先级的线程就一定能获得执行权,也有可能又进入到"运行状态"继续运行"2yield()示例package com.tuhu.filt.javadatayield;public ...

2018-08-06 10:23:57 164

原创 java多线程系列基础篇05-----线程等待与唤醒

wait(),notify(),notifyAll()等方法介绍在Object.java中,定义了wait(),notify(),和notifyAll()等接口。wait()的作用是让当前线程进入等待状态,同时,wait()也会让当前线程释放它所持有的锁。而notify()和notifyAll()的作用,则是唤醒当前对象上的等待线程,notify()是唤醒单个线程,而notifyAll()是唤...

2018-08-04 21:47:32 105

原创 java多线程系列基础篇03-----Thread中的start()和run()的区别

Thread类中的start()和run()的区别说明start():它的作用是启动一个新的线程,新线程会执行相应的run()方法,start()不能被重复调用run():run()就和普通的成员方法一样,可以被重复调用,单独调用run()的话,会在当前线程中执行run(),而并不会启动新线程下面来代码说明一下package com.tuhu.filt.javadata;pu...

2018-08-04 20:26:07 169

原创 java多线程系列基础篇02-----实现多线程的两种方式

常用的实现多线程的两种方式 Thread 和 Runnable 为什么是常用的那,因为还可以通过juc包里面的线程池来实现多线程,Thread和Runnable简介Runnable 是一个接口 该接口中只包含了一个Run()方法 它的定义如下public interface Runnable { public abstract void run();}Runnable的...

2018-08-04 19:41:35 243 1

原创 java多线程系列基础篇01-----基本概念

JUC包指的是 java.utile.concurrent包 在java1.5添加到java中的线程共包括以下5种状态1 新建状态(New):线程对象被创建后,就进入了新建状态,例如 Thread thread = new Thread();2 就绪状态(Runnable):也被称为"可执行状态" 线程对象被创建后,其他线程调用了该对象的start()方法,从而启动该线程。例如,thr...

2018-08-04 18:37:08 159 1

原创 java多线程系列04-----synchronized关键字

1synchronized原理在java中每一个对象有且仅有一个同步锁,这也意味着同步锁是依赖对象而存在。当我们在调用对象的synchronized方法时,就获取了该对象的同步锁,例如synchronized(obj)就获取了"obj这个对象"的同步锁不同线程对同步锁的访问是互斥的,也就是说,在某个时间点,对象的同步锁只能被一个线程获取到!通过同步锁,我们可以实现对对象/方法的互斥访问...

2018-08-04 18:02:14 132

原创 并发编程------volatire和cas

 

2018-07-28 19:03:07 159

原创 剑指offer--算法题--27--二叉树中和为某一值的路径

题目描述:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。输入:每个测试案例包括n+1行:第一行为2个整数n,k(1<=n<=10000),n表示结点的个数,k表示要求的路径和,结点编号从1到n。                                          ...

2018-07-24 20:47:45 123

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除