自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (2)
  • 收藏
  • 关注

原创 EasyExcel的导入导出总结

1、先在maven中引用EasyExcel的jar包 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.5</version> </dependency>2、如何向单个sheet导出数据

2020-08-09 22:44:45 324

原创 SpringMVC如何接收JSON格式参数

1、JS定义请求参数1、定义参数必须要定义成JSON格式数据如下let papers = {"answers": answers, "phone": phone, "surplusTime": maxtime};2、$.ajax方法设置data:JSON.stringify(papers),contentType: ‘application/json’,如下 $.ajax({ type: "POST", url: "url",

2020-08-09 22:08:36 732

原创 记一次亿级表的分表实践

对一次亿级表分表的实践进行整理和记录。

2020-02-06 22:10:31 320

原创 Java基于cookie实现跨域SSO单点登录(Web版)

java基于cookie实现跨域单点登录

2020-02-01 21:29:37 2370

原创 JWT详解

1、JWT介绍定义:JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案JWT官网:https://jwt.io/由于HTTP协议是无状态的,如果想判定一个接口是否被认证后访问,就需要借助cookie或者session会话机制进行判定,但是由于现在的系统架构不止一台服务器,此时要借助数据库或者全局缓存做存储,这种方案受限太多。JWT提供提供了一种更好的方案,由令牌发布...

2019-12-08 23:16:36 409

原创 Java通配符和类型参数的使用(?和T的区别)

泛型通配符?和T的使用

2019-10-27 13:35:53 2118

原创 Java自定义注解介绍和使用

介绍如何使用自定义注解,以及自定义注解导出Excel

2019-10-27 00:28:44 305

原创 Java并发编程(三):Java内存模型

从计算机CPU来了解到底什么是内存模型,什么是Java内存模型

2019-10-14 00:40:46 173

原创 【GBK、UTF-8、ISO8859-1】编码总结

https://www.cnblogs.com/amunamuna/p/8922125.html

2019-09-05 23:15:01 542

原创 IDEA快捷键

Ctrl Alt Shift Enter +为了防止忘记IDEA中好用的快捷键,立帖记录。快捷键功能Ctrl+E展示最近打开文件列表Ctrl+Alt+T表达式环绕选中Shit+Alt+U切换字符串大小写Shit+F6批量修改变量名...

2019-08-25 23:34:09 139

原创 IDEA模板(Live Templates)配置

IDEA的Live Templates模板使用

2019-08-25 23:29:26 1005

原创 IDEA好用的插件

IDEA中好用的插件插件名称描述CamelCaseShit+Alt+U不断切换字符串格式Alibaba Java Coding Guidelines根据阿里代码规范检查代码

2019-08-25 22:59:13 171

原创 Java并发编程:如何创建线程

介绍两种创建线程的方式1、继承Thread类2、实现Runnable接口

2019-07-27 22:00:42 104

原创 Java并发编程:CountDownLatch、CyclicBarrier和Semaphore

Java并发编程:CountDownLatch、CyclicBarrier和Semaphore1、前言2、CountDownLatch理解和使用3、CyclicBarrier理解和使用4、Semaphore理解和使用1、前言由于对CountDownLatch和CyclicBarrier的功能容易混淆不清,于是特地把这两个类拉出来进行对比。顺带也把Semaphore拿过来一起进行介绍。希望本篇博...

2019-07-26 23:32:30 128

原创 AbstractQueuedSynchronizer源码分析(二):独占锁的获取与释放

本篇文章分析AbstractQueuedSynchronizer源码中三块内容1、不响应中断的获取独占锁2、响应中断的独占锁3、释放独占锁以彻底了解独占锁的获取与释放逻辑。

2019-07-25 23:10:47 216

原创 源码解读(三):Java中的LockSupport的使用

Java中的LockSupport的使用1、LockSupport方法介绍对比park() 与park(Object blocker) 的区别parkUntil(long deadline) 方法的时间点在哪里2、LockSupport源码及注释3、关于sun.misc.Unsafe类型1、LockSupport方法介绍在Java多线程中,当需要阻塞或唤醒一个线程时,我们可以使用LockSup...

2019-07-23 00:36:47 388

翻译 AbstractQueuedSynchronizer源码附注释

public abstract class AbstractQueuedSynchronizer

2019-07-21 08:34:54 161

转载 自己备用

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-07-20 19:07:08 148

原创 源码解读(二):Java中的CAS应用

源码解读(二):Java中的CAS1、什么是CAS2、CAS在Java中的使用3、ABA问题1、什么是CASCAS全称为ConmpareAndSwap:比较和交换;CAS有三个要素原始值、期望值和更新值操作逻辑:将原始值与期望值进行比较,只有在值相同的情况下,将改原始值更新为新值。CAS是实现多线程同步的原子指令,具有原子性。原子性:一个操作不能被打断,要么全部执行完毕,要么不执行。...

2019-07-18 21:37:21 202

原创 源码解读(一):interrupt()、isInterrupted()和interrupted()以及InterruptedException

这里写自定义目录标题欢迎使用Markdown编辑器新的改变欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变...

2019-07-18 14:57:13 1029

原创 windows上使用bat文件重启nginx

windows上使用bat文件重启nginx使用 taskkill /f /t /im nginx.exe 命令来查询nginx进程并关闭nginx使用 start nginx.exe 启动nginx把下面的命令写到bat文件中,放在nginx同目录下。需要重启的时,双击bat文件taskkill /f /t /im nginx.exestart nginx.exe...

2019-07-14 21:32:29 1187

原创 AbstractQueuedSynchronizer源码分析(一):AbstractOwnableSynchronizer和Node

static final class Node { /** 标识节点以共享模式等待 */ static final Node SHARED = new Node(); /** 标识节点以独占模式等待 */ static final Node EXCLUSIVE = null; /** 标识线程已经被取消 */ stat...

2019-07-03 23:12:23 164

原创 Java并发编程(二):ReentrantReadWriteLock的介绍与使用

Java并发编程(二):ReentrantReadWriteLock的介绍与使用概述1、公平锁与非公平锁(待补充)2、ReentrantReadWriteLock的可重入锁3、读写锁降级4、锁的中断5、Condition支持概述1、公平锁与非公平锁(待补充)支持公平和非公平的获取锁的方式;import java.util.concurrent.TimeUnit;import java.u...

2019-06-27 23:04:49 122

原创 Java并发编程(一):ReentrantLock的介绍与使用

ReentLock的使用1、ReentrantLock与Condition的使用什么是ReentrantLock?什么是Condition?2、ReentrantLock中的公平锁与非公平锁1、ReentrantLock与Condition的使用什么是ReentrantLock?锁是控制多线程安全方法共享资源访问的工具。锁有两种实现方式,一种是使用synchronized(隐性锁),另一种是...

2019-06-22 22:51:27 345

原创 关于AbstractQueuedSynchronizer部分方法的注释和理解

CANCELLED:值为1,在同步队列中等待的线程等待超时或被中断,需要从同步队列中取消该Node的结点,其结点的waitStatus为CANCELLED,即结束状态,进入该状态后的结点将不会再变化。 SIGNAL:值为-1,被标识为该等待唤醒状态的后继结点,当其前继结点的线程释放了同步锁或被取消,将会通知该后继结点的线程执行。说白了,就是处于唤醒状态,只要前继结点释放锁,就会通知标...

2019-06-16 23:17:12 159

原创 Java enum枚举类使用小技巧

public enum State{ // 成功 Success(1), // 失败 Failed(2), private int value; private State(int value) { this.value = value; } public void setValue(int value) { this.value = value; } publi

2015-10-21 15:45:04 564

原创 多线程join使用注意事项

public class OrderThread{ public static void main(String[] args) { final Thread t3 = new Thread("t3"){ public void run(){ try { System.out.println(Thread.currentThread().getName()

2015-10-16 17:12:58 341

转载 设计模式:抽象工厂模式(Abstract Factory Pattern)

抽象工厂模式:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。人种接口public interface Human{ //每个人种的皮肤都有相应的颜色 public abstract void getColor(); //人类会说话 public abstract void talk(); //人类有性别 public abstract voi

2015-09-26 16:26:40 385

转载 设计模式:工厂模式(Factory Pattern)

工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法是一个类的实例化延迟到其子类。(1)普通工厂模式接口类,用于定义总的类型public interface Human{ //每个人种的皮肤都有相应的颜色 public void getColor(); //人类会说话 public void talk();}人类的三种子类型public class

2015-09-25 17:21:59 335

转载 设计模式:单例模式(Singleton Pattern)

单例模式:确保某一个类只有一个实例,而且自行实例化并向整个系统提供整个实例。饥汉式单例public class Singleton{ private static final Singleton singleton = new Singleton(); //私有化构造方法,就无法通過new,创建一个新的对象 private Singleton(){ } public

2015-09-25 15:23:47 404

原创 ThreadLocal使用小技巧

大家都知道使用ThreadLocal可以使对象达到线程隔离的目的。在使用ThreadLocal可以不用单独定义一个变量用于保存和线程相关的属性,这样若出现多个与线程相关的变量也就要定义多个ThreadLocal。与其这样定义,不如定义一个专门和线程进行绑定的类,自身进行管理ThreadLocal,已达到我们的要求。import java.util.Random;public cla

2015-09-24 10:09:16 409

原创 SpringMVC接收数组请求参数小技巧

Java代码部分@RequestMapping("/getSome")@ResponseBodypublic Object getSome(String[] ids){ //TODO}JSP页面代码部分var idArr = new Array(); for(var i=0;i<ids.length;i++){ idArr.push(ids[i]); }$.post('ur

2015-09-23 14:55:32 2288

原创 java.sql.Blob类型如何插入到MySQL数据库

1、首先你需要定义的你MySQL数据库表字段为Blob类型,对于Java来说Blob类型存放的是二进制流2、Java实体类型中属性不需要使用java.sql.Blob类型,对应Blob属性的定义为byte数据,即byte[]3、无论是字符串还是文件,都需要转化为二进制流,然后保存到该属性中4、通过jdbc就可以保存该实体到数据库中

2015-09-05 15:40:27 2054

原创 JSON格式验证规范--JSON-SCHEMA

公司要求用json-schema对json字符串的格式进行校验,发现网络上相关的内容很少,尤其是中文介绍json-schema用法的更是少之又少;只要大费周章的抱着英文文档去啃,为了方便大家,我把自己看明白的分享给大家互相学习和交流,有缺漏和错误之处请大家指正。首先分享四个相关网址,便于大家学习1、应该是json-schema官方文档地址,比较详细和全面,还有一些demo的介绍.htt

2015-07-03 22:26:41 10658 2

转载 dubbo入门学习之Helloworld

服务端代码结构Main.java内容package com.lyf.app;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Main { public static void main(String[] args) throws Exception {

2015-06-25 22:24:49 765

Java代码快捷模板

针对Java代码快捷模板;IDEA模板(Live Templates), 配置路径:<your_user_home_directory>\.IntelliJ IDEA<version_number>\config\templates

2019-08-25

dubbo入门demo样例

鉴于网上有关dubbo的相关资源很少,自己整理了一个最基础的demo,提供给大家学习,以便快速入门,项目使用的maven构建。导入后需要自己引入一下dubbo.xsd文件,详细可以参考我的博文。

2015-06-25

空空如也

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

TA关注的人

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