- 博客(80)
- 资源 (25)
- 收藏
- 关注
原创 Token的作用及原理
讲到Token的作用和原理,网上有很多相关的技术文章,通过搜集整理并加入自己的理解体会,做一个总结整理,希望可以帮助到更多有需要的人。1、token作用及原理Token,即令牌,是服务器产生的,具有随机性和不可预测性,它主要有两个作用:(1)防止表单重复提交;使用Token防表单重复提交步骤:①在服务器端生成一个唯一的随机标识号,专业术语称为Token(令牌),同时在当前用户的Session域中保存这个Token;②将Token发送到客户端的Form表单中,在Form表单中使用隐藏域
2020-07-09 16:11:10
12344
1
原创 Mysql超时重连解决方案3: 配置c3p0连接池(终极方案)
前面的文章中,我介绍了修改mysql默认超时时间和配置proxool连接池的方法来解决Mysql超时重连的问题。方案1不推荐,它并没有从根本上解决问题;方案2可用,但配置相对复杂;所有才有了方案3,它既解决了关键问题,并且配置简单易懂。c3p0连接池的testConnectionOnCheckout属性,类似于autoReconnect属性可自动保持数据库的连接,在获取连接时先检查连接是否有效(即检查Connection是否被mysql数据库关闭了),如果连接无效就重新建立一个新的连接。C3P0连接
2020-06-04 17:29:30
2003
1
原创 Mysql连接超时解决方案2: 配置Proxool连接池
MySQL数据库默认的连接超时时间为8h(即wait_timeout=28800s),如果一个连接闲置时间超过8h,MySQL会主动断开这个连接。用proxool连接池可以解决Mysql自动断开重连的问题,它具有移植性好,快速、成熟、健壮等特性,同时还提供了可视化的连接池实时监控工具。proxool连接池配置如下:1、下载相关JAR包;从http://proxool.sourceforge.net/站点下载jar包,proxool-0.9.1.jar和proxool-cglib.jar拷贝至项目中。
2020-05-29 23:24:28
2592
原创 AWS Lambda学习2:通过S3事件触发调用Lambda函数,实现缩略图地生成
创建一个Amazon Lambda函数,实现从S3源存储桶读取图片对象并创建缩略图到目标存储桶,开发实现过程如下:1、创建存储桶并上传示例对象(1)打开 Amazon S3 控制台(2)创建两个存储桶。源存储桶lambda-demo1-bucket,目标存储桶lambda-demo1-bucketresized。(3)在源存储桶中,上传一个 .jpg 对象 sidatianwang...
2020-04-23 16:34:36
3028
1
原创 AWS Lambda学习1:Java编程方式调用Lambda函数
什么是 AWS Lambda?AWS Lambda 是一项无服务器计算服务,可使您无需预配置或管理服务器即可运行代码。简单地说,Lambda其实是一个函数运行环境。借助 AWS Lambda,您可以为任何类型的应用程序或后端服务运行代码,并且不必进行任何管理。如何调用 AWS Lambda 函数?您可以使用 Lambda 控制台、Lambda API、AWS 开发工具包、AWS CLI...
2020-04-23 11:10:06
1876
原创 JDBC和JNDI的区别
1、JDBC和JNDI 的区别:两者都是API,是一个标准。并不是什么产品或方法。JDBC :Java Database Connectivity,是由数据库服务商提供的,用于连接数据库的Java API。使用JDBC带来的问题:(1)数据库服务器名称 、用户名和口令都可能需要改变,由此引发JDBC URL需要修改;(2)数据库可能改用别的产品,如改用DB2或者Oracle,引...
2020-02-27 12:25:02
5418
原创 Mysql连接超时解决方案1: 修改默认超时时间
MySQL数据库一般默认的连接超时时间为28800s(即8小时),但是在进行大规模的线程事务操作时,一个连接会一直等待执行,这时候如果数据库的超时时间设置的过短,就可能会出现Mysql数据连接自动被释放,影响后面对数据库的操作。当然MySQL连接设置的大小,要根据需求场景进行设置,wait_timeout过大也有弊端,其体现就是MySQL里大量的SLEEP进程无法及时释放,拖累系统性能,不过也...
2020-02-27 10:22:24
27527
2
原创 ubuntu完全卸载mysql的方法
卸载mysql按以下步骤执行:1、执行命令dpkg --list|grep mysql,查看mysql有哪些依赖2、执行命令sudo apt-get remove mysql-common,卸载mysql-common组件3、执行命令sudo apt-get autoremove --purge mysql-server-5.x,卸载server组件4、再次执行dpkg --l...
2020-02-27 10:02:02
910
1
原创 Nginx 连接超时参数优化
1. 什么是连接超时当服务器建立的连接没有接收处理请求时,可以在指定的时间内让它超时自动退出2. 连接超时的作用(1) 将无用的连接设置为尽快超时,可以保护服务器的系统资源(CPU、内存、磁盘)(2) 当连接很多时,及时断掉那些建立好的但又长时间不做事的连接,以减少其占用的服务器资源(3) 如果黑客攻击,会不断地和服务器建立连接,因此设置连接超时以防止大量消耗服务器的资源...
2020-01-13 18:31:31
2404
原创 Nginx配置中的if判断
当rewrite的重写规则满足不了需求时,比如需要判断当文件不存在时、当路径包含xx时等条件,则需要用到ifif语法if (表达式) { ...}表达式语法:当表达式只是一个变量时,如果值为空或任何以0开头的字符串都会当做false 直接比较变量和内容时,使用=或!= -f和!-f用来判断是否存在文件 -d和!-d用来判断是否存在目录 -e和!-e用来判断是否存...
2020-01-13 17:15:14
19842
转载 nginx的作用及正则配置
nginx的基本功能1.静态HTTP服务器Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。server { listen 80; # 端口号 location / { root /usr/share/nginx/html; # 静态文件路径 }}2、反向代理服务器什么是反向代理?...
2020-01-13 17:03:49
300
转载 动态代理与静态代理区别
一、代理概念为某个对象提供一个代理,以控制对这个对象的访问。 代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完请求后的后续处理。图1:代理模式从图中可以看出,代理接口(Subject)、代理类(ProxySubject)、委托类(RealSubject)形成一个“品”...
2019-12-20 15:30:48
256
转载 CGLIB介绍与原理
一、什么是 CGLIB?CGLIB是一个功能强大,高性能的代码生成包。它为没有实现接口的类提供代理,为JDK的动态代理提供了很好的补充。通常可以使用Java的动态代理创建代理,但当要代理的类没有实现接口或者为了更好的性能,CGLIB是一个好的选择。CGLIB作为一个开源项目,其代码托管在github,地址为:https://github.com/cglib/cglib二、CGLIB 原...
2019-12-20 10:31:47
948
原创 解决:java.lang.ClassCastException:[Ljava.lang.Object
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.alibaba.domain.Person解决方法:public Person queryById(Integer personId) { return (Person) getSession().createSQLQuery(" selec...
2019-10-24 16:06:47
1914
原创 Java反射-高级开发必须懂的
理解反射对学习Java框架有很大的帮助,如Spring框架的核心就是使用Java反射实现的,而且对做一些Java底层的操作会很有帮助。一:Class类的使用①.万事万物皆对象,(当然,基本数据类型,静态成员不是面向对象(属于类的)),所以我们创建的每一个类也都是对象,即类本身是java.lang.Class类的实例对象,但是这些对象都不需要new出来,因为java.lang.Cla...
2019-08-09 11:07:35
299
原创 面试系列-并发编程72道面试题及答案
1.Java中守护线程和本地线程区别java中的线程分为两种:守护线程(Daemon)和用户线程(User)。任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(bool on);true则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemon()必须在Thread.start()之前调用,否则运行时会抛出异常。两者的区别:...
2019-08-09 11:05:44
319
原创 Java以流的形式下载文件
@RequestMapping("download") @ResponseBody public void download(HttpServletResponse response, Integer userId, String fileUrl) { try { File file=new File(fileUrl); ...
2019-08-06 16:03:27
2502
原创 restful实现文件下载
private static final byte[] UTF8_BOM = {(byte)0xEF, (byte)0xBB, (byte)0xBF}; private static final String FAV_ICO = "fav.ico"; @GET @Path("/getFile") @...
2019-08-06 16:01:37
4368
转载 Eclipse怎样导出含第三方jar的可执行jar包
当我们开发完java项目后,就需要导出可执行的java文件。java的部署可以有很多种,我这里介绍非常简单的一种,只要项目中包含main方法,而且安装完了java,这个方法就可以使用。方法/步骤 首先我们在编辑器中编写一个简单的类代码,这个类只有一行就是System.out.println("test");输出test的字样。 在Eclipse左侧找到项目,选择项目后右键...
2019-08-06 15:53:03
383
转载 adb命令大全
基本用法 命令语法 为命令指定目标设备 启动/停止 查看 adb 版本 以 root 权限运行 adbd 指定 adb server 的网络端口 设备连接管理 查询已连接设备/模拟器 USB 连接 无线连接(需要借助 USB 线) 无线连接(无需借助 USB 线) 应用管理 查看应用列表 所有应用 系统应用 第三方应用 包名包...
2019-08-06 15:15:21
811
转载 如何解决:java.io.FileNotFoundException.....\img (拒绝访问)
今天,在写文件流时,碰到读取文件夹“拒接访问”的问题。权限不够:上网搜资料说是权限级别不够,照着做,之后再试,依然出错,头大了。换workspance:换workspace目录盘,换到D盘,依然“拒接访问“,死的心都有啦。跟它耗上了。最后,百度一段不起眼的问答,找到原因了:FileOutputStream读取流的时候如果是文件夹,就会出次错。恍然大悟!病根:FileOutputStream读取...
2019-07-08 16:33:08
6792
2
转载 负载均衡服务器如何保证上传文件同步
负载服务器Z,应用服务器A 和B ,从A上传的附件,如何在B上下载下来?这个问题我的解决思路如下: 服务器A、B 上传附件的时候,将这个附件备份到服务器Z ,当A、B下载文件的时候,首先会在自己服务器的目录下寻找,如果找不到,就会从服务器Z 上下载一份到当前服务器。这里主要介绍一下重写上传、下载的方法时应该添加的代码上传文件,异步操作new Thread(() -> {...
2019-05-30 17:30:33
2412
原创 Java8实现ftp与sftp文件上传下载
一般连接windows服务器使用FTP,连接linux服务器使用SFTP。linux都是通过SFTP上传文件,不需要额外安装,非要使用FTP的话,还得安装FTP服务(虽然刚开始我就是这么干的)。 另外就是jdk1.8和jdk1.7之前的方法有些不同,网上有很多jdk1.7之前的介绍,本篇是jdk1.8的添加依赖Jsch-0.1.54.jar<!-- https:...
2019-05-30 16:56:04
2441
原创 Java实现ftp文件上传、下载和删除
本文利用apache ftp工具实现文件的上传下载和删除。具体如下:1、下载相应的jar包: commons-net-1.4.1.jar2、实现代码如下:public class FtpUtils { //ftp服务器地址 public String hostname = "192.168.1.249"; //ftp服务器端...
2019-05-30 16:41:05
13774
2
原创 java下载网络文件的N种方式
通过java api下载网络文件的方法有很多,在这里我做个汇总,主要方式有以下几种:1、使用 common-io库下载文件,需要引入commons-io-2.6.jarpublic static void downloadByCommonIO(String url, String saveDir, String fileName) { try { ...
2019-05-30 10:36:41
3127
转载 深入浅出SOA
前一阵换了份工作,来到新公司,恰好新同事问起SOA是什么,我随口说了几点,其实自己以前研究过,不过并没有详细的整理过,说的比较模糊,恰好周末,拿出点时间整理下以前对SOA的认知。 SOA是什么?SOA全英文是Service-Oriented Architecture,中文意思是中文面向服务编程,是一种思想,一种方法论,一种分布式的服务架构(具体可以百度)。 用途:...
2019-04-29 14:11:12
203
转载 web.xml详解
写在前面:鄙人才学疏浅,关于这篇文章,鄙人也是在网上收集的。有两个目的。一是记录下来加深自己的理解,二是希望这篇文章能对大家有所帮助。最后欢迎大家一起讨论。 一:web.xml加载过程 简单说一下,web.xml的加载过程。当我们启动一个WEB项目容器时,容器包括(JBoss,Tomcat等)。首先会去读取web.xml配置文件里的配置,当这一步骤没有出错并且完成之后,项目才能正常的被...
2019-04-28 16:13:36
185
原创 Maven项目配置log4j2.xml
log4j2相对于log4j 1.x有了脱胎换骨的变化,其官网宣称的优势有多线程下10几倍于log4j 1.x和logback的高吞吐量、可配置的审计型日志、基于插件架构的各种灵活配置等。以下是log4j2在maven 项目中的配置步骤:1、在pom.xml文件中引入log4j依赖<!-- https://mvnrepository.com/artifact/org.apach...
2019-04-28 14:29:28
6285
原创 Git Bash运行错误,版本 2.16.2-64-bit
环境:win7 64位Error: Could not fork child process: Resource temporarily unavailable (-1).DLL rebasing may be required; see ‘rebaseall / rebase –help’.问题现象 : 在安装Git64位后,运行git bash一直报错,failed to f...
2019-04-23 11:25:28
1410
4
原创 Java面试题集锦(含答案)
Java面试题集锦 Java基础1、ArrayList、Vector和LinkedList有什么区别?答:ArrayList底层实现是数组,查找快,增删慢,线程不安全Vector 和ArrayList内部实现一样,线程安全LinkedList内部实现是链表,查找慢,增删快,封装了许多增删操作的方法2、说说final、 finally和finalize的区别。答: f...
2019-04-09 17:57:46
1050
原创 Mybatis与Hibernate区别
以前没怎么用过mybatis,只知道与hibernate一样是个orm数据库框架。随着使用熟练度的增加,发现它与hibernate区别是非常大的,结合至今为止的经验,总结出以下几点: 1) hibernate是全自动,而mybatis是半自动。 hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的...
2019-04-04 16:17:41
241
原创 SSH框架各自优缺点总结
Struts的优缺点Struts优点:(1)实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现。(2)具有丰富的Tag标签库,如能灵活运用,能大大提高开发效率。(3)页面导航使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有很大好处。(4)提供Exception处理机制。(5)数据库链接池的管理。(6)支持应用国际化。...
2019-04-04 16:06:50
5183
1
原创 Hibernate工作原理
Hibernate是一个开源框架,由Gavin King创建。它是采用ORM模式实现数据持久层的java组件。它提供了高效的、强大的将java对象进行数据持久化操作的服务。利用hibernate,开发人员可以按照java对象的结果进行持久层的开发,并可以完成java对象和关系型数据库之间的转换和操作。hibernate的工作原理:1)创建Configeration实例根...
2019-04-04 16:02:05
481
原创 SpringMVC工作原理
上面的是springMVC的工作原理图:1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet。2、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数...
2019-04-04 15:58:32
220
原创 Struts2工作原理
Struts是一个web开源框架,由Craig Mcclanahan创建。它是以Webwork的设计思想为核心,吸收struts1的优点,可以说Struts2是struts1和Webwork结合的产物。Struts2工作原理图: Strus2工作原理:一个请求在Struts2框架中的处理分为以下几个步骤:1.客户端发出一个指向servlet容器的请求(t...
2019-04-04 15:55:53
414
原创 Struts2防表单重复提交
在Web应用中,经常会碰到连续多次点击“提交”按钮或者刷新页面导致form重复提交的情况,如何有效避免这种情况的发生呢?这里我们重点讨论采用Struts2的token机制来处理。闲话说到这里,直接上代码。struts.xml配置文件:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "...
2019-04-03 16:21:27
165
原创 拦截器(Intercepter)与过滤器(Filter)
Struts2中拦截器与过滤器的区别总结如下:1)Intercepter是基于java反射机制的,是AOP的一种实现,而Filter是基于函数回调的。2)Intercepter不依赖servlet容器,而Filter依赖于servlet容器。3)Intercepter只对Action请求起作用,而Filter几乎对所有请求都起作用。4)Intercepter可以访问Action上下...
2019-03-29 13:15:22
493
原创 控制反转(IoC)与依赖注入(DI)
关于Spring控制反转和依赖注入的文章、书籍很多,大家对其解释也仁者见仁,这里就不赘述了。下面我用通俗的例子和平实话语谈一谈自己的理解,希望对您有所帮助。 控制反转(IoC/Inverse Of Control): 应用程序(调用者)本身不负责依赖对象(被调用者)的创建和维护,而是由外部容器负责创建组装。这样控制权就由调用者转移到了外部容器,控制权的转移就是所谓...
2019-03-29 12:30:12
237
原创 overload和override的区别
重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。Overloaded的方法是可以改变返回值的类型。也就是说,重载的返回值类型可以相同也可以不同。1、重载(Overloading) a、方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态...
2019-03-29 11:04:58
183
转载 Windows下安装RabbitMQ及常用操作命令
rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平台上。1.安装Erlang所以在安装rabbitMQ之前,需要先安装Erlang 。小编使用的是otp_win64_18.1,需要其他版本或...
2019-03-21 15:10:05
178
lambda-0.0.1-SNAPSHOT.jar
2020-04-23
jQueryScrollMenu.zip
2019-08-09
WampServer2.5
2017-07-11
压力测试工具http_load
2017-07-11
redmine-3.3.3
2017-06-26
dotproject 2.1.2
2017-06-26
easyphp1.8
2017-06-26
notepad++格式化js代码
2014-12-05
Editplus3免费下载
2012-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人