
java
梧_桐
这个作者很懒,什么都没留下…
展开
-
简单配置tomcat实现基于redis的session共享
具体参考:https://github.com/redisson/redisson/tree/master/redisson-tomcattomcat新增jarredisson-all-3.13.3.jarfor Tomcat 7.xredisson-tomcat-7-3.13.3.jarfor Tomcat 8.xredisson-tomcat-8-3.13.3.jarfor Tomcat 9.xredisson-tomcat-9-3.13.3.jar1.增加context配置在Ca原创 2020-08-24 15:04:23 · 633 阅读 · 0 评论 -
那些年踩过的坑—java项目启动n次后才能正常启动
之前有个项目打成war后再tomcat8+jdk1.8启动时候n次中有1次成功;n-1次一直死循环然后启动失败;之前配置mybatis时候少了注入方式在MapperScannerConfigurer中,我们知道sqlSessionFactory的注入方式有四种,分别是sqlSessionFactory,sqlSessionFactoryBeanName,sqlSessionTemplate,sqlSessionTemplateBeanName注入sqlSessionFactory,后面的valu原创 2020-08-13 14:14:08 · 212 阅读 · 0 评论 -
那些年踩过的坑—应用登录账号串号
用户最近报了一个账号串号;登录a账号看到了别人账号的权限以及操作;刚开始以为是缓存问题;最后查到是奇葩代码问题开发在sessionFilter把一个关键的字段定义成了全局变量,并发导致这个数字被篡改了;a用户访问时候并发b进来篡改了这个关键字段;然后session存储了b这个字段的信息;导致后面a登录成功后一直使用了b的信息...原创 2020-08-13 13:33:16 · 1100 阅读 · 0 评论 -
JVM—jvm内存结构及模型
在我们开发运维过程中会碰到好多关于堆内存溢出,还有持久代内存溢出等各种故障;有时候java堆内存管理是影响应用性能的主要因素之一;了解jvm内存结构会方便我们在服务器出现性能问题时候快速了解和解决问题。1. java内存结构: 1.1 上图可获取到数据Java内存结构主要有三块:堆内存,方法区和栈。堆内存是jvm中最大的一块由年轻代和老年代组成,而年轻代内存又被划分为:Ed...原创 2020-04-03 15:35:02 · 250 阅读 · 0 评论 -
JVM—java类加载机制
1.java类加载机制 1.1 java类加载机制中最重要的是类初始化过程,包含静态资源,非静态资源,父子类,构造方法等执行顺序。学过java的人都应该知道:带有static关键字的代码块应该是最先被执行的,其次是非static关键字的代码块以及类的属性,最后是构造方法;所以类初始化过程应该是:父类的静态代码块—子类的静态代码块—初始化父类的属性/父类的普通代码块(代码自上而下执行...原创 2020-03-31 19:44:02 · 245 阅读 · 0 评论 -
java面试—dubbo
1.dubbo的容错机制; 1)、Failover Cluster:失败自动切换,当出现失败,重试其他服务器 2)、Failfast Cluster:快速失败,只发起一次调用,失败立即报错,通常用于非幂等性的写操作。 3)、Failsafe Cluster:失败安全,出现异常时,直接忽略,通常用于写入审计日志等操作。 4)、Failback Cluster:失败自动...原创 2018-08-14 22:38:32 · 1243 阅读 · 0 评论 -
java面试—nginx
1.nginx反向代理为什么能够提升服务器性能 对于后端动态服务来说:java php。这类服务器处理io能力不高;nginx有个好处是会把request在读取完整之前buffer住,这样交给后端就是一个完整的HTTP请求,从而提高效率,而不是断断续续传递,同样nginx也可以吧reponse给buffer住,减轻后端压力。2.nginx和apache 1)、nginx优点 ...原创 2018-08-14 22:50:05 · 550 阅读 · 0 评论 -
spring boot 使用Swagger
现在框架都是方便开发,采用前后台分离的技术;所以现在联系前后台唯一的就是api接口;所以api文档在前后端开发人员之间至关重要;swagger就是一款书写api文档的框架;swagger包括:swagger editor,swagger ui等很多部分,今天我们主要看看swagger ui在项目中的实际使用;这个主要是进行aip预览和测试;框架:spring boot1.添加依赖jar...原创 2018-08-22 20:56:57 · 301 阅读 · 0 评论 -
spring boot将MultipartFile file图片上传到远程服务器;
1.controller@Api(description = "图片上传接口")@RestController@RequestMapping("/uploadController")public class UploadController { @ApiOperation(value = "上传图片") @RequestMapping(value="/uploadPic",me...原创 2018-09-09 21:20:17 · 12511 阅读 · 5 评论 -
spring boot 上传超过默认1M限制
在项目上传过程中遇到一个上传超出限制的问题;报上传图片超出tomcat默认限制大小1M解决方案:1.加入限制大小配置(application.properties):spring.http.multipart.maxFileSize = 5Mbspring.http.multipart.maxRequestSize=100Mb一个是单数据大小,一个是总数据大小;仅仅这样是不...原创 2018-11-01 13:09:16 · 3209 阅读 · 0 评论 -
log4j记录单独的日志到单独文件
我们一般需要记录特殊的日志到单独文件中:1.配置log4j.propertieslog4j.rootLogger=DEBUG,Console,File,infolog4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.Target=System.outlog4j.appender.C...原创 2018-12-04 14:07:29 · 2965 阅读 · 2 评论 -
Cookie&session
cookie&session的出现:http协议的无状态特性(对业务处理没有记忆能力)导致如果后续处理需要前面的信息,则它必须重传前面的信息,这也导致每次链接传送数据量增大,为了克服http这个缺陷,出现了两种用于保持http链接状态的技术cookie&session;1.cookiecookie是有服务器端生成的,发送给User-Agent(web浏览器),浏览器会将...原创 2019-03-05 16:24:44 · 210 阅读 · 0 评论 -
java面试—消息队列ActiveMQ
1.如何使用ActiveMq解决分布式事物 在应用中,都会有用户注册功能:收集用户录入信息,保存到数据库—向用户的手机或邮箱发验证码······ 在传统集中式架构,实现功能:开启一个本地事物,往本地数据库中插入一条用户数据,发送验证码,提交事物。 在分布式架构中,用户和发送验证码是两个独立的服务,他们都有各自的数据库,那么就不能通过本地事物保证操作的原子性,这时候我们需要用...原创 2018-08-09 23:28:20 · 1293 阅读 · 0 评论 -
java面试—redis nosql数据库
1.redis的特点 redis是一款内存告诉缓存数据库。redis:远程数据服务;由C语言编写,典型的NoSql数据库服务器,redis是一个key-value存储系统,它支持丰富的数据类型:String list set hash等 redis本质上是一个key-value类型的内存数据库,数据库统统加载在内存当中进行操作,定期通过一步操作把数据库数据flush到硬盘上进行保存...原创 2018-08-09 23:01:12 · 367 阅读 · 0 评论 -
ftp上传下载工具类
import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.commons.net.ftp.*;import java.io.*;import java.util.Date;/** * To change this template use...原创 2018-08-01 09:41:22 · 498 阅读 · 0 评论 -
java宝典之时间date工具类
package com.ouyeel.util;import java.sql.Timestamp;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.util.HashMap;...原创 2018-04-12 10:13:17 · 291 阅读 · 0 评论 -
微信公众号开发--微信JS-SDK扫一扫功能(三)
使用扫一扫功能controller调用: @RequestMapping(value="/config",method = RequestMethod.POST) @ResponseBody public Map getConfig(HttpServletRequest request,@Value("${wx.appid}")String appid,@Value("${wx.secret...原创 2018-04-12 16:40:08 · 526 阅读 · 0 评论 -
ftp&图片文件处理工具类
图片处理工具类:import java.awt.AlphaComposite;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Image;import java.awt.Toolkit;import java.a...原创 2018-04-12 16:49:35 · 286 阅读 · 0 评论 -
java项目打包加版本号清理缓存二
一篇我们主要介绍了在代码中怎么处理可以做到清理缓存的效果,这篇我们说说在打包的时候加版本号,意义上就是给静态资源加版本号,意思我们每次打包的静态页面都是一个全新的页面,通过这种方式来达到清理缓存的目的;为达目标不择手段吗!1.maven项目打包增加版本号,利用maven插件:com.google.code.maven-replacer-plugin这种方式在项目打包时执行,自动在静态文件后追加版本...原创 2018-07-10 13:35:45 · 1748 阅读 · 1 评论 -
httpclient—http和https的post请求;
对于编程我们对于读文件是不可避免的;读取文件无非三种方式字节,字符,行读取文件原创 2018-07-10 13:54:35 · 2064 阅读 · 1 评论 -
java之日期工具类DATE
java日期工具类import java.text.SimpleDateFormat;import java.util.*;public class DateUtil { /** * 获取SimpleDateFormat * @param parttern 日期格式 * @return SimpleDateFormat对象 * @throws RuntimeExc...原创 2018-07-17 14:13:21 · 183 阅读 · 0 评论 -
判断请求协议方法
最近公司需要做https;在浏览器重定向时会从https重新跳到http,所以做了强转;但是在转换过程中使用了替换导致,在苹果浏览器Safari中是不存在的,所以强转后会出现httpss;判断请求协议:1.js获取:if("https:" == document.location.protocol)if( location.href.indexOf("https") > ...原创 2018-07-23 14:10:07 · 725 阅读 · 0 评论 -
maven引用本地jar包
有些jar是我们自己生成的需要在本地引用,那么需要配置依赖: <dependency> <groupId>com.localhost</groupId> <artifactId>localhost</artifactId> <version>1.0.0</version>原创 2018-07-23 16:23:25 · 567 阅读 · 0 评论 -
java项目问题排查
我之前遇到过好几次程序打不开,进程存在;后来多次排查是因为代码的原因造成的;查询数据太多造成了堵塞等;我们可以从以下几个方面去查:1.进程是否存在:jps2.导出堆栈信息:jmap jhat3.定位线程堆栈,根据堆栈信息我们可以定位到具体代码,在jvm调优中使用的比较多;记下来我们详细操作一下;1),查找对应程序的进程号pid2)生成一个堆栈信息:jmap -dump:format=b,file=...原创 2018-07-05 14:34:22 · 1001 阅读 · 0 评论 -
java应用清缓存方式一
缓存机制在页面性能优化中是非常重要的,缓存可以使页面尽可能快加载,具有减轻带宽,降低服务负荷,提高用户体验等;我们说了这么多缓存好处,为什么现在要说清缓存机制;因为在一个项目在开发中不稳定,频繁发布过程中我们就会发现缓存不是那么好,因为缓存的存在经常会使我们发布的功能不能实现,用户体验非常差;所以在开发阶段,频繁上线发布阶段我们清楚缓存还是有必要的;缓存清除一版有:每个页面加http头部,加载每个...原创 2018-07-07 00:14:18 · 7145 阅读 · 0 评论 -
那些年趟过的坑—log4j和slf4j-api冲突Maven版
slf4j-api-1.6.6.jar slf4j-log4j12-1.7.5.jar slf4j-simple-1.7.7.jar在使用到log4j和slf4j的同时slf4j-api-1.6.6.jar依赖的两个jar包也必须同时依赖,故加入以下依赖即可:<dependency> <groupId>org.slf4j</groupId> <...原创 2018-08-04 22:24:57 · 4757 阅读 · 1 评论 -
java宝典之字符串String工具类
package com.ouyeel.util;import java.beans.BeanInfo;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.Field;import java.lang.reflect.Method;import java...原创 2018-04-12 10:08:31 · 290 阅读 · 0 评论