正则表达式语法结构图: Java正则表达式类库结构图: Java典型例子 1.String类 matches()方法 判断字符串是否符合特定正则表达式 @Test public void testRegex(){ String regex = ".*\\d{3}.*"; String str1 = "11tec34"; String str2 = "285dffd"; String str3 = "bac7736db"; //…
更多详情点击查看,点这里!这里!!这里!!! 文末获取所有面试PDF文档! Java概述 1. 何为编程 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路.方法.和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务.这种人和计算机之间交流的过程就是编程. 2. 什么是Java Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒…
Java中常用的IO操作基本上可以分为四大部分,分别是:File类操作.RandomAccessFile类操作.字节流操作.字符流操作.只要熟练掌握了本文中所列举的所有例子,基本上对于Java的IO流操作就可以说是掌握了. 下面将以JUnit测试用例的方式,用一个个例子的方式列出这四大部分中常用的操作例子. 一.File类操作 File类操作定义了最基本的.与操作系统的稳健系统相关的操作,可以对文件夹.文件进行一系列的操作.  1.常用的一些用法 //1.两个常量 @Test public vo…
写这个系列是想让自己多熟悉熟悉Java的基本类库,忘记的时候可以在这里看看之前写过的例子,这样就可以很快的回忆起来如何使用了. 这样就可以很节省时间了. ======= 下面是传送门啦 ======= 1.熟悉Java基本类库系列——目录 2.熟悉Java基本类库系列——Java IO 类库 (MARK 已基本完成) 3.熟悉Java基本类库系列——Java 多线程类库 (MARK 已基本完成) 4.熟悉Java基本类库系列——Java 正则表达式类库 (MARK 已基本完成) 5.熟悉Java…
这是java高并发系列第14篇文章. 本文主要内容: 讲解3种让线程等待和唤醒的方法,每种方法配合具体的示例 介绍LockSupport主要用法 对比3种方式,了解他们之间的区别 LockSupport位于java.util.concurrent(简称juc)包中,算是juc中一个基础类,juc中很多地方都会使用LockSupport,非常重要,希望大家一定要掌握. 关于线程等待/唤醒的方法,前面的文章中我们已经讲过2种了: 方式1:使用Object中的wait()方法让线程等待,使用Objec…
这是java高并发系列第17篇. 本文主要内容: 介绍CyclicBarrier 6个示例介绍CyclicBarrier的使用 对比CyclicBarrier和CountDownLatch CyclicBarrier简介 CyclicBarrier通常称为循环屏障.它和CountDownLatch很相似,都可以使线程先等待然后再执行.不过CountDownLatch是使一批线程等待另一批线程执行完后再执行:而CyclicBarrier只是使等待的线程达到一定数目后再让它们继续执行.故而Cycli…
本文目标: synchronized中实现线程等待和唤醒 Condition简介及常用方法介绍及相关示例 使用Condition实现生产者消费者 使用Condition实现同步阻塞队列 Object对象中的wait(),notify()方法,用于线程等待和唤醒等待中的线程,大家应该比较熟悉,想再次了解的朋友可以移步到线程的基本操作 synchronized中等待和唤醒线程示例 package com.itsoku.chat09; import java.util.concurrent.TimeU…
由于临界区的存在,多线程之间的并发必须受到控制.根据控制并发的策略,我们可以把并发的级别分为阻塞.无饥饿.无障碍.无锁.无等待几种. 阻塞 一个线程是阻塞的,那么在其他线程释放资源之前,当前线程无法继续执行.当我们使用synchronized关键字或者重入锁时,我们得到的就是阻塞的线程. synchronize关键字和重入锁都试图在执行后续代码前,得到临界区的锁,如果得不到,线程就会被挂起等待,直到占有了所需资源为止. 无饥饿(Starvation-Free) 如果线程之间是有优先级的,那么线程…
java基础解析系列(三)---HashMap java基础解析系列 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)---Integer java基础解析系列(三)---HashMap 这是我的博客目录,欢迎阅读 基本概念 节点: Node<Key,Value>,存放key和value static class Node<K,V> implements Map.Entry<K,V> { fi…
java高并发系列-第1天:必须知道的几个概念 同步(Synchronous)和异步(Asynchronous) 同步和异步通常来形容一次方法调用,同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为.异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作.而异步方法通常会在另外一个线程中"真实"地执行.整个过程,不会阻碍调用者的工作. 如图: 上图中显示了同步方法调用和异步方法调用的区别.对于调用者来说,异步调用似乎是一瞬间就完成的…