![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
李二大眼
这个作者很懒,什么都没留下…
展开
-
接口幂等的实现方案
https://blog.csdn.net/u011635492/article/details/81058153转载 2020-05-26 16:37:32 · 901 阅读 · 0 评论 -
观察者模式
观察者模式:需要了解原理:https://www.runoob.com/design-pattern/observer-pattern.html观察者模式:java实现方式import java.util.Observable;import java.util.Observer;public class ObserverTest { public static void mai...原创 2019-12-06 15:21:46 · 88 阅读 · 0 评论 -
SSH Secure Shell ClientH工具密钥登录linux
https://wenku.baidu.com/view/73205cc42cc58bd63186bd4e.html转载 2019-06-02 10:06:53 · 333 阅读 · 0 评论 -
docker修改Nginx首页详细操作
1、 需求启动一个Nginx容器。将Nginx容器的首页改为Welcome to 51CTO docker class 。将容器保存下来。2、操作步骤 docker pull nginx #下载镜像 sudo docker run -it -p 80:80 nginx /bin/bash 启动 docker和nginx ctrl+D 退出 docker ps...原创 2019-05-31 17:42:59 · 3356 阅读 · 0 评论 -
springboot启动多个相同项目
application.yml文件 profiles设置两个参数eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/logging: level: org: springframework: boot: infospring: ap...原创 2019-05-31 10:04:24 · 1762 阅读 · 0 评论 -
MyBatis 一、二级缓存和自定义缓存
https://blog.csdn.net/u013521220/article/details/83147719转载 2019-05-17 10:48:19 · 268 阅读 · 0 评论 -
mybatis 中 foreach collection的三种用法
https://www.cnblogs.com/fangyu19900812/p/6046209.html转载 2019-05-21 09:01:28 · 101 阅读 · 0 评论 -
深入理解Java线程池:ScheduledThreadPoolExecutor
https://www.cnblogs.com/liuzhihu/p/8177787.html转载 2019-05-09 11:35:24 · 155 阅读 · 0 评论 -
spring注入相关知识
1、@Autowired可以用在controller,service中,但是不可以用在实体model中,用在实体中会出现空指针异常2、实体中,过滤器中使用注入,可以通过上下文关系获取实体注入,也可以通过@Configuration @Bean注入方法,推荐使用通过上下文获取。上下文获取实体注入代码如下@Componentpublic class application implements...原创 2019-04-29 15:06:44 · 115 阅读 · 0 评论 -
jdk安装的正确方式,百度安装后javac不可用
原文:https://blog.csdn.net/write6/article/details/79136388要素:1、新建 JAVA_HOME 环境变量,JAVA_HOME=C:\Java\jdk1.8.0_1442、修改 path 环境变量,在path变量尾部添加%JAVA_HOME%\bin3、classpath=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\...转载 2019-06-18 11:37:36 · 462 阅读 · 0 评论 -
Java:CAS(乐观锁)
https://www.jianshu.com/p/ae25eb3cfb5d转载 2019-08-08 14:08:51 · 94 阅读 · 0 评论 -
Random,ThreadLocalRandom,SecureRandom 区别以及使用
Math.random() 静态方法产生的随机数是 0 - 1 之间的一个 double,即 0 <= random <= 1。使用:for (int i = 0; i < 10; i++) {System.out.println(Math.random());}结果:0.35986138956064260.26667781453658110.2509073...原创 2019-08-08 14:15:20 · 2711 阅读 · 0 评论 -
mysql utf-8 中文
在MySQL 5.0以上版本:UTF-8:一个汉字=3个字节GBK:一个汉字=2个字节varchar(n)和char(n)表示n个字符,可以直接存储 n 个汉字. 而不是 n/3或者 n/2 个,无论汉字和英文,Mysql都能存入n个字符,仅是实际字节长度有所区别,MySQL 并不会对超过长度的字符报错,而是直接截断了。...转载 2019-08-08 15:16:47 · 275 阅读 · 0 评论 -
HTTPS工作原理以及Tomcat和jeety配置
https://www.cnblogs.com/gyadmin/p/8078781.html原创 2019-08-06 16:41:45 · 285 阅读 · 0 评论 -
Java加密的常用的加密算法
关于keyGenerator,KeyPairGenerator,SecretKeyFactory的解析Java加密的常用的加密算法类型有三种1单向加密:也就是不可逆的加密,例如MD5,SHA,HMAC2对称加密:也就是加密方和解密方利用同一个秘钥对数据进行加密和解密,例如DES,PBE等等3非对称加密:非对称加密分为公钥和秘钥,二者是非对称的,例如用私钥加密的内容需要使用公钥来解密,使用公...原创 2019-08-06 21:14:09 · 691 阅读 · 0 评论 -
springboot maven 打包的两种方式
一、springboot maven打ja包1、配置文件不外放a、maven配置打包插件 <!--打包配置,执行mvn clean package--> <packaging>jar</packaging> <!--maven打war包依赖配置--> <!--<packaging>war<...原创 2019-08-23 17:01:28 · 4904 阅读 · 0 评论 -
@PostConstruct Constructor @Autowired 顺序以及解释
总结如下:1、从Java EE5规范开始,Servlet中增加了两个影响Servlet生命周期的注解,@PostConstruct和@PreDestroy,这两个注解被用来修饰一个非静态的void()方法。写法有如下两种方式:@PostConstructpublic void someMethod(){}或者public @PostConstruct void someMethod(){}被@P...转载 2019-08-21 16:30:59 · 649 阅读 · 0 评论 -
getDeclaredMethod()和getMethod()的区别
getDeclaredMethod*()获取的是类自身声明的所有方法,包含public、protected和private方法。getMethod*()获取的是类的所有共有方法,这就包括自身的所有public方法,和从基类继承的、从接口实现的所有public方法。...转载 2019-08-22 10:58:42 · 198 阅读 · 0 评论 -
quartz CronTrigger的cron表达式 和 Misfire处理规则
https://www.cnblogs.com/laosunlaiye/p/9406653.html转载 2019-08-22 15:03:50 · 417 阅读 · 0 评论 -
@Component和@Configuration作为配置类的差别
https://blog.csdn.net/long476964/article/details/80626930转载 2019-04-29 14:27:27 · 226 阅读 · 0 评论 -
java编程思想-复用类7
1、继承基类只有一个非默认构造器,导出类需要 在构造器中调用基类构造器class Shop{ private static Random random=new Random(47); private final int i4=random.nextInt(20); static final int i5=random.nextInt(20); @Overri...原创 2019-04-19 16:55:25 · 77 阅读 · 0 评论 -
springboot整合shiro配置
1、配置LifecycleBeanPostProcessor管理生命周期2、配置ShiroFilterFactoryBean设置哪些路径需要认证,哪些不需要3、开启shiro Aop 注解支持 AuthorizationAttributeSourceAdvisor4、配置SecurityManager管理自定义Realm、session、缓存Realm实现登陆认证、授权session ...原创 2019-04-04 15:10:22 · 855 阅读 · 0 评论 -
shiro学习
来源于周立,经过自己的整理学习1. Shiro 能做什么① 认证:验证用户来核实他们的身份② 授权:对用户执行访问控制,如:判断用户是否被分配了一个确定的安全角色判断用户是否被允许做某事③ 会话管理:在任何环境下使用 Session API,即使没有 Web 或 EJB 容器。④ 加密:以更简洁易用的方式使用加密的功能,保护或隐藏数据防止被偷窥⑤ Realms:聚集一个或多个用户安...原创 2019-04-04 10:38:41 · 98 阅读 · 0 评论 -
使用OTP动态口令(每30s变一次)进行登录认证
GIT地址:https://github.com/suyin58/otp-demo在对外网开放的后台管理系统中,使用静态口令进行身份验证可能会存在如下问题:(1) 为了便于记忆,用户多选择有特征作为密码,所有静态口令相比动态口令而言,容易被猜测和破解;(2) 黑客可以从网上或电话线上截获静态密码,如果是非加密方式传输,用户认证信息可被轻易获取;(3) 内部工作人员可通过合法授权取得用户密码...转载 2019-03-22 17:30:24 · 16110 阅读 · 1 评论 -
拦截器(Interceptor)和过滤器(Filter)的执行顺序和区别
https://blog.csdn.net/zxd1435513775/article/details/80556034转载 2019-03-18 16:54:02 · 85 阅读 · 0 评论 -
CSRF 的防御
对于如何防范 CSRF,一般有三种手段。1、判断请求头中的 Referer这个字段记录的是请求的来源。比如 http://www.example.com 上调用了百度的接口 http://api.map.baidu.com/service 那么在百度的服务端,就可以通过 Referer 判断这个请求是来自哪里。在实际应用中,这些跟业务逻辑无关的操作往往会放在拦截器中(或者说过滤器,不同技术使...转载 2019-03-21 15:21:21 · 4901 阅读 · 0 评论 -
XXL-SSO分布式单点登录框架,Cookie代码逻辑解析
XXL-SSO登录逻辑这种设计方式巧妙的解决了cookie的跨域问题代码逻辑描述访问pro.com,获取pro.com域的cookie(xxl_sso_sessionid,由userId_随机数码组成)为空,从请求参数获取cookie为空;获取用户信息为空,重定向sso服务;sso服务,获取sso.com域cook’ie为空,获取用户信息为空,跳转登陆页登录页输入用户名密码登陆,登...原创 2019-03-20 17:17:13 · 762 阅读 · 0 评论 -
mybatis mysql获取当前数据库所有表与表字段信息
https://blog.csdn.net/asd8510678/article/details/80305716转载 2019-02-21 17:22:23 · 4586 阅读 · 0 评论 -
单点
单点登陆单点登陆相关知识理解Cookie和Session机制单点登陆时序图原创 2018-11-27 17:21:52 · 350 阅读 · 0 评论 -
spring事务管理知识梳理
Spring事务管理分为编程式事务管理和声明式事务管理两种1、编程式事务允许用户在实现代码中使用显式的方式调用beginTransaction()开启事务、commit()提交事务、rollback()回滚事务,从而可以达到精确定义事务的边界2、声明式事务管理底层是建立在Spring AOP的基础上,在方式执行前后进行拦截,并在目标方法开始执行前创建新事务或加入一个已存在事务,最后在目标方法执...原创 2019-04-10 11:02:58 · 85 阅读 · 0 评论 -
@Controller和@RestController的区别
知识点:@RestController注解相当于@ResponseBody + @Controller合在一起的作用。如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。如果需要返回到指...转载 2019-04-02 09:26:43 · 78 阅读 · 0 评论 -
修改shiro的cookie的名称
1、情况在同一个域名下部署两套不同的项目,端口号不同,都采用shiro安全框架。2、出现问题:两个系统同时登陆后会出现相互干扰的情况3、原因:同一个域名下两个系统的cookie名称相同(shiro默认的cookie名为;JSESSIONID),相互覆盖;4、解决方案:修改shiro默认的cookie名springboot整合shiro修改的代码 //同一个域下两个项目使用shiro,c...原创 2019-04-18 16:51:36 · 5353 阅读 · 2 评论 -
HashMap和TreeMap的区别
public class Test { public static void main(String[] args){ String[] arg={"DA","AB","CC","BD"}; Map map1=new TreeMap(); Map map2=new HashMap(); tryCa(map1,arg); ...原创 2019-04-26 17:23:43 · 178 阅读 · 0 评论 -
HashCode相关知识
1、Object的方法HashCode();jdk文档说明同一个对象多次调用HashCode()返回值一样,前提是对象没有改变两个对象equals相等,hash值相等两个对象equals不相等,hash值不同总结:hash值相等的对象不一定相等,hash值不相等的对象一定不相等 /** * Returns a hash code value for the obje...原创 2019-04-26 15:56:43 · 147 阅读 · 0 评论 -
浅谈SimpleDateFormat的线程安全问题
浅谈SimpleDateFormat的线程安全问题https://blog.csdn.net/weixin_38810239/article/details/79941964原创 2019-04-16 15:18:54 · 119 阅读 · 0 评论 -
Java ExecutorService四种线程池的例子与说明
Java ExecutorService四种线程池的例子与说明https://www.cnblogs.com/zhaoyan001/p/7049627.html转载 2019-04-16 15:17:27 · 92 阅读 · 0 评论 -
springboot,mybaits,配置多数据源
1、去掉application.yml文件里面的mybtis配置mybatis:configuration:map-underscore-to-camel-case: truemapper-locations: /mybatis//*Mapper.xmltypeAliasesPackage: com.tfkj..domainlog-impl: org.apache.ibatis.log...原创 2019-04-12 15:49:47 · 284 阅读 · 0 评论 -
Java线程相关知识
1、线程的创建方式extends Threadimplements Runnableimplements Callable 通过Callable和Future创建线程2、实现方式public class thread { public static void main(String[] args) throws ExecutionExcepti...原创 2019-04-15 17:20:45 · 82 阅读 · 0 评论 -
springboot-mybatis-druid
pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache....原创 2019-04-02 15:53:52 · 111 阅读 · 0 评论 -
HashMap相关知识
**HashMap相关知识**数据存储结构存储结构为数组+链表的结构hashMap put的实现方式下列代码为jdk1.8实现方式//参数 hash 为key的hash值hash(key)final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict)...原创 2018-10-12 09:12:19 · 73 阅读 · 0 评论