- 博客(49)
- 资源 (6)
- 收藏
- 关注
原创 centos7 docker oracle11g 启动失败解决
1. 现象docker start oracle11gError response from daemon: Cannot start container oracle11g:iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3306 **-i docker0: iptables: No chai...
2019-09-03 08:57:32
2700
原创 redis连接错误:ERR Client sent AUTH, but no password is set解决方案2个
项目中使用jedis或redisson连接redis时,如果redis没有密码,但在配置文件中写为spring: redis: database: 0 host: 127.0.0.1 password: port: 6379 timeout: 10000通常会报错: ERR Client sent AUTH, but no passwor...
2018-11-29 11:31:37
193204
30
原创 springboot1.5.3+shiro1.3.2+redis单节点及集群集成
项目要求直接在配置文件中可切换redis单节点和集群模式,以前依赖shiro-redis开源项目,虽然可切换但有点麻烦,研究借助spring-data-redis直接集成。一、配置文件spring: redis: database: 0 host: redis password: port: 6379 timeout: 60000 ...
2018-11-13 10:29:17
1538
3
原创 springboot1.5.3+redis+shiro1.3.2+springcloud+nginx登录后shiro的subject为null问题解决
一、 问题描述线上环境:springboot1.5.3+redis3.4-cluster集群+shiro1.3.2+springcloud+nginx本地开发:springboot1.5.3+redis3.4-cluster集群+shiro1.3.2本地开发时,一切正常。上线后,登录正常,之后访问其他功能对shiro权限认证,产生Subject().isAuthenticated() = ...
2018-11-10 12:17:22
1576
转载 shiro 登陆成功后subject依然为空
shiro框架是一个强大的轻量级java安全框架。它提供了权限验证、加密、session管理的功能。shiro易用、上手快,应用场景大到企业级应用、小到手机应用都可以使用。本文就针对shiro的subject一个点展开,讲讲这个subject的来龙去脉。我关注这个类要从一次错误说起。在我的项目里面突然就出现subject无法获得principals字段信息的情况,自然我每次登陆再请求什么都是su...
2018-11-08 11:32:19
17096
1
翻译 swagger2常用注解释义
@Api:用于请求类上,说明类的作用 tags="说明该类的作用,显示在UI界面上" value="可不配置"@ApiOperation:用于请求方法上,说明方法的用途及作用 value="说明方法的用途、作用" notes="方法的备注说明"@ApiImplicitParams:用于请求方法上,表示一组参数说明@ApiImplicitParam:用于@A...
2018-10-18 10:07:00
564
原创 springboot + restful + nginx + tomcat后台接收不到post参数
问题环境:springboot + restful + nginx + tomcat@PostMapping(value = "/illegalOperation") @ApiOperation(httpMethod = "POST", value = "客户端webSocket中断", produces = MediaType.APPLICATION_JSON_VALUE) ...
2018-10-17 17:37:39
1512
2
原创 mybatis+mysql自动生成32位uuid主键策略
<insert id="insert" parameterType="com.bd.pojo.Book" > <selectKey keyProperty="id" resultType="String" order="BEFORE"> select replace(uuid(),'-','
2018-09-29 11:20:12
4511
原创 MYSQL查询某字段中以逗号分隔的字符串
select * from 表名 where find_in_set(查询字符串, 列名)eg. select * from table where find_in_set(“12”,column_name)
2018-09-26 11:55:58
5594
转载 优快云-markdown编辑器语法
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2018-09-26 11:52:31
328
转载 JAVA中API和SPI的区别
* API(Application Programming Interface )在java中,API是指可以用来完成某项功能的类、接口或者方法。SPI(Service Provider Interface)SPI是指用来继承、扩展,完成自定义功能的类、接口或者方法。API直接为你提供了功能,你使用API就能完成任务。SPI是一种回调的思想。回调是指在使用api时,可以向a...
2018-09-07 17:23:49
4314
转载 Apache Commons 工具类介绍及使用
Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。 组件 功能介绍 BeanUtils 提供了对于JavaBean进行各种操作,克隆对象,属性等等. Betwixt XML与Java对象之间相互转换. Codec 处理常用的编码方法的工具类包 例如DES、SHA1、MD5、Base64等....
2018-09-05 15:56:30
1813
转载 JAVA中Integer的缓存机制
public static void main(String[] args) { Integer num1 = new Integer(100); Integer num2 = new Integer(100); System.out.println("num1==num2 " + (num1 == num2)); Integer num3 = 100...
2018-09-04 14:40:50
3585
2
翻译 JAVA字符串替换replace、replaceAll、replaceFirst之间区别详解
String的replaceAll跟replaceFirst用到了正则表达式String s = "my.test.txt";System.out.println(s.replace(".", "#"));System.out.println(s.replaceAll(".", "#"));System.out.println(s.replaceFirst(".", &q
2018-09-04 14:16:14
760
翻译 substring的原理及其在JDK6和JDK7实现区别
substring(int beginIndex, int endIndex)方法在jdk 6和jdk 7中的实现是不同的。substring(int beginIndex, int endIndex)方法 截取字符串并返回其[beginIndex,endIndex-1]范围内的内容String x = "abcdef";x = x.substring(1,3);Syst...
2018-09-04 14:08:25
515
翻译 Java中static(静态变量/方法)的优缺点
static关键字声明的变量或方法称为静态变量/方法静态static变量/方法在类加载的过程中被初始化,在内存中只存在一份,所以可以把它当作是全局变量/方法。优点属于类级别的,不需要创建对象就可以直接使用.全局唯一,内存中唯一,静态变量可以唯一标识某些状态.在类加载时候初始化,常驻在内存中,调用快捷方便.应用场景: 1. 静态方法最适合工具类中方法的定义;比如文件...
2018-09-03 15:45:24
15360
3
转载 Java中static class使用方式
java允许在一个类里面定义静态类。如内部类(nested class)。在java中,不能用static修饰顶级类(top level class)。只有内部类可以为static。 静态内部类和非静态内部类之间区别:1. 内部静态类不需要有指向外部类的引用。但非静态内部类需要。2. 静态类只能访问外部类的静态成员,非静态内部类能够访问外部类的静态和非静态成员。3. 非...
2018-09-03 15:10:30
31230
3
转载 JVM类加载机制
什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。类加载器并不需要等到某个类被“首次主动使用”...
2018-08-31 16:57:42
239
转载 JVM内存结构布局
Java的内存结构JVM内存结构主要有三大块:堆内存、方法区和栈。 堆内存是JVM中最大的一块由年轻代和老年代组成,而年轻代内存又被分成三部分,Eden空间、From Survivor空间、To Survivor空间,默认情况下年轻代按照8:1:1的比例来分配;方法区存储类信息、常量、静态变量等数据,是线程共享的区域,为与Java堆区分,方法区还有一个别名Non-Heap(非...
2018-08-31 09:50:59
195
翻译 JAVA架构师的成长之路
一、基础篇JVMJava基础知识二、进阶篇Java底层知识一、基础篇JVMJVM内存结构 堆、栈、方法区、直接内存、堆和栈区别Java内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final垃圾回收 内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定JVM参数及调优Java对象模型 oo...
2018-08-30 23:47:49
367
转载 Java设计模式快速入门
原文地址 https://www.cnblogs.com/malihe/p/6891920.html一、设计模式分类大体上分为三大类: 创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代...
2018-08-23 15:40:59
172
翻译 logback使用与配置文件logback.xml详解
一、logback简介Logback由log4j创始人设计的另一个开源日志组件,官网:http://logback.qos.ch。它当前分为下面三模块: logback-core:其它两个模块的基础模块logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4jAPI使你可以很方便地更换成其它日志系统如log4j或JDK14 Logginglogback-a...
2018-08-22 11:08:32
739
翻译 git commit 提交规范详解
看一个模板# 样式 : feat(location): 接入登录API# # 登录功能与服务器对接#<type>(<scope>) : <subject><body><footer>#其中 type 的值可以有# .feat :新功能 # ...
2018-08-10 11:31:52
2586
1
翻译 java闭包详解
一、为什么需要闭包。闭包的价值在于可以作为函数对象或者匿名函数,持有上下文数据,作为第一级对象进行传递和保存。闭包广泛用于回调函数、函数式编程中。二、JAVA中的闭包。 在JAVA中,闭包是通过“接口+内部类”实现,JAVA的内部类也可以有匿名内部类。1、内部类。 在JAVA中,内部类可以访问到外围类的变量、方法或者其它内部类等所有成员,即使它被定义成p...
2018-08-09 17:17:36
31964
5
原创 lua应用场景
lua应用场景: C和C++编写,性能很好,一般嵌入应用,扩展应用功能和提高性能。Nginx + lua 处理http请求时,可在11个阶段插入lua脚本redis + lua 实现原子操作,避免多线程数据不一致的问题* java 调用 lua 脚本,使用 jedis中有一个scriptLoad()方法 *...
2018-08-08 22:13:41
6485
原创 ubuntu16.04 amd64 安装openjdk-9-jdk 错误及解决方案
$ sudo apt install openjdk-9-jdkErrors were encountered while processing:/var/cache/apt/archives/openjdk-9-jdk_9~b114-0ubuntu1_amd64.debE: Sub-process /usr/bin/dpkg returned an error code (1) 原因:依赖问题$...
2018-07-06 22:59:17
3589
转载 垃圾收集器GC(Garbage Collector)的Root对象分类
判断对象是否存活2种方式:引用计数:每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计数为0时可以回收。此方法简单,无法解决对象相互循环引用的问题。可达性分析(Reachability Analysis):从GC Roots开始向下搜索,搜索所走过的路径称为引用链。当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的。属于不可达对象。GC会收...
2018-07-05 11:41:36
463
转载 JDK1.5--1.8各个版本的新特性
对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言。今天先为大家介绍一下JDK1.5版本到JDK1.7版本的特性。希望能给予帮助。JDK1.5新特性: 1.自动装箱与拆箱:自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中。自动拆箱的过程:每当需要一个值时...
2018-07-04 16:31:26
269
转载 MySQL存储过程定义及常见函数详解
存储过程简介SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中...
2018-07-04 11:05:06
2365
翻译 git使用https或http方式设置记住用户名和密码的方法
https方式每次都要输入密码,非常不爽按照如下设置可只输入一次记住密码(默认15分钟):git config --global credential.helper cache自己定义时间(一小时后失效):git config credential.helper 'cache --timeout=3600'永久存储密码:git config --global credential.helper...
2018-07-03 15:39:18
4638
翻译 @Validated和@Valid区别:Spring validation 与Hibernate Validator
Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303规范,是标准JSR-303的一个变种),javax提供了@Valid(标准JSR-303规范),配合BindingResult可以直接提供参数验证结果。检验Controller入参规范时,@Validated和@Valid在基本验证功能上没有太多区别。但在分组、注解地方、嵌套验证等...
2018-07-02 13:30:30
6301
原创 springboot1.5.4和springcloud(Dalston.SR1)产生AOP类找不到问题解决方法
springboot1.5.4和springcloud(Dalston.SR1)采用maven其中 pom.xml主要内容:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId...
2018-06-28 11:26:09
1916
翻译 Ajax跨域问题产生的原因及解决方法
如果前后台不是同一域,就会产生跨域问题。前端jasmine测试框架。 产生跨域的原因:1.浏览器限制2.跨域:协议,域名,端口任何一个不同就是跨域3.Xhr(XMLHttpRequest)请求 解决思路:1.改动客户端浏览器参数来解除限制 浏览器启动加入 --disable-web-security2.Jsonp解决xhr请求问题. jsonp动态创建script标签,请求中类型ty...
2018-06-24 17:46:58
2296
翻译 springboot应用场景及部分区别于springmvc的注解
SpringBoot使用场景:1.有spring的地方 2. J2ee应用 3.微服务 @Controller:修饰class,用来创建处理http请求的对象@RestController:Spring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,如果直接用@RestController替代@Controller就不需要再配置@ResponseB...
2018-06-22 23:28:01
8153
1
翻译 java annotation自定义注解步骤
自定义注解的语法要求 @Target({ElementType.METHOD}) // 作用域 CONSTRUCTOR FIELD LOCAL_VARIABLE METHOD PACKAGE PARAMETER TYPE @Retention(RetentionPolicy.RUNTIME)//生命周期,source,class,runtime,@Inherited //允许子类继...
2018-06-22 23:14:09
600
翻译 Java多线程和JDK1.5多线程新特性
线程:一行行代码往下执行。Thread 的 run() ,如果没被覆盖,且为Thread设置了Runnable对象,则会调用Runnable的run(); 线程互斥与同步通信线程安全问题可以用银行转账来说明。 线程同步:必须把锁加在同一对象上,或同一类上,方法上加synchronized ,同一个对象的Wait();等待 notify();唤醒任意一个 线...
2018-06-22 23:01:48
421
翻译 Redis与关系数据库对比及Redis常用命令和Jedis使用方法
关系数据库:数据和数据之间,表和字段,表与表之间是存在关系的。优点:1.数据之间有关系,crud时很方便2.有事务操作,保证了数据的完整性缺点:1.因为数据的关系,底层有大量的算法做保证,会消耗资源和拉低系统性能2.海量数据的crud时,数据表维护时,无能为力。 处理一般量级,能保证安全。 非关系型数据库:为了处理海量数据,需要将关系型数据库的关系去掉。 优点:1.海量数据的crud,维护,轻松应...
2018-06-22 22:57:21
494
翻译 MyBatis主要特性及使用方法包括一级缓存和二级缓存详解
Mybatis是一个持久层框架,一个不完全的ORM框架,sql语句需要程序员去编写,有(输入映射、输出映射)。优点:门槛不高,学习成本低,程序员的精力集中在sql上,适合互联网等需要变化较大的项目。 sqlMapConfig.xml ->sqlSessionFactory->sqlSession->Excutor->mappedStatement->mysql sql...
2018-06-22 22:52:01
314
翻译 RESTFUL主要规范及应用详解
Resource Representational State Transfer 表现层状态转换Resource:文本、图片、服务、音频 (实体)Representational: 文本:二进制,txt, html ,xml, json图片:jpg png Case: book是一个资源,获取不同的格式。http协议的 content-type 和 accept 来体现。 幂等性:...
2018-06-22 22:49:41
277
翻译 springmvc 数据绑定笔记
Eclipse idea 等同概念Workspace projectProject module 基本类型 key必须传的,只能是int范围,非封装类型不能为null包装类型 Integer 可以为null,不一定要传值 @RequestParam(别名) 数组 http://www.qq.com/index.jsp?name=tom&am...
2018-06-22 22:47:38
195
Understand-3.1.670-Linux-64bit.tar.gz
2020-04-02
instantclient-basic-win32-11.2.0.1.0
2020-04-01
公司吉祥物投稿.docx
2020-03-28
Java调用POI操作excel详解
2018-06-25
精通SpringMVC 4 中文版
2017-10-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人