
--java--
文章平均质量分 95
jiuqijack
不暴不弃,砥砺前行,相信我们终将开启理想的大门
展开
-
OAuth 2.0+JWT+spring security完成认证授权-生产级-附带源码
分析一下为什么要用OAuth2和JWT来做1. **转载 2023-08-18 19:17:11 · 436 阅读 · 0 评论 -
线程上下文类加载器TCCL(ThreadContextClassLoader)和服务提供者接口SPI(Service Provider Interface)
前置知识:java类加载器不完整分析#前言此前我对线程上下文类加载器(ThreadContextClassLoader,下文使用TCCL表示)的理解仅仅局限于下面这段话:Java 提供了很多服务提供者接口(Service Provider Interface,SPI),允许第三方为这些接口提供实现。常见的 SPI 有 JDBC、JCE、JNDI、JAXP 和 JBI 等。这些 SPI 的接口由 Java 核心库来提供,而这些 SPI 的实现代码则是作为 Java 应用所依赖的 jar 包被.转载 2020-12-23 15:25:33 · 1285 阅读 · 0 评论 -
Java8新特性之Stream流对map集合进行修改并且返回新的map
Stream简介Java8推出的一个新特性,Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazon Kinesis 对大数据实时处理的 Stream。Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数转载 2020-12-14 11:54:43 · 24722 阅读 · 1 评论 -
java中动态修改注解的某个属性值
原文:https://segmentfault.com/a/1190000011213222昨晚看到一条问题,大意是楼主希望可以动态得建立多个Spring 的定时任务。这个题目我并不是很熟悉,不过根据题目描述和查阅相关Spring 创建定时任务的资料,发现这也许涉及到通过Java代码动态修改注解的属性值。今天对此尝试了一番,发现通过反射来动态修改注解的属性值是可以做到的:众所周知,java/lang/reflect这个包下面都是Java的反射类和工具。Annotation注...转载 2020-09-15 19:57:08 · 5567 阅读 · 0 评论 -
什么是JDBC
什么是JDBCJDBC全称为:Java Data Base Connectivity,它是可以执行SQL语句的Java API为什么我们要用JDBC 市面上有非常多的数据库,本来我们是需要根据不同的数据库学习不同的API,sun公司为了简化这个操作,定义了JDBC API【接口】 sun公司只是提供了JDBC API【接口】,数据库厂商负责实现。 对于我们来说,操...转载 2020-05-06 11:06:28 · 501 阅读 · 0 评论 -
JSON-JSON字符串转换成JSON对象、JSON对象数组、json对象数组直接转java对象list<E>形式
处理JSON字符串时,一直出错,写个例子后发现原来是没有弄清楚数据的格式问题。实现的是 JSONString 转换成java对象 或是 list列表实例类 Newspackage lyx.entity;/*** @author lyx* * 2015-8-10上午10:14:38***新闻类*/public class News { ...原创 2020-05-04 14:37:42 · 478 阅读 · 0 评论 -
cron表达式详解
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: (1)Seconds Minutes Hours DayofMonth Month DayofWeek Year (2)Seconds Minutes Hours DayofMonth Month DayofWeek 一、结构 corn从...转载 2020-03-12 17:05:33 · 230 阅读 · 0 评论 -
swagger2markup导出swagger离线PDF/HTML/word文档
1.确保本地系统http://localhost:8080/swagger-ui.html及http://localhost:8080/v2/api-docs可以访问正常访问如下图2.在pom.xml中增加maven依赖及插件<dependency> <groupId>io.github.swagger2markup</groupId>...原创 2020-03-01 00:17:31 · 1509 阅读 · 0 评论 -
通过swagger2markup来实现swagger2 Word/PDF/HTML的导出
1.前言通过前面的两篇博客Spring Boot Security Swagger2整合生成安全的在线REST API文档 SpringMVC也可参考spring boot REST 通过Swagger2生成接口文档(含例子源码下载)我们已经介绍了如何使用spring boot整合swagger2 生成在线的API文档。但是某些情况下,我们需要上交文档类型的接口文档以完成国内开发项目中...转载 2020-02-28 13:40:16 · 1383 阅读 · 0 评论 -
java开发的斗地主开源代码
源码下载在最后我们的前年的课设要求做一个斗地主程序,当时正在愁如何做界面,当时刚好在学习C#,于是就用C#完成了这个程序。一方面,当时我C#功底还很差(其实现在也不怎么样),很多地方用了“笨办法”,实现的比较幼稚,程序效率很低,另一方面感觉很对不起老师,因为做这个程序的本意是研究斗地主程序的AI出牌等等算法相关的东西,而我却几乎忽略了这些内容。(我会好好学习算法的……^-^)最可怕的是,由于...转载 2020-02-26 22:12:06 · 3074 阅读 · 1 评论 -
java自实现观察者模式Observer和Observable详解
转载请标明出处:http://blog.youkuaiyun.com/u012250875/article/details/777478781.必要性1.1 观察者模式是oo设计中经常用到的模式之一,大家在解决实际需求时,观察者模式往往都会用到,而javase中已经提供了Observer接口和Observable类让你简单快速的实现观察者模式,因此有必要去了解Observer和Observable;...转载 2019-04-03 18:20:00 · 502 阅读 · 0 评论 -
web项目前端传参到后端乱码
前段时间,刚使用Intellij idea 工具开发web项目,出现一个前端传参到后端乱码问题;但是别人的使用eclipse工具正常(属于同一个svn同步下来的项目)。试过网上的所有的方法把所有的编码都已经改成utf-8了(项目是utf-8编码的),都还是乱码;经过自己去研究,最后得到终结解决方案(打算记录下来,同时也分享给大家参考):问题原因:tomcat编码问题导致(注意:只有tomc...转载 2018-12-04 18:45:22 · 1025 阅读 · 0 评论 -
详解各类java异常机制
原文出处: 代码钢琴家简介程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函数返回值作为执行状态?。Java提供了更加优秀的解决办法:异常处理机制。异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续...转载 2018-09-20 09:40:22 · 137 阅读 · 0 评论 -
java中浅拷贝和深拷贝
连接https://blog.youkuaiyun.com/baiye_xing/article/details/71788741转载 2018-09-14 10:56:11 · 114 阅读 · 0 评论 -
java中的静态类和嵌套类
在Java中类可以是静态的么?在Java中类可以是静态的。在Java中有静态实例变量,静态方法,以及静态块,类也可以是静态的。在Java中我们可以在类中再次定义一个类。这种类被称为嵌套类。嵌套类外围的类被称为外部类。在Java中不能使最顶层类为静态类,而只有嵌套的类可以是静态类。静态类与非静态类的区别?下面列出了静态类与非静态类的主要区别转载 2018-02-24 15:37:45 · 2158 阅读 · 0 评论 -
java基础之反射
反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码))一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解...转载 2018-04-28 22:56:35 · 210 阅读 · 0 评论 -
Java实现对cookie的增删改查
1.springMVC框架: /** * 读取所有cookie * 注意二、从客户端读取Cookie时,包括maxAge在内的其他属性都是不可读的,也不会被提交。浏览器提交Cookie时只会提交name与value属性。maxAge属性只被浏览器用来判断Cookie是否过期 * @param request * @pa...转载 2018-05-23 09:00:22 · 125 阅读 · 0 评论 -
详解拦截器和过滤器的区别
拦截器和过滤器的区别过滤器和拦截器的区别: ①拦截器是基于java的反射机制的,而过滤器是基于函数回调。 ②拦截器不依赖与servlet容器,过滤器依赖与servlet容器。 ③拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。 ④拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。 ⑤在action的生命周期中,拦截器可以多次被调用,而过滤器只能在...转载 2018-05-23 14:39:40 · 1954 阅读 · 0 评论 -
单点登录原理与简单实现
单点登录原理与简单实现(2017-09-22更新)GitHub:https://github.com/sheefee/simple-sso一、单系统登录机制1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系 但...转载 2018-05-24 13:45:23 · 191 阅读 · 0 评论 -
Cookie详解
Cookie简介Cookie的引文原意是“点心”,它是在客户端访问Web服务器时,服务器在客户端硬盘上存放的信息,好像是服务器发送给客户的“点心”。服务器可以根据Cookie来跟踪客户状态,这对于需要区别客户的场合(如电子商务)特别有用。当客户端首次请求访问服务器时,服务器先在客户端存放包含该客户的相关信息的Cookie,以后客户端每次请求访问服务器时,都会在HTTP请求数据中包含Cookie,...转载 2018-05-24 18:12:06 · 424 阅读 · 0 评论 -
BigDecimal的加减乘除及比较大小
import java.math.BigDecimal; 2 import static java.lang.System.out; 3 public class BaseClass { 4 public static void main(String[] args) { 5 BigDecimal num1 = new BigDecimal("100"); ...转载 2018-07-10 16:20:25 · 168 阅读 · 0 评论 -
详谈静态代理,动态代理和cgLib
概述 概念 什么是代理模式 解决什么问题 什么是静态代理 什么是动态代理 Jdk动态代理实现 JDK动态代理实现的原理 cgLib的动态代理实现 cgLib的动态代理原理 动态代理在AOP中的应用 总结 概述什么是代理模式?解决什么问题(即为什么需要)?什么是静态代理?什么是动态代理模式?二者什么关系?具体如何实现?什么原...转载 2018-07-30 17:42:51 · 245 阅读 · 0 评论 -
java动态代理
原文出处: forever具体场景为了使代理类和被代理类对第三方有相同的函数,代理类和被代理类一般实现一个公共的interface,该interface定义如下 1 2 3 4 public interface Calculator { public Integer add(Integer num1, Integer ...转载 2018-07-30 18:13:33 · 142 阅读 · 0 评论 -
动态代理模式简单示例
① 首先你要明白静态代理的作用我们有一个字体提供类,有多种实现(从磁盘,从网络,从系统)public interface FontProvider { Font getFont(String name);}public abstract class ProviderFactory { public static FontProvider getFontProvide...转载 2018-07-27 17:16:40 · 211 阅读 · 0 评论 -
Activiti与Spring集成
与Spring集成基础准备目录结构相关jar包Activiti的相关jar包 Activiti依赖的相关jar包 Spring的相关jar包 Spring依赖的相关jar包 本示例相关jar包截图 配置文件设置web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi...转载 2018-08-04 23:36:42 · 1077 阅读 · 0 评论 -
一台服务器安装多个jdk和tomcat
应用场景:老大让在一台测试服务器上搭建一个单点登录服务,但是发现测试服务器上已经有了一个低版本的tomcat和低版本的jdk,主要原因是jdk的版本比较低不能用,需要重新按照一个新的jdk,这样就比较头疼,经过查阅最后提供如下解决方案。tomcat5使用1.5版本jdk的安装路径C:\JAVA\jdk1.5 ,jre的安装路径为:C:\jJAVA\jre1.5,tomcat5的路径原创 2018-01-22 10:30:07 · 2542 阅读 · 0 评论