Java
文章平均质量分 79
LifeBackwards
专注计算机视觉、深度学习
展开
-
正则符号说明
1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 至少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零和非零开头的数字:^(0|[1-9][0-9]*)$6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$8 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$9 有两位小数的正实数:^[0-9]+(...原创 2021-08-30 11:30:04 · 174 阅读 · 0 评论 -
The Log
前言这是一篇学习笔记。学习的材料来自Jay Kreps的一篇讲Log的博文。原文很长,但是我坚持看完了,收获颇多,也深深为Jay哥的技术能力、架构能力和对于分布式系统的理解之深刻所折服。同时也因为某些理解和Jay哥观点吻合而略沾沾自喜。Jay Kreps是前Linkedin的Principal Staff Engineer,现任Confluent公司的联合创始人和CEO,Kafka和Samza的主转载 2017-08-17 15:50:12 · 256 阅读 · 0 评论 -
J2EE基础知识
目录Servlet总结阐述Servlet的CGI的区别CGI的不足之处Servlet的优点Servlet接口中有哪些方法及Servlet生命周期探秘get和post请求的区别什么情况下调用doGet()和doPost()转发(Forward)和重定向(Redirect)的区别自动刷新(Refresh)Servlet与线程安全JSP和Servlet是什么关...转载 2019-04-09 17:54:16 · 176 阅读 · 0 评论 -
Java面试总结
Java面试总结分类 总结博客快速导航 Java面试之基础篇 https://blog.csdn.net/daodaipsrensheng/article/details/89151674 Java面试之集合篇 https://blog.csdn.net/daodaipsrensheng/article/details/89157828 Java面试之...转载 2019-04-09 15:46:55 · 203 阅读 · 0 评论 -
Java面试之算法篇
目录 博客链接 十大经典排序算法 https://blog.csdn.net/daodaipsrensheng/article/details/89321053转载 2019-04-15 21:23:06 · 140 阅读 · 0 评论 -
Java面试之框架篇
目录 博客链接 Spring AOP入门 https://blog.csdn.net/daodaipsrensheng/article/details/89236697 Spring IOC的原理及详解 https://blog.csdn.net/daodaipsrensheng/article/details/89237290 SpringMVC的执行过程 h...转载 2019-04-12 14:40:38 · 141 阅读 · 0 评论 -
Java面试之JVM篇
Java面试之JVM篇主要知识点在第一篇,常规面试看第一篇即可,后面是细化的知识点介绍。目录 博客链接 Java虚拟机知识点总结 https://blog.csdn.net/daodaipsrensheng/article/details/89236131 ...转载 2019-04-12 14:06:09 · 257 阅读 · 0 评论 -
Java虚拟机知识点总结
目录Java的平台无关性即一次编译处处执行如何实现为什么JVM不直接将源码解析成机器码去执行JVM如何加载.class文件/类加载机制Java类加载器及如何加载类双亲委派模型工作工程:双亲委派模型的实现过程:双亲委派模型的优点:类的加载方式loadClass和forName的区别内存分配JVM内存分配JVM内存分代机制,各代特点,分代回收优点常...原创 2019-04-12 14:05:34 · 289 阅读 · 0 评论 -
Java多线程面试题及答案
目录i++ 是线程安全的吗?多线程有什么用?创建线程的方式start()方法和run()方法的区别Runnable接口和Callable接口的区别CyclicBarrier和CountDownLatch的区别volatile关键字的作用什么是线程安全Java中如何获取到线程dump文件一个线程如果出现了运行时异常会怎么样如何在两个线程之间共享数据sl...转载 2019-04-12 13:34:40 · 227 阅读 · 0 评论 -
Java多线程-乐观锁与悲观锁
目录悲观锁与乐观锁乐观锁常见的两种实现方式1. 版本号机制2. CAS算法乐观锁的缺点1 ABA 问题2 循环时间长开销大3 只能保证一个共享变量的原子操作CAS与synchronized的使用情景悲观锁与乐观锁悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享...转载 2019-04-12 13:26:18 · 191 阅读 · 0 评论 -
Java多线程-线程池与Executor框架
目录一 使用线程池的好处二 Executor框架2.1 简介2.2 Executor 框架结构(主要由三大部分组成)1 任务。2 任务的执行3 异步计算的结果2.3 Executor框架的使用示意图1. 主线程首先要创建实现Runnable或者Callable接口的任务对象。2. 然后可以把创建完成的Runnable对象直接交给ExecutorServic...转载 2019-04-12 13:17:24 · 396 阅读 · 0 评论 -
Java多线程-Lock锁的使用
目录一 Lock接口1.1 Lock接口简介1.2 Lock的简单使用1.3 Lock接口的特性和常见方法二 Lock接口的实现类:ReentrantLock2.1 第一个ReentrantLock程序2.2 Condition接口简介2.3 使用Condition实现等待/通知机制三 ReadWriteLock接口的实现类:ReentrantReadWrite...转载 2019-04-12 10:32:31 · 197 阅读 · 0 评论 -
Java多线程-join和ThreadLocal的使用
目录Thread.join()的使用join方法使用join(long millis)方法的使用ThreadLocal的使用ThreadLocal类的初试验证线程变量间的隔离性3.3 InheritableThreadLocalThread.join()的使用在很多情况下,主线程生成并起动了子线程,如果子线程里要进行大量的耗时的运算,主线程往往将于子线程之前结...转载 2019-04-11 17:38:17 · 100 阅读 · 0 评论 -
Java多线程-wait/notify机制
等待/通知(wait/notify)机制一 等待/通知机制介绍1.1 不使用等待/通知机制当两个线程之间存在生产和消费者关系,也就是说第一个线程(生产者)做相应的操作然后第二个线程(消费者)感知到了变化又进行相应的操作。比如像下面的whie语句一样,假设这个value值就是第一个线程操作的结果,doSomething()是第二个线程要做的事,当满足条件value=desire后才...转载 2019-04-10 10:50:27 · 128 阅读 · 0 评论 -
Java多线程-volatile关键字
volatile关键字目录一 简介二 volatile关键字的可见性三 volatile关键字能保证原子性吗?四 synchronized关键字和volatile关键字比较一 简介Java中的“volatile关键字”:在 JDK1.2 之前,Java的内存模型实现总是从主存(即共享内存)读取变量,是不需要进行特别的注意的。而在当前的 Java 内存模型下,线程可以...转载 2019-04-10 10:31:18 · 317 阅读 · 0 评论 -
Java面试基础篇
Java面试基础篇基础总结 博客链接导航 Java语言基础常识 https://blog.csdn.net/daodaipsrensheng/article/details/89151796 J2EE基础知识 https://blog.csdn.net/daodaipsrensheng/article/details/89156207 Java...转载 2019-04-09 15:49:46 · 139 阅读 · 0 评论 -
Java面试之语言基础
目录Java八种基本数据类型 Java三大基础特性面向对象和面向过程的区别面向过程面向对象Java与C++对比Java8 新特性Java反射机制Java异常机制ThrowableErrorExceptionThrowable类常用方法异常处理总结在以下4种特殊情况下,finally块不会被执行关于返回值各种比较O...转载 2019-04-09 15:51:24 · 373 阅读 · 0 评论 -
Dubbo面试题及答案
目录Dubbo是什么?为什么要用Dubbo?Dubbo 和 Spring Cloud 有什么区别?dubbo都支持什么协议,推荐用哪种?Dubbo需要 Web 容器吗?Dubbo内置了哪几种服务容器?Dubbo里面有哪几种节点角色?画一画服务注册与发现的流程图Dubbo默认使用什么注册中心,还有别的选择吗?Dubbo有哪几种配置方式?Dubbo 核...转载 2019-04-14 09:08:54 · 2265 阅读 · 0 评论 -
Java线程与锁知识点总结
Java线程与锁知识点总结目录进程与线程线程的状态实现线程的几种方式进程和线程的区别Java进程和线程的关系多线程的概念多线程与高并发的联系Thread中的start和run方法的区别Thread和Runnable的关系如何实现处理线程的返回值volatile和synchronized的区别sychronized和Locksynchroniz...转载 2019-04-10 09:48:01 · 163 阅读 · 0 评论 -
Java面试之多线程篇
主要知识点在第一篇,常规面试看第一篇即可,后面是细化的知识点介绍。篇章 链接 Java线程与锁知识点总结 https://blog.csdn.net/daodaipsrensheng/article/details/89174058 Java多线程-synchronized关键字 https://blog.csdn.net/daodaipsrensheng/artic...转载 2019-04-10 09:28:28 · 178 阅读 · 0 评论 -
java集合面试题整理
目录HashMap和HashTable的区别HashTable和ConcurrentHashMap的区别HashMap 的查询时间复杂度LinkedList和ArrayList的区别HashMap和HashTable的区别HashMap是非线程安全的(非synchronized),HashTable是线程安全的(synchronized)。 HashMap的key...转载 2019-04-10 09:11:23 · 232 阅读 · 0 评论 -
HashMap源码学习
HashMap源码学习目录HashMap简介底层数据结构分析JDK1.8之前JDK1.8之后HashMap源码分析构造方法 put方法get方法resize方法HashMap常用方法测试HashMap简介HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。JDK1.8 之前 HashMap 由 数...转载 2019-04-10 09:07:34 · 114 阅读 · 0 评论 -
LinkedList源码学习
目录简介内部结构分析LinkedList源码分析构造方法add()方法根据位置取数据的方法根据对象得到索引的方法检查链表是否包含某对象的方法:LinkedList类常用方法测试LinkedList源码学习简介LinkedList是一个实现了List接口和Deque接口的双端链表。 LinkedList底层的链表结构使它支持高效的插入和删除操作,另...转载 2019-04-10 08:54:19 · 129 阅读 · 0 评论 -
透过源码角度分析ArrayList扩容机制
目录一 先从ArrayList的构造函数说起二 一步一步分析ArrayList扩容机制1.先来看add()方法2.在看ensureCapacityInternal()方法3.ensureExplicitCapacity()方法4.grow()方法5.hugeCapacity()方法三 System.arraycopy()和Arrays.copyOf()方法3.1...转载 2019-04-09 19:21:41 · 222 阅读 · 0 评论 -
ArrayList源码学习
目录文章目录ArrayList简介ArrayList核心源码源码重点方法分析System.arraycopy()和Arrays.copyOf()方法ArrayList核心扩容技术ArrayList经典DemoArrayList简介ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使...转载 2019-04-09 18:46:59 · 98 阅读 · 0 评论 -
集合基础篇
Java集合基础目录Collection与Collections集合和数组的不同集合分类Collection1. List2. Set3. QueueMapCollection与CollectionsCollection是所有集合类的根接口 Collections是提供集合操作的工具类集合和数组的不同数组元素可以为基本数据类...转载 2019-04-09 18:37:02 · 132 阅读 · 0 评论 -
Java面试之集合篇
Java面试之集合篇篇章 个人博客链接 集合基础篇 https://blog.csdn.net/daodaipsrensheng/article/details/89157869 ArrayList源码学习 https://blog.csdn.net/daodaipsrensheng/article/details/89158090 透过源码角度分析Arra...转载 2019-04-09 18:30:12 · 132 阅读 · 0 评论 -
Java12 新特性
文章目录JDK 12 1、Shenandoah:低暂停时间的 GC(实验性功能) 2、微基准测试套件 3、Switch 表达式(预览功能) 4、JVM 常量 API 5、只保留一个 AArch64 实现 6、默认类数据共享归档文件 7、可中止的 G1 Mixed GC 8、G1 及时返回未使用的已分配内存 观望 JDK 13JDK 12美国当地...转载 2019-04-09 18:10:22 · 157 阅读 · 0 评论 -
Java的强引用、弱引用、软引用、虚引用
Java的强引用、弱引用、软引用、虚引用1. 强引用(StrongReference) 2、软引用(SoftReference) 3、弱引用(WeakReference) 4、虚引用(PhantomReference) 5、总结1. 强引用(StrongReference)强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收期绝不会回收它。如下:Object ...转载 2019-04-09 18:07:40 · 109 阅读 · 0 评论 -
Java多线程-synchronized关键字
目录synchronized关键字一 简介二 变量安全性三 多个对象多个锁四 synchronized方法与锁对象五 脏读六 synchronized锁重入七 同步不具有继承性synchronized同步语句块一 synchronized方法的缺点二 synchronized(this)同步代码块的使用三 synchronized(object)代码...转载 2019-04-10 10:16:20 · 117 阅读 · 0 评论 -
httpClient访问远程接口工具类
/** * 功能:httpClient访问远程接口工具类 * */@SuppressWarnings("deprecation")public class HttpClientUtil { /** * <pre> * 方法体说明:向远程接口发起请求,返回字符串类型结果 * @param url 接口地址 * @param requestMetho...转载 2018-06-13 19:23:10 · 267 阅读 · 0 评论 -
HashMap的实现原理
本文转自 http://www.cnblogs.com/xwdreamer/archive/2012/05/14/2499339.html1.HashMap的数据结构 数组的特点是:寻址容易,插入和删除困难;而链表的特点是:寻址困难,插入和删除容易。那么我们能不能综合两者的特性,做出一种寻址容易,插入删除也容易的数据结构?答案是肯定的,这就是我们要提起的哈希表,哈希表有多种不同的转载 2016-09-27 22:10:41 · 191 阅读 · 0 评论 -
面向接口编程的意义
在项目中的意义:在传统的项目开发过程中,由于客户的需求经常变化,如果不采用面向接口编程,那么我们必须不停改写现有的业务代码。改写代码可能产生新的BUG,而且改写代码还会影响到调用该业务的类,可能全都需要修改,影响系统本身的稳定性。而且为了将改写代码带来的影响最小,我们不得不屈服当前的系统状况来完成设计,代码质量和稳定性更低。当这种情况积累到一定程度时,系统就会出现不可预计的错误,代码凌乱,不易转载 2016-10-13 11:11:49 · 2839 阅读 · 0 评论 -
Java 中 static 和 final 用法
一、final1.final变量: 当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变。其初始化可以在两个地方,一是其定义处,也就是说在final变量定义时直接给其赋值,二是在构造函数中。这两个地方只能选其一,要么在定义时给值,要么在构造函数中给值,不转载 2016-09-26 20:33:05 · 252 阅读 · 0 评论 -
父类引用指向子类对象
父类引用指向子类对象指的是:例如父类Animal,子类Cat,Dog。其中Animal可以是类也可以是接口,Cat和Dog是继承或实现Animal的子类。Animal animal = new Cat();即声明的是父类,实际指向的是子类的一个对象。那这么使用的优点是什么,为什么要这么用?可以用这几个关键词来概括:多态、动态链接,向上转型也有人说这是转载 2016-10-11 11:33:14 · 1267 阅读 · 1 评论 -
设置session有效时间
一、 在程序中调用session的setMaxInactiveInterval方法设置 session.setMaxInactiveInterval(30 * 60); setMaxInactiveInterval设置的是当前会话的失效时间,不是整个web的时间,单位为以秒计算。如果设置的值为零或负数,则表示会话将永远不会超时。二原创 2016-10-10 15:51:35 · 24376 阅读 · 1 评论 -
Jsoup抓取页面
需要使用的是jsoup-1.7.3.jar包 如果需要看文档我下载请借一步到官网:http://jsoup.org/ 这里贴一下我用到的 Java工程的测试代码package com.javen.Jsoup;import java.io.IOException;import org.jsoup.Jsoup;import org.jsoup.nodes.Documen转载 2016-08-25 11:14:55 · 244 阅读 · 0 评论 -
Jsoup解析页面
JSOUP是一个处理HTML的JAVA 类库,其官方网址是:http://jsoup.org/1、编写相关的试用程序(只需要在工程中引用jsoup-1.7.3.jar即可):import java.io.File; import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.nodes.转载 2016-08-25 11:09:36 · 281 阅读 · 0 评论 -
线程安全和非线程安全
ArrayList和Vector有什么区别?HashMap和HashTable有什么区别?StringBuilder和StringBuffer有什么区别?这些都是Java面试中常见的基础问题。面对这样的问题,回答是:ArrayList是非线程安全的,Vector是线程安全的;HashMap是非线程安全的,HashTable是线程安全的;StringBuilder是非线程安全的,StringBuff转载 2016-09-10 09:08:20 · 387 阅读 · 0 评论 -
Java爬虫
转载自:http://blog.csdn.net/lmj623565791/article/details/23272657思想很简单:就是通过Java访问的链接,然后拿到html字符串,然后就是解析链接等需要的数据。技术上使用Jsoup方便页面的解析,当然Jsoup很方便,也很简单,一行代码就能知道怎么用了:[java] view plain copy转载 2016-08-24 21:23:42 · 496 阅读 · 0 评论