- 博客(21)
- 资源 (3)
- 收藏
- 关注

原创 shiro实际开发整理
1.1 shiro介绍Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。三个核心组件:Subject, SecurityManager 和 Realms.1、Subject即“当前操作用户”。但是,在S
2017-12-29 10:52:32
902
原创 排序算法01-选择排序(java)
选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 其时间复杂度O(),空间复杂度O(1),稳定性:稳定。 具体java实现代码如下:public static void sort(int[] array) { int n = array.length;...
2020-05-20 13:47:02
276
原创 快速幂算法-java实现
在计算机中,十进制可以和二进制进行转换,利用该原理可将指数转为 a=0或1通过快速幂可将指数运算时间复杂度由O(n)降低到O(longn).具体代码如下:public static long fun(long base, int index){ long tmp = 1; while (index > 0) { if ((ind...
2020-05-19 11:13:12
665
原创 斐波那契数列最优解-矩阵快速幂
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用。 1、递归...
2020-05-14 15:07:29
732
原创 通过ConcurrentHashMap实现简单的本地缓存-----过期
本地缓存适用于数据访问频繁,数据本身稳定,不会轻易修改的情况下,在这里我们利用ConcurrentHashMap实现一个简单的本地缓存,该本地缓存具有时效性,如果超过一定时间没有被使用则被清空,使其系统中不会使用到过期数据。代码如下:public final class AccessTokenUtils { public static final Map<S...
2019-12-10 16:10:18
1522
原创 简单的单向链表的实现
链表有多种,在这里我们实现一种简单的单向链表,所谓的链表即是由一个个结点组合起来的;而单向链表中每个结点都有一个成员变量指向链表中的下一个结点(方向是单向的)。如下图:每个节点主要有两个成员变量,元素-下一节点地址。实体类对象如下:public class Node<T> { public T element; public Nod...
2019-12-10 15:55:15
296
原创 启动失败
idea启动spring-boot报错Disconnected from the target VM, address: '127.0.0.1:59995', transport: 'sock一般为maven依赖冲突或者缺失
2019-07-10 13:56:31
294
原创 @PostConstruct使用之静态方法注入bean
@PostContruct是spring框架的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法。 @Componentpublic class HttpUtilsV2 { private static final Logger LOGGER = LoggerFactory.getLogger(Htt...
2018-06-28 09:57:40
5062
原创 SimpleDateFormat多线程下线程不安全问题解决方案
SimpleDateFormat是线程不安全的,这里给出一个解决方案:package com.bailian.middleware.util;import java.text.SimpleDateFormat;public class DateUtils { private static final ThreadLocal <SimpleDateFormat> thr...
2018-05-30 16:50:54
827
原创 过滤器+拦截器+controller执行顺序
项目启动时初始化加载 Filter-initFilter--doFilter=====filterChain.dofilter();方法之前的程序执行Interceptor--preHandle执行springMVC---Controller执行Interceptor--postHandle执行 (视图渲染前)Interceptor--afterCompletion执行(视...
2018-05-17 10:49:15
2577
原创 springboot 获取body内数据并赋值给servlet, 同时保留body数据
在此我们通过过滤器来完成本功能@WebFilter(filterName = "RequestBodyFilter", urlPatterns = "/**")public class RequestBodyFilter implements Filter { public static final String LOGTHREAD_ID="logthreadId"; priva...
2018-05-17 09:36:59
5696
原创 springboot启动时获取Bean
在springboot中我们通过配置类来加载配置信息,而在配置类中是无法加载Bean的。我们有时候需要在项目启动时加载数据库数据,这就造成无法使用配置的数据源,而spring给我们提供了一个方法,就是实现CommandLineRunner。@Component@Order(value = 2)public class DroolsAutoDbRule implements CommandLin...
2018-05-09 10:00:58
6336
原创 git命令实用操作
git提交流程:1、git status 查看状态(有多少文件进行了修改) 2、git diff 查看具体的修改 3、git add . 把所有的修改提交到暂存区 4、git commit -m "修改说明" 5、git pull ori...
2018-04-02 11:18:09
330
原创 启动错误:Could not resolve placeholder 'spring.datasource.url' in value "${spring.datasource.url}"
项目启动报错:Could not resolve placeholder 'spring.datasource.url' in value "${spring.datasource.url}"项目在配置更改后要对maven进行clean,install的操作,清除以重新编译项目...
2018-03-19 13:47:16
30339
6
原创 Java参数在方法中传递发生的值改变
1、在方法体内对参数进行运算,不会影响原有变量的值(基本类型不会改变值,引用类型不会改变引用地址)。例:public class ParamTest { public static void integerParam(int a,int b){ a += 1; b += 1; } public static void quoteParam...
2018-03-13 11:16:01
7629
原创 Spring Boot 创建demo访问错误
错误:This application has no explicit mapping for /error, so you are seeing this as a fallback.原因:访问的controller没有放到,main类所在包的子包或同一个包下。
2018-02-08 15:23:11
596
原创 spring+atomikos+druid分布式事务
在工作中遇到了分布式事务问题,当时遇到的问题是多数据源下添加事务,无法切换数据源。后来通过查找资料了解到一般事务都会添加在service层,如果使用spring的声明式事物管理,那么在调用service层代码之前,spring会通过aop的方式动态添加事务控制代码,所以如果要想保证事物是有效的,那么必须spring添加事务之前把数据源动态切换过来,也就是动态切换数据源的aop要至少在...
2018-02-08 15:05:38
991
原创 @Value获取不到值
@Value有两种获取application.properties值得方法: 一、PlaceHolder方式:格式${...}@Componentpublic class GetValue { @Value("${book.name}") private String name; public String getName() { return name
2018-01-18 11:16:14
3765
原创 SpringMVC全局异常统一处理
(1)使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver:<!-- springmvc提供的简单异常处理器 --> <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <...
2018-01-10 09:56:07
1184
1
原创 MyBatis自连接列名重复
Mybatis自连接列名重复,需要给每个列名取个别名 SELECT p.*,p.*,p1.id pId,p1.permission_name pname,p1.permission_pid ppid,p1.permission_url purl,p1.permission_description pdescription,p1.permission_priority pprio
2018-01-02 17:58:27
1493
原创 MyBatis的Mapper传参异常
Mybatis参数异常org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'roleId' in 'class java.lang.Integer'M...
2018-01-02 10:31:38
1082
session的实例
2013-10-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人