java
hopyGreat
这个作者很懒,什么都没留下…
展开
-
JUC.locks.Condition精准唤醒
Condition是取代了Object类的wait,notify和notifyAll的使用。其通过await将当前线程挂起,通过signal唤醒一个等待的线程。通过在一个lock对象中创建多个Condition实例,实现多路精准通知:public class Task { private final Lock lock = new ReentrantLock(); private final Condition condition1 = lock.newCondition();原创 2021-07-17 12:44:17 · 149 阅读 · 0 评论 -
java中synchronized关键字的基本用法
java中使用synchronized关键字来解决多个线程之间的资源同步访问问题。synchronized关键字可以保证被它修饰的方法或对象任意时刻只能有一个线程执行。在jdk1.6之后,对synchronized关键字有很大的优化,其效率有很大的提升,很多开源框架里面都可以直接看到synchronized关键字。所以在日常开发中可以放心使用。使用形式synchronized主要分为三种使用方式:1. 修饰非静态方法。相当于给当前对象加对象锁,其它线程要访问同步代码时,需要先获得对象锁。原创 2021-07-12 17:03:33 · 283 阅读 · 1 评论 -
解锁java自定义注解
注解本身是一种元数据,也就是描述数据的数据。注解本身不具有任何业务逻辑,有点类似于一种特殊的注释,可以当成是一种标记。注解本身主要是提供了一些特殊的标记,具体业务则是由反射实现的。有了解Python的,应该会知道Python里的装饰器,和java的注解是比较类似的,但Python里面是采用闭包的方式实现的。使用@interface简单定义一个注解:@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)publ原创 2021-07-10 15:47:59 · 162 阅读 · 0 评论 -
Java中ArrayList的线程不安全
ArrayList内部主要是维护了一个Object类型的数组,以及一个int类型的size保存实际数据长度。数组在创建时需要指明长度,但ArrayList通过预分配额外的空间,以及动态增长的方式实现了形式上的可变长度数组,本质上类似于STL中的vector。public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, j原创 2021-06-25 15:17:27 · 334 阅读 · 1 评论 -
Java lambda表达式
为什么要使用lambda表达式?避免匿名内部类定义过多 代码更简洁 去掉没有意义的代码,只留下核心逻辑函数式接口java中的接口,如果有且只有一个抽象方法,则该接口是一个函数式接口。对于函数式接口,可以通过lambda表达式来创建该接口的对象。public class Main { public static void main(String[] args) { Animal animal = () -> System.out.println("hell原创 2020-12-08 00:22:10 · 119 阅读 · 0 评论 -
设置java web项目的默认主页
一般默认情况web项目会在web资源目录下查找名为index的资源文件(例如index.html,或者index.jsp等)。可以在WEB-INF目录下的web.xml中进行配置,修改默认主页:<?xml version="1.0" encoding="UTF-8"?><web-app xmlns=...> <!-- 其它配置... --> <welcome-file-list> <!-- index.ht原创 2020-05-23 22:27:35 · 1581 阅读 · 0 评论 -
Java正则表达式
正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。正则表达式功能强大,用于处理复杂的字符串操作。举例如下:public class T转载 2017-04-02 16:42:36 · 290 阅读 · 0 评论 -
Java正则表达式—小应用—简易爬虫
原文地址:http://blog.csdn.net/qq_25827845/article/details/51474575在上一篇中,学习了正则表达式的四个功能。即匹配、分割、替换、获取。利用获取功能,可以实现简单的网页爬虫。4,获取:将字符串中的符合规则的子串取出。获取功能的操作步骤:1,将正则表达式封装成对象。2,让正则转载 2017-04-02 16:45:12 · 325 阅读 · 0 评论