java
文章平均质量分 66
niubility锐
就是瞎搞搞
让他们说去吧
展开
-
Idea超好用的管理工具ToolBox(附带idea工具,视频教程)
对于大多数人最大的用处就是版本管理,下载安装方便!寻找安装目录,寻找配置方便!原创 2023-02-11 16:22:52 · 2735 阅读 · 0 评论 -
web扫码登录
pc端实现app扫码登录原创 2022-11-30 15:32:12 · 947 阅读 · 0 评论 -
gateway网关限流配置
文章目录熔断、降级、限流的关系限流常用算法令牌漏桶算法gateway限流配置代码配置gateway配置限流之后HTTP返回结构限流缘由: 部分接口在某些场景业务下某短时间并发量较高,最简单暴力的方式就是限流熔断、降级、限流的关系熔断:熔断强调的是服务之间的调用能实现自我恢复的状态;限流:限流是从系统的流量入口考虑,从进入的流量上进行限制,达到保护系统的作用;降级:降级,是从系统内部的平级服务或者业务的维度考虑,流量大了,可以干掉一些,保护其他正常使用;熔断是降级方式的一种;降级又是限流的一原创 2022-03-18 15:35:25 · 5515 阅读 · 0 评论 -
Spring boot 过滤器实现防XSS攻击
文章目录背景参考资料上代码过滤器配置可配置不过滤地址主要过滤器代码xss具体过滤规则注意扫描该包(或者加starter也行)关于富文本框gitee代码仓库背景框架中添加xss攻击过滤器类,防止脚本攻击,能够做到引入包即可使用。参考资料这里主要参考renren-fast官方提供的开源项目的xss攻击进行改造。参考io/renren/common/xss包下面类三方包 hutool-http,参考博客api里面提供了xss所需的标签替换等功能上代码过滤器配置/** * Filter配置原创 2021-03-18 11:18:38 · 1353 阅读 · 0 评论 -
Java面试复习资料
文章目录梁桂钊的博客来自朋友分享的个人博客,目录看着还比较全尚学堂面试题来自尚学堂的面试分享一线互联网大厂Java核心面试题库 (个人比较喜欢)来自Gudie的面试题,个人比较喜欢看的面试题中华石杉–互联网Java进阶面试训练营(个人推荐)个人推荐面试题,更多偏向于互联网大厂,大数据架构方向,扩展技术很不错...原创 2021-02-26 16:16:07 · 123 阅读 · 0 评论 -
renrenfast请求跨域
文章目录问题什么是跨域google浏览器cookie安全处理cookie属性SameSite关闭浏览器cookes设置,处理跨域其余解决方案最后问题问题在使用renren-fast项目是出现找不到权限,跟代码发现没有找到session。仔细对比请求前端请求时没有带cookies,页面上没有跨域提示,但是问题出在没有cookies导致。多方搜索发现确认跨域问题。什么是跨域当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域参考文章:什么是跨域google浏览器cook原创 2021-02-22 10:50:28 · 1386 阅读 · 0 评论 -
分布式锁-没啥用的记录
微服务--分布式锁CAP模型分布式锁实现方案对比吐槽首先了解CAP模型,对后面了解分布式锁有所帮助,对分布式设计也由一定思考CAP模型A:Availability 中文叫做"可用性"。请求任何一台服务器数据必须给予回应C:Consistency 中文叫做"一致性"。读写操作是同一条数据P:先看 Partition tolerance,中文叫做"分区容错"。分布式锁针对的就是微服务系统,必然是多个服务器,那么微服务必然满足分区容错。参考文档:CAP模型分布式锁实现方案对比redi原创 2020-12-13 20:10:58 · 117 阅读 · 0 评论 -
docker快速搭建alibaba-canal
docker快速搭建alibaba-canal需求来源方案canal部署环境基础同步技术介绍准备RoketMQ 搭建搭建canal查看MQ消息消费消息写入ElasticSearch需求来源 跟踪表对比前后修改数据变化方案AOP、拦截器优点: 实现简单缺点:代码入侵性强 每加入一个模块就需要处理切面添加切入点,模块配置也需要增加。项目依赖麻烦,档案模块需要依赖对应模块api包...原创 2020-04-28 10:05:18 · 1905 阅读 · 0 评论 -
aspose实现文件转换pdf实现WEB文件预览
文章目录项目需求处理思路实现引入aspose-words、aspose-cell破解包编写工具类PdfUtil.javaController调用结束遗留问题分离项目一般做法项目需求上传文件需要实现下载、浏览器直接预览。主要预览文件为图片格式、word、excel处理思路浏览器本身支持图片格式,这里几乎不需要处理处理word、excel比较麻烦,浏览器不支持,那么只能转化成浏览器支持格式...原创 2020-01-16 11:19:52 · 2418 阅读 · 6 评论 -
Struts2 返回值带<pre>标签
文章目录问题解决方案解决思路解决方案猜想问题在Struts2中返回值返回如下格式<pre style="word-wrap: break-word; white-space: pre-wrap;">返回内容</pre>pre标签解释解决方案找了很多网上的博客,统一问题解决方案是response的contentType需要设置为“text/html”。我在con...原创 2019-10-29 10:25:30 · 384 阅读 · 0 评论 -
MYSQL显示行号排序、同张表数据排序上下比较
需求需要查询小说是否有断更,小说章节信息表中有发布时间:pub_time,如果发布时间间隔超过三天就算断更思路查询小说章节信息表,将章节信息按照发布时间排序,加上行号。生成table1 和table2 信息一样left join 关联查询,table1行号为 n 与 table2行号为n+1的数据发布时间比较,如果存在大于三天则说明断更准备工作章节表:CREATE TAB...原创 2018-07-25 16:39:03 · 764 阅读 · 0 评论 -
动态代理简要总结
何为代理?说到代理,开发中随处可见。nginx服务器正向代理、反向代理,jdk5动态代理、cglib动态代理等。面试中也常问何为代理模式?代理举例就是说同学A拥有买东西的能力,但是他不在自己做,让同学B去帮忙买回来。这个同学B就是代理。代理有什么好处呢?同上,如果让同学B去帮忙买东西,同学B是不是就可以在买东西的时候动手脚啦?比如想办法花更少的钱买到一样的东西,多的就成B同学的了,大赚一笔...原创 2018-10-18 22:58:28 · 183 阅读 · 0 评论 -
renren-fast 项目解读:系统日志处理
系统日志处理系统日志,在系统中主要是使用的是注解日志的形式。通过注解去控制系统日志打印的内容。基本实现代码:这里通过环绕处理 @Pointcut("@annotation(io.renren.common.annotation.SysLog)") public void logPointCut() { } @Around("logPointCut()"...原创 2018-10-28 20:09:27 · 2020 阅读 · 0 评论 -
对比Vector、ArrayList、LinkedList有何区别?
Vector1.线程安全的动态数组2.如果不需要线程安全,并不建议选择,毕竟同步是有额外开销的。Vector 内部是使用对象数组来保存数据,可以根据需要自动的增加容量,当数组已满时,会创建新的数组,并拷贝原有数组数据。3.扩容大小默认为0,可指定每次扩容大小(capacityIncrement变量),当扩容指定大小加上原数组大小,小于可容下大小时扩大到两倍,否则判断是否大于MAX_ARR...原创 2018-11-24 23:47:24 · 225 阅读 · 0 评论 -
关于异常日志打印的问题
问题在开发中看到系统大量使用try catch(Exception e)包裹业务代码,然后打印信息。让我不禁想到这样包裹真的好么??又因为代码中我发现一些问题就算是因为这样的包裹没有及时处理异常导致报错却没有打印信息,很难发现问题!查阅《Think in java》:1.不应把java的异常处理机制当成是单一用途的工具。是的,他是被设计用来处理一些烦人的运行时错误,这些错误往往是由代码...原创 2018-11-28 22:49:14 · 3050 阅读 · 0 评论 -
模仿tomcat---初识感受
前言很早就有看到公众号推送的手写简单tomcat的类似文章。一直想模仿着写写,主要感受下人家的思维和思路,今天终于参考别人写的自己手动也写了一下。整体思路要求保证长连接,保持长时间监控端口请求封装请求参数信息,其中包括地址映射的servlet,请求地址,请求端口等执行请求封装返回信息等主要代码实现项目地址:抄袭miniTomcat使用Socket做网络连接端口监听,这里一定要...原创 2019-01-14 00:25:30 · 358 阅读 · 0 评论 -
类加载-学习笔记
文章目录概念java虚拟机的生命周期jvm参数有趣的final问题答案final 使用影响类加载另一种情况结论反编译工具创建数组数组加载器接口总结加载器static类初始化时机结果自定义类加载器类加载器双亲委托模型作用原始类加载器线程上下文类当前类加载器线程上下文加载器(Context ClassLoader)上下文类加载器重要性上下文类加载器的使用模板ServiceLoader修改上下文加载器...原创 2019-08-10 22:22:04 · 152 阅读 · 0 评论 -
Spring mvc 装配、相关配置
文章目录官方文档地址Spring boot 自动装配@EnableWebMvc相关配置主要配置异常处理总结官方文档地址Spring mvc官方文档Spring boot 自动装配Spring boot 自动装配通过扫描autoconfig包下的\META-INF\spring.factories进行装配。(具体机制查看文档装配内容)Spring mvc 通过org.springframe...原创 2019-08-24 19:04:18 · 279 阅读 · 0 评论 -
Idea提交错误,git返回上个版本代码
文章目录返回指定版本返回上个版本返回指定版本引用别人博客:idea中git远程版本回退此方法注意处理冲突,强制提交问题返回上个版本如果只有一个版本回退建议使用返回提交此方法只回退某个版本提交的代码也是很方便,回退这种事情能少用就少用吧,毕竟距离目前版本过多也不好处理...原创 2019-08-17 11:50:20 · 3592 阅读 · 0 评论 -
Redis集群:哨兵机制配置
前置redis单例基本搭建参考博客:redis基础服务搭建redis集群主要修改配置:主从复制1. 主机配置复制一份redis.conf成redis-6379.conf。修改配置: ``` #演示方便,开放ip连接 bind 0.0.0.0 #后台运行 daemonize yes #pid文件 pidfile /var/run/redis_6379.pid #日志文件 lo...原创 2018-10-07 18:26:57 · 1753 阅读 · 4 评论 -
项目从MYSQL5.6切换MYSQL 8.0随手记
切换MYSQL驱动包:由com.mysql.jdbc.Driver 切换到com.mysql.cj.jdbc.Driver,目前我使用的是最新版本maven配置: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector...原创 2018-09-23 01:01:34 · 3153 阅读 · 0 评论 -
MYSQL表被锁
问题:在使用navicat时,修改字段保存时始终卡死报错意外断开连接。几番思考,怀疑是不是锁表了,因为在之前我强制断开tomcat服务,当时有个任务正在执行查询写入操作,此表数据量又较高需要一定时间。暴力解决方式 重启MYSQL(重启解决问题利器,手动滑稽)查看表情况: show processlist; mysql show processlist命令...原创 2018-08-02 11:13:34 · 12266 阅读 · 0 评论 -
hibernate报错:Space is not allowed after parameter prefix ':' 转义问题
问题:在项目中使MYSQL自定义变量@时会用到:符号,hibernate执行时报错:Space is not allowed after parameter prefix ‘:’这里问题在于:符号hibernate解析出错,与hibernate解析参数冲突。具体问题解析查看:org.hibernate.engine.query.spi.ParameterParser解决方案: //...原创 2018-08-02 10:40:33 · 4644 阅读 · 0 评论 -
IDEA端口占用:java.rmi.server.ExportException: Port already in use: 1099
解决方案(一)1. 查询端口windows命令: 在开始-运行-cmd,输入:netstat –ano可以查看所有进程查询占用了8080端口的进程:netstat -ano|findstr "8080"Mac命令: lsof -i:80 查询80端口占用程序2. 杀死占用端口程序(注意程序是不是可以杀死的,可能是自己其它程序开启需要使用的服务或者其他)wind...原创 2018-08-02 10:14:28 · 1614 阅读 · 0 评论 -
MYSQL数据累加
需求 查询小说发布到50000字记录的章节信息章节表CREATE TABLE `t_chapter` ( `id` varchar(255) NOT NULL COMMENT '主键', `num` int(11) DEFAULT NULL COMMENT '发布字数', `production_number` varchar(11) NOT NULL COM...原创 2018-07-25 16:49:32 · 10932 阅读 · 3 评论 -
org.apache.poi 实现Excel导入导出
使用包 &lt;dependency&gt; &lt;groupId&gt;org.apache.poi&lt;/groupId&gt; &lt;artifactId&gt;poi&lt;/artifactId&gt; &lt;version&gt;3.9原创 2018-07-04 19:59:35 · 5655 阅读 · 0 评论 -
Maven添加本地jar到本地仓库
序言经常在开发中遇到本地jar包想要添加到项目中,但是引入(打包)感觉麻烦,需要放到一定目录然后pom设置添加jar包,那么最好的方式(个人感觉)就是将本地的jar添加到maven仓库,直接pom引入就能和其他包一样使用,也不会影响其他操作添加本地仓库前提条件本地已安装maven环境变量已配置好参考学习:Maven配置教程添加jar到本地仓库进入到jar包目录cd path(...原创 2018-07-10 09:28:59 · 299 阅读 · 0 评论 -
Spring注入接口的实现类报错分析,dao无法注入
这里自我总结下一般注入报错问题可能情况: 1.dao实现类未添加注解@Repository (或者添加bean配置,我本身一直不喜欢配置,所以基本没有使用配置,需要这种方式自行百度,我就不累赘) 2.实现多个实现未指定实现类,引入dao自动装配时(@Autowired)添加注解@Qualifaer(value="xxxx")指定实现类几种装配类型参考博客:https://www.cnbl...原创 2018-06-22 11:04:42 · 8123 阅读 · 0 评论 -
logback基础日志配置
目前项目搭建是使用的Spring mvc + hibernate(比较原始,boot后面会尝试)1.引入日志包 ch.qos.logback 为logback包 org.logback-extensions 包用于集成Spring的包<!-- log begin --><dependency> <groupId>ch.qos.logback<...原创 2018-06-22 10:39:47 · 486 阅读 · 0 评论 -
微信支付-模式二
微信业务流程(1)商户后台系统根据用户选购的商品生成订单。(2)用户确认支付后调用微信支付【统一下单API】生成预支付交易;(3)微信支付系统收到请求后生成预支付交易单,并返回交易会话的二维码链接code_url。(4)商户后台系统根据返回的code_url生成二维码。(5)用户打开微信“扫一扫”扫描二维码,微信客户端将扫码内容发送到微信支付系统。(6)微信支付系统收到客户...原创 2018-08-19 00:12:35 · 822 阅读 · 6 评论 -
生成图片验证码
问题描述在项目中遇到有人恶意拉取图片资源,无限刷资源,导致阿里图片服务器流量暴涨(钱遭不住),使得带宽一直处于上限,正常用户不能好的访问。解决办法这个功能设计要点有两个: 1.接口限流,针对同一用户单位时间内请求不能超过N次,如果超过N次属于不正常访问,ip列入黑名单 2.添加图片验证码,列入黑名单用户必须验证图片验证码才可解除黑名单,这里主要说明生成图片验证码 其他情况验...原创 2018-08-27 10:15:25 · 945 阅读 · 0 评论 -
线程池:Executor框架
无限制创建线程的不足线程生命周期的开销非常高。线程的创建并不是没有代价的。根据平台的不同,实际的开销也有所不同,但是线程的创建过程都会需要时间,延迟处理的请求,并且需要JVM和操作系统提供一些辅导操作。如果请求的到达率非常高且请求的处理过程是轻量级的,例如大多数服务器应用程序就是这种情况,那么为每个请求创建一个新线程将消耗大量的计算资源。资源消耗。活跃的线程会消耗资源,尤其是内存。如果可运行...原创 2018-09-26 22:37:25 · 428 阅读 · 1 评论 -
hibernate 时间范围查询
需求查询某年、某月、某日数据信息实现 (createTime时间为例)sql实现方式:SELECT * FROM table WHERE ${开始时间}&lt;=createTime&lt;=${结束时间}hql 实现方式: FROM tableEntity WHERE ${开始时间}&lt;=createTime&lt;=${结束时间}` 问题每次查询类...原创 2018-09-15 10:10:38 · 5001 阅读 · 2 评论 -
强引用、软引用、弱引用、幻象引用总结
四种引用的区别不同的引用类型,主要体现的是:对象不同的可达性(reachable)状态和对垃圾收集的影响强引用(StrongReference):强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。只要还有强引用指向一个对象,就能表明对象还“活着”,垃圾收集器不会碰这种对象。对于一个普通的对象,如果没有其他的引用关系,只要超过了引用的作用域或者显式地将相应(强)...原创 2018-09-17 17:00:43 · 519 阅读 · 0 评论 -
final、finally、 finalize有什么不同?
final中文翻译:最终的;决定性的;不可更改的,可以用来修饰类、方法、变量,分别有不同的意义修饰类:当用final修饰一个类时,表明这个类不能被继承。也就是说,这个类不能其他类继承(反向说如果不想让这个类被继承就使用final进行修饰类)。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法 注意:fina...转载 2018-09-12 23:15:30 · 266 阅读 · 0 评论 -
liughMVC项目(简易SpringMVC)项目解读
项目包annotation包:自定义注解,这里主要还是模仿的Spring mvc注解的命名,为了区分前面都加了一个My***core包:测试controolerservlet:自定义servlet(框架核心实现)resources:配置文件(maven定义) 实现项目主要的实现在MyDispatcherServlet自定义Servlet中,web.xml配置: My...原创 2018-09-08 21:16:15 · 263 阅读 · 0 评论 -
Exception和Error有什么区别?
请对比 Exception 和 Error,另外,运行时异常与一般异常有什么区别?如图Exception 和 Error都继承自Throwable类,由jdk api文档中对该类的描述可以知道它是异常处理机制的基本组成类型。可以由虚拟机抛出或者编码者自行抛出(throw) jdk8中文发翻译Throwable类的描述:Throwable类是Java语言中所有错误和异常的Throw...原创 2018-09-11 23:14:36 · 4694 阅读 · 0 评论 -
项目中网站的演变(技术栈罗列)
项目中网站的演变 根据吕一明老师的思维大图整理而来项目开发常用部署工具常用部署工具:jenkins项目发布、svn(git)项目代码管理、linux服务器、maven项目管理swagger2生成api接口文档、hibernate validator api数据验证第一阶段物理分离应用服务器与数据库(jsp、ssh、ssm)两台服务器分别部署应用和数据库项目...原创 2018-09-01 17:05:42 · 612 阅读 · 0 评论 -
支付宝支付-电脑网站支付
官方文档支付接口(alipay.trade.page.pay):商户系统请求支付宝接口alipay.trade.page.pay,支付宝对商户请求参数进行校验,而后重定向至用户登录页面。用户确认支付后,支付宝get请求returnUrl(商户入参传入),返回同步返回参数。 交易成功后,支付宝post请求notifyUrl(商户入参传入),返回异步通知参数。若由于网络等问题异步通知没...原创 2018-08-31 16:38:43 · 2936 阅读 · 0 评论 -
java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timest
在查询数据库时间类型时,如若出现时间格式错误如:0000-00-00 00:00:00 则会抛出java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timest 错误问题是时间类型存储错误,解决方案: jdbc.url=jdbc:mysql:ip地址:端口号数据库名称?c...原创 2018-06-22 10:22:29 · 588 阅读 · 0 评论