自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (6)
  • 收藏
  • 关注

原创 java反射代码实战解析

package com.practise;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;/** * 功能描述 * * @author junglon * @datetime ${date} ${time} */public class GenericMethodTest { public static void main(S

2020-05-28 14:51:29 160

原创 Java并发编程之基础篇(五)——闭锁、栅栏、信号量

Java并发编程之基础篇(五)——闭锁、栅栏、信号量闭锁——CountDownLatch闭锁类似于一道大门,所有的线程都在大门外等候,当大门打开时,所有线程一起开工。CountDownLatch提供了一个构造函数,可以传入一个整数作为参数,表示初始计数器。每调用一次countDown()方法时,计数器减一,当计数器减到0时,表示大门开放。可以把CountDownLatch想象成赛车的倒计时计数器,当计数器为0时,所有赛车加速驶出。下面我们通过开发一个简单的压力测试小工具来演示CountDownLat

2020-05-27 11:13:25 246

原创 异步编程之CompleTableFuture

异步编程之CompleTableFuture一、前期准备(基础讲解)1、 什么是异步?所谓异步调用其实就是实现一个可无需等待被调用函数的返回值而让操作继续运行的方法。在 Java 语言中,简单的讲就是另启一个线程来完成调用中的部分计算,使调用继续运行或返回,而不需要等待计算结果。但调用者仍需要取线程的计算结果。2、使用前注意点介绍在并发时代,我们常用多线程来进行异步编程,但是多线程有一个缺点,就是不容易获取线程执行后的值,尽管用一些奇招可以获取,但是这已经远离了我们的初衷。java 1.5提供了一

2020-05-25 17:25:27 836

原创 Java并发编程之基础篇(四) -- 线程间的协作

Java并发编程之基础篇(四) – 线程间的协作这篇介绍一下线程之间如何进行通信之前介绍的内容都是如何保证线程之间的运行互不干扰,但是有的时候,线程之间必须互相合作。比如清洗盘子完成之后,才能对盘子进行烘干操作,烘干必须在清洗之后,那么清洗线程和烘干线程如何进行沟通呢?Java进程间的通信与访问共享变量一样,都需要借助互斥的特性来实现,在互斥的基础上,JDK为线程提供了一种自我挂起的能力。也就是说想实现进程间的通信,前提必须是在synchronized同步块或者方法中实现。实现互斥同步机制,Java

2020-05-22 10:44:15 252

原创 Java并发编程之基础篇(三) -- ThreadLocal

Java并发编程之基础篇(三) – ThreadLocalThreadLocal介绍上篇文章讲到,如果想在多线程的环境下,实现共享可变资源的安全访问,最好的方式是加锁,也就是同一时刻只有一个线程在使用共享可变资源。如果我们有一种方式可以根除对变量的共享,那么就可以实现不加锁的情况下对变量进行安全访问。还拿之前抢卫生间坑位的例子举例,如果只有一个卫生间坑位,五个人都想去卫生间的话,那么就需要加锁同步。如果给每个人都提供一个单独的坑位,那么就可以不加锁了,因为没有争抢的场景发生。Java通过Thread

2020-05-22 10:28:49 201

原创 Java并发编程之基础篇(二) -- 锁

Java并发编程之基础篇(二)上一篇基础篇介绍了并发编程最基本的东西。这篇说一下多线程如何正确的访问共享可变资源。所谓的共享可变资源就是每个线程都可以读也都可以写的资源。如何让多个线程正确的修改以及读取共享变量是一门学问。问题引入如下段代码实现了一个线程计数器功能,也就是统计一下有多少个线程执行了任务。首先定义一个任务public class Task implements Runnable { public static int count = 0; public void

2020-05-22 10:03:38 205

原创 Java并发编程之基础篇(一)-- 线程与任务

Java并发编程之基础篇进程和线程理解提到并发编程,很多人会想到多线程;希望让多个线程共同完成一项任务,以提高生产效率。所以要聊并发编程之前,就要先说一下什么是线程,要说什么是线程就需要说一下什么是进程。进程:在现代操作系统中,每一个独立运行的程序都是一个进程,比如运行中的word,微信等等都是一个独立进程。线程:在现代操作系统中,线程也叫轻量级进程,每个进程里面可以包含多个线程。CPU资源可以在多个线程之间不断切换,仿佛所有线程在并行执行。每个线程都有自己的计数器,堆栈,和局部变量等属性。这

2020-05-22 09:48:33 606

原创 理解java中的Optional

快速理解Optional1.前言相信在日常的开发中大家都会遇到java的NPE(Null Pointer Exception)所谓的空指针异常,而且都被搞的头昏脑涨,有大佬说过“防止 NPE,是程序员的基本修养。”但是修养归修养,也是我们程序员最头疼的问题之一so…so …我们今天就要尽可能的利用Java8的新特性 Optional来尽量简化代码同时高效处理NPE(Null Pointer Exception 空指针异常)2.认识Optional并使用简单说,Opitonal类就是Java提供的为

2020-05-21 11:19:05 3712 2

原创 延时队列

延时队列一、延时队列的应用什么是延时队列?顾名思义:首先它要具有队列的特性,再给它附加一个延迟消费队列消息的功能,也就是说可以指定队列中的消息在哪个时间点被消费。延时队列在项目中的应用还是比较多的,尤其像电商类平台:1、订单成功后,在30分钟内没有支付,自动取消订单2、外卖平台发送订餐通知,下单成功后60s给用户推送短信。3、如果订单一直处于某一个未完结状态时,及时处理关单,并退还库存4、淘宝新建商户一个月内还没上传商品信息,将冻结商铺等。。。。上边的这些场景都可以应用延时队列解决。二、

2020-05-19 10:45:42 491

原创 java新特性

一、概述Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。简而言之,Stream API 提供了一种高效且易于使用的处理数据的方式。特点:1 . 不是数据结构,不会保存数据。2. 不会修改原来的数据源,它会将操作后的数据保存到另外一个对象中。(保留意见:毕竟peek方法可以修改流中

2020-05-18 14:43:07 183

原创 Spring常用注解总结

Spring常用注解总结1. @SpringBootApplication这里先单独拎出@SpringBootApplication 注解说一下,虽然我们一般不会主动去使用它。这个注解是 Spring Boot 项目的基石,创建 SpringBoot 项目之后会默认在主类加上。@SpringBootApplicationpublic class SpringSecurityJwtGuideApplication { public static void main(java.lang.S

2020-05-11 13:03:26 285

实现生成自定义注解的实体类

实现生成自定义注解的实体类

2023-01-03

自定义注解annotation及用法

自定义注解annotation及用法

2023-01-03

genarator自动生成代码,支付宝、微信、钉钉等登陆第三方网站

genarator自动生成代码,数据库字段类型映射java类型,实体类无setter和getter,实体类生成标签(lombok,table等),实体类注释,支付宝登陆第三方,微信登陆第三方,钉钉登陆第三方,以及generator自动生成代码

2022-12-14

genarator代码注释,实体类无setter和getter,实体类生成标签(lombok,table等),实体类注释

genarator自动生成代码,数据库字段类型映射java类型,实体类无setter和getter,实体类生成标签(lombok,table等),实体类注释,以及maven打包配置

2022-12-14

第三方实现微信登录(微信授权登录和微信网页扫码登录)

第三方实现微信登录(微信授权登录和微信网页扫码登录)

2022-12-12

第三方网站实现钉钉登录

第三方网站实现钉钉登录

2022-12-12

第三方网站实现支付宝登录

第三方网站实现支付宝登录

2022-12-12

微信实现网页扫描二维码登录

微信实现网页扫描二维码登录,分三步走,第一步配置相关信息,第二步 代码编程,第三步 测试,主要是配置需要关注的点有几个,可以详细阅读我的博客,配置正确,一切都ok

2020-12-11

发送邮件工具类

资源提供项目需要验证一些用户信息时,发送用户绑定的邮箱一封邮件,用户使用邮件完成信息的验证等

2018-07-31

图片转pdf文件

本篇上传的资源提供将图片JPG转PDF文件,代码详见附件

2018-07-31

MD5加密工具类

MD5加密算法,主要对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。利用MD5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。

2018-07-31

servlet定时器功能完整版已测试过

java web项目,使用servlet实现定时器功能,代码请详见附件

2018-07-31

空空如也

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

TA关注的人

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