Java 后台
文章平均质量分 72
quliuwuyiz
这个作者很懒,什么都没留下…
展开
-
idea resources目录下的application.properties 不能自动提示
原因是resources目录下的application.properties不是叶子节点,而是下面的图标:需要将application.properties 改成为绿色叶子节点:修改办法如下:参考了如下文档https://blog.csdn.net/qq360452913/article/details/86603336...原创 2019-11-04 17:23:39 · 3248 阅读 · 0 评论 -
Java调用python项目实战
项目中有用到Java调用python的需求,经过各种坑之后,根据业务需求,最终实现Java调用Python的各种情况,现在将总结如下,当然调用的也是Jython,具体原因,下面会介绍,先将代码贴出来。 这种方法是调用python文件的函数 ,并且需要将函数中的参数由Java数据类型转换为python的数据类型 <dependency&...原创 2018-02-25 10:10:21 · 17756 阅读 · 3 评论 -
Spring如何解决循环依赖
最近被问到循环依赖的问题,就再网上详细的找了一下,感觉不是特别的满意,暂时先将这些记录下来,等遇到的时候在深入钻研:对象的创建,分配内存、然后初始化(见http://blog.csdn.net/justloveyou_/article/details/72466416)在实际工作中,经常由于设计不佳或者各种因素,导致类之间相互依赖。这些类可能单独使用时不会出问题,但是在使用Spring进行管理的时...原创 2018-03-01 18:52:13 · 3424 阅读 · 0 评论 -
Servlet实现文件上传下载
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件。这个common-fileupload...原创 2018-03-18 23:26:42 · 7738 阅读 · 4 评论 -
tomcat 的最大连接数
前提说明为了确保服务不会被过多的http长连接压垮,我们需要对tomcat设定个最大连接数,超过这个连接数的请求会拒绝,让其负载到其它机器。达到保护自己的同时起到连接数负载均衡的作用。动手去做一开始根据故障todoList提供的参数MaxKeepAliveRequests,进行验证,我们将tomcat配置server.xml修改为:同时,启动客户端模拟30个长连接。预期应该只有10个连接能保持住。...原创 2018-04-17 19:16:43 · 59027 阅读 · 1 评论 -
基于RESTApi开发使用swagger及生产上关闭swagger的配置
项目组之间基于 RestApi 接口调用来进行信息的交互,之前是大家通过文档来进行沟通,但是随着接口的增多,接口的变更,这个文档只能作为一个参考,很多都发生了变化,但是因为变更的不及时,耽误了大家很多的精力进行沟通,于是项目组决定采用swagger的配置进行开发,这样上下游之间只需要看对方的swagger.html中的接口即可。但是基于swagger的配置,在上线之后还需要关闭,否...原创 2018-12-12 16:21:26 · 3143 阅读 · 0 评论 -
Spring 的监听事件 ApplicationListener 和 ApplicationEvent 用法及调用过程详解
ApplicationListener调用过程详解:https://blog.csdn.net/u014263388/article/details/78996509使用场景在一些业务场景中,当容器初始化完成之后,需要处理一些操作,比如一些数据的加载、初始化缓存、特定任务的注册等等。这个时候我们就可以使用Spring提供的ApplicationListener来进行操作。用法本文以...原创 2019-01-02 14:39:28 · 1522 阅读 · 0 评论 -
linux 网络IO模型 BIO/NIO/AIO/IO复用/信号驱动IO
1、BIO(Blocking IO)BIO,同步阻塞式IO,简单理解:一个线程处理一个连接,发起和处理IO请求都是同步的,进程会一直阻塞,直到数据拷贝完成2、NIO(new IO) NIO,同步非阻塞IO,简单理解:一个线程处理多个连接,发起IO请求是非阻塞的但处理IO请求是同步的NIO本身是基于事件驱动思想来完成的,其主要想解决的是BIO的大并发问题: 在使用同步I/O的网络...原创 2019-01-03 12:33:12 · 910 阅读 · 0 评论 -
SpringMVC项目中使用spring AOP 来记录用户操作日志并存储到数据库中
记录用户操作的日志,使用的是返回通知(@AfterReturning),只有在前端调用了我后端的接口并成功返回,才调用我的切面方法记录用户的操作存储到数据库中。注解类: LogAnnotation.javaimport java.lang.annotation.ElementType; import java.lang.annotation.Retention; import ja...原创 2019-01-31 18:04:33 · 4005 阅读 · 1 评论 -
mybatis 根据数据库自动生成代码
经过一上午的努力,终于完成了mybatis根据数据库中的表结构生成对应的model,dao,mapper文件,jar包已经包含,可以直接使用 :下载地址: https://download.csdn.net/download/quliuwuyiz/10956101其中主要是针对mysql和oracle数据库表结构进行代码的生成,至于postgresql,只需要将postgresql的驱...原创 2019-02-13 20:55:00 · 1335 阅读 · 0 评论 -
JDK注解小结
背景注解的作用注解的声明元注解@Documented@Target@Retention@Inherited@Repeatable自定义注解使用流程背景如今常用的Java框架中已经使用到了大量的注解(Annotation) 这些自定义的注解都是通过JDK提供的元注解构建了, 于是花了一点时间研究了一下JDK1.8 中的元注解, 在此总结一下:注解的作用注解从字面上的意思理...转载 2019-03-12 13:59:44 · 337 阅读 · 0 评论 -
滴滴5亿年终奖,根据这四个问题来发 ----------困惑、成长、发展、增值、新知
程序员的成长之路,每个人都要面对的 --------------------------------------------------------------------------------------2015年1月30日,滴滴出行年会在北京工人体育馆举行,滴滴出行 CEO 程维和滴滴出行总裁柳青分别发表演讲。程维回顾了公司2015的成绩,展望了2016年的目标和方向,然后提到了年终奖的...转载 2019-05-08 15:24:22 · 192 阅读 · 0 评论 -
Java 防止Xss跨站攻击
依赖Jar包,<dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version></dependency>package com.utils原创 2018-03-04 23:03:01 · 668 阅读 · 0 评论 -
maven snapshot的jar包中的类找不到
maven管理项目的过程中碰到这样一个问题,引用同项目组的同事开发的第三方jar包,开发完成后编译也通过了,但是在启动的过程中,结果怎么都找不到引用的别人项目jar包下面所有的类,引用的jar是snapshort包,在idea中将所有冲突的jar都清楚了之后,问题还是没有解决。在pom.xml中依赖的jar是 <dependency> <grou...原创 2018-02-24 18:09:32 · 8341 阅读 · 0 评论 -
springmvc 防止表单重复提交
在网上查看了很多关于springmvc防止表单重复提交的例子,将其中的3个整合在一起,才算是一个完整的例子。因项目中暂时还没有这么个需求,特备注下来,以防以后用到时还要大量的漫无目的的去寻找例子。实现原理为SpringMvc拦截器+注解的方式实现防止重复提交实现机制是使用token(随机码),简单说下:(a)进入下单页,会生成一个token,同时存在两个地方:session(或redi...原创 2018-02-26 15:22:13 · 755 阅读 · 0 评论 -
Struts2中防止表单重复提交的两种方式及token拦截器的原理及作用
当用户填写完表单后,在提交过一次后,若用户做如下操作比如再次点击提交、刷新页面、提交页面呈现后点击后退按钮,都会导致表单重复提交。如果信息需要存储到后台数据库中,重复提交就会再次向数据库中插入用户信息,显然这样是不对的。解决方式有两种第一种方法,Action处理完用户提交的数据后,重定向到另一个Action或是一个页面,使用户提交后,所停留的位置,不是当前处理数据的Action,这样用户再刷新时...转载 2018-02-26 15:52:08 · 1768 阅读 · 0 评论 -
Springboot:IE浏览器中@responseBody出现文件下载的解决办法
今天在linux系统中部署的项目启动的时候,在浏览器中弹出下载文件,在网上参考了下别人的文章,在启动类中加入一个bean,通过text-plian来解决。依赖的jar包:<dependency> <groupId>com.alibaba</groupId> <artifactId>fastj...原创 2018-03-14 21:05:37 · 4866 阅读 · 1 评论 -
通过slf4j/log4j的MDC/NDC 实现日志追踪
首先介绍下NDC和MDC的区别:NDC和MDCNDC(Nested Diagnostic Context)和MDC(Mapped Diagnostic Context)是log4j种非常有用的两个类,它们用于存储应用程序的上下文信息(context infomation),从而便于在log中使用这些上下文信息。NDC采用了一个类似栈的机制来push和pop上下文信息,每一个线程都独立地储存上下文信...原创 2018-03-14 21:35:18 · 3722 阅读 · 1 评论 -
解决eclipse项目编译不成功-循环依赖的问题
循环依赖,指的是多个项目之间相互引用,导致项目之间存在循环引用。Ecplise默认编译器检测到循环依赖的项目是不会被编译的。所以一定要将循环依赖设置为警告,让项目顺利编译通过。如何发现编译不通过?通过两个方面可以发现项目是否编译通过:1、查询project视图中项目图标,如果项目图标上有红色的叹号,则说明项目编译没有通过。2、查询navigator视图,如果项目目录中的bin目录没有编译后的.cl...转载 2018-03-18 23:45:46 · 3647 阅读 · 4 评论 -
springboot和mongoDB分片配置 集群配置
最近在开发的过程中,遇到mongoDB与springboot集群过程中的集群及分片链接的配置,以及mongoDB通过后台的方式创建索引及联合索引,在网上搜了下没有具体的配置举例,在项目中遇到之后,就顺便记录下来,已被后用,在记录的过程中只是暂时用到的,其他的以后再补充吧。使用Mongo Shell连接实例 (请使用MongoDB 3.0以上版本的driver)mongo --host s-*.mo...原创 2018-02-22 17:56:23 · 15969 阅读 · 0 评论 -
Java HashMap的面试题
在很多java资料中,都有提到 ConcurrentHashmap HashMap和Hashtable都是key-value存储结构,但他们有一个不同点是 ConcurrentHashmap、Hashtable不支持key或者value为null,而HashMap是支持的。为什么会有这个区别?在设计上的目的是什么?在API的Document中找到这样的解释:The main reason that...原创 2018-03-10 15:06:08 · 344 阅读 · 0 评论 -
HashMap和Hashtable的区别
HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题。HashMap的工作原理、ArrayList与Vector的比较以及这个问题是有关Java 集合框架的最经典的问题。Hashtable是个过时的集合类,存在于Java API中很久了。在Java 4中被重写了,实现了Map接口,所以自此以后也成了Java...原创 2018-03-10 15:26:07 · 114 阅读 · 0 评论 -
ConcurrentHashMap的实现原理
ConcurrentHashMap实现原理及源码分析 ConcurrentHashMap是Java并发包中提供的一个线程安全且高效的HashMap实现(若对HashMap的实现原理还不甚了解,可参考我的另一篇文章HashMap实现原理及源码分析),ConcurrentHashMap在并发编程的场景中使用频率非常之高,本文就来分析下ConcurrentHashMap的实现原理,并对其实现原理进行分...原创 2018-03-10 15:53:54 · 163 阅读 · 0 评论 -
java for和for each用法和效率
循环ArrayList时,普通for循环比foreach循环花费的时间要少一点;循环LinkedList时,普通for循环比foreach循环花费的时间要多很多。 将循环次数提升到一百万次的时候,循环ArrayList,普通for循环还是比foreach要快一点;但是普通for循环在循环LinkedList时,程序直接卡死。原因:foreach使用的是迭代器结论:需要循环数组结构的数据时,建议使用...原创 2018-03-03 11:18:49 · 510 阅读 · 0 评论 -
Java 8 lambda表达式的10个示例
package com.test.lambda;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Arrays;import java.util.IntSummaryStatistics;import java.util.List;import java.util.func...原创 2018-02-11 16:32:53 · 366 阅读 · 0 评论