自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

0945v1

活到老,学到老

  • 博客(81)
  • 资源 (25)
  • 收藏
  • 关注

原创 Token的作用及原理

讲到Token的作用和原理,网上有很多相关的技术文章,通过搜集整理并加入自己的理解体会,做一个总结整理,希望可以帮助到更多有需要的人。1、token作用及原理Token,即令牌,是服务器产生的,具有随机性和不可预测性,它主要有两个作用:(1)防止表单重复提交;使用Token防表单重复提交步骤:①在服务器端生成一个唯一的随机标识号,专业术语称为Token(令牌),同时在当前用户的Session域中保存这个Token;②将Token发送到客户端的Form表单中,在Form表单中使用隐藏域

2020-07-09 16:11:10 9970

原创 Mysql超时重连解决方案3: 配置c3p0连接池(终极方案)

前面的文章中,我介绍了修改mysql默认超时时间和配置proxool连接池的方法来解决Mysql超时重连的问题。方案1不推荐,它并没有从根本上解决问题;方案2可用,但配置相对复杂;所有才有了方案3,它既解决了关键问题,并且配置简单易懂。c3p0连接池的testConnectionOnCheckout属性,类似于autoReconnect属性可自动保持数据库的连接,在获取连接时先检查连接是否有效(即检查Connection是否被mysql数据库关闭了),如果连接无效就重新建立一个新的连接。C3P0连接

2020-06-04 17:29:30 1676 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 2090

原创 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 2671 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 1602

原创 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 4676

原创 Mysql连接超时解决方案1: 修改默认超时时间

MySQL数据库一般默认的连接超时时间为28800s(即8小时),但是在进行大规模的线程事务操作时,一个连接会一直等待执行,这时候如果数据库的超时时间设置的过短,就可能会出现Mysql数据连接自动被释放,影响后面对数据库的操作。当然MySQL连接设置的大小,要根据需求场景进行设置,wait_timeout过大也有弊端,其体现就是MySQL里大量的SLEEP进程无法及时释放,拖累系统性能,不过也...

2020-02-27 10:22:24 21011 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 716 1

原创 Nginx 连接超时参数优化

1. 什么是连接超时当服务器建立的连接没有接收处理请求时,可以在指定的时间内让它超时自动退出2. 连接超时的作用(1) 将无用的连接设置为尽快超时,可以保护服务器的系统资源(CPU、内存、磁盘)(2) 当连接很多时,及时断掉那些建立好的但又长时间不做事的连接,以减少其占用的服务器资源(3) 如果黑客攻击,会不断地和服务器建立连接,因此设置连接超时以防止大量消耗服务器的资源...

2020-01-13 18:31:31 1856

原创 Nginx配置中的if判断

当rewrite的重写规则满足不了需求时,比如需要判断当文件不存在时、当路径包含xx时等条件,则需要用到ifif语法if (表达式) { ...}表达式语法:当表达式只是一个变量时,如果值为空或任何以0开头的字符串都会当做false 直接比较变量和内容时,使用=或!= -f和!-f用来判断是否存在文件 -d和!-d用来判断是否存在目录 -e和!-e用来判断是否存...

2020-01-13 17:15:14 17192

转载 nginx的作用及正则配置

nginx的基本功能1.静态HTTP服务器Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。server { listen 80; # 端口号 location / { root /usr/share/nginx/html; # 静态文件路径 }}2、反向代理服务器什么是反向代理?...

2020-01-13 17:03:49 239

转载 动态代理与静态代理区别

一、代理概念为某个对象提供一个代理,以控制对这个对象的访问。 代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完请求后的后续处理。图1:代理模式从图中可以看出,代理接口(Subject)、代理类(ProxySubject)、委托类(RealSubject)形成一个“品”...

2019-12-20 15:30:48 180

转载 CGLIB介绍与原理

一、什么是 CGLIB?CGLIB是一个功能强大,高性能的代码生成包。它为没有实现接口的类提供代理,为JDK的动态代理提供了很好的补充。通常可以使用Java的动态代理创建代理,但当要代理的类没有实现接口或者为了更好的性能,CGLIB是一个好的选择。CGLIB作为一个开源项目,其代码托管在github,地址为:https://github.com/cglib/cglib二、CGLIB 原...

2019-12-20 10:31:47 715

原创 解决: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 1766

原创 Java反射-高级开发必须懂的

理解反射对学习Java框架有很大的帮助,如Spring框架的核心就是使用Java反射实现的,而且对做一些Java底层的操作会很有帮助。一:Class类的使用①.万事万物皆对象,(当然,基本数据类型,静态成员不是面向对象(属于类的)),所以我们创建的每一个类也都是对象,即类本身是java.lang.Class类的实例对象,但是这些对象都不需要new出来,因为java.lang.Cla...

2019-08-09 11:07:35 259

原创 面试系列-并发编程72道面试题及答案

1.Java中守护线程和本地线程区别java中的线程分为两种:守护线程(Daemon)和用户线程(User)。任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(bool on);true则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemon()必须在Thread.start()之前调用,否则运行时会抛出异常。两者的区别:...

2019-08-09 11:05:44 270

原创 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 2391

原创 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 4102

转载 Eclipse怎样导出含第三方jar的可执行jar包

当我们开发完java项目后,就需要导出可执行的java文件。java的部署可以有很多种,我这里介绍非常简单的一种,只要项目中包含main方法,而且安装完了java,这个方法就可以使用。方法/步骤 首先我们在编辑器中编写一个简单的类代码,这个类只有一行就是System.out.println("test");输出test的字样。 在Eclipse左侧找到项目,选择项目后右键...

2019-08-06 15:53:03 330

转载 adb命令大全

基本用法 命令语法 为命令指定目标设备 启动/停止 查看 adb 版本 以 root 权限运行 adbd 指定 adb server 的网络端口 设备连接管理 查询已连接设备/模拟器 USB 连接 无线连接(需要借助 USB 线) 无线连接(无需借助 USB 线) 应用管理 查看应用列表 所有应用 系统应用 第三方应用 包名包...

2019-08-06 15:15:21 732

转载 如何解决:java.io.FileNotFoundException.....\img (拒绝访问)

今天,在写文件流时,碰到读取文件夹“拒接访问”的问题。权限不够:上网搜资料说是权限级别不够,照着做,之后再试,依然出错,头大了。换workspance:换workspace目录盘,换到D盘,依然“拒接访问“,死的心都有啦。跟它耗上了。最后,百度一段不起眼的问答,找到原因了:FileOutputStream读取流的时候如果是文件夹,就会出次错。恍然大悟!病根:FileOutputStream读取...

2019-07-08 16:33:08 6599 2

转载 负载均衡服务器如何保证上传文件同步

负载服务器Z,应用服务器A 和B ,从A上传的附件,如何在B上下载下来?这个问题我的解决思路如下:  服务器A、B 上传附件的时候,将这个附件备份到服务器Z ,当A、B下载文件的时候,首先会在自己服务器的目录下寻找,如果找不到,就会从服务器Z 上下载一份到当前服务器。这里主要介绍一下重写上传、下载的方法时应该添加的代码上传文件,异步操作new Thread(() -> {...

2019-05-30 17:30:33 2278

原创 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 2197

原创 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 13639 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 2867

转载 深入浅出SOA

前一阵换了份工作,来到新公司,恰好新同事问起SOA是什么,我随口说了几点,其实自己以前研究过,不过并没有详细的整理过,说的比较模糊,恰好周末,拿出点时间整理下以前对SOA的认知。 SOA是什么?SOA全英文是Service-Oriented Architecture,中文意思是中文面向服务编程,是一种思想,一种方法论,一种分布式的服务架构(具体可以百度)。 用途:...

2019-04-29 14:11:12 163

转载 web.xml详解

写在前面:鄙人才学疏浅,关于这篇文章,鄙人也是在网上收集的。有两个目的。一是记录下来加深自己的理解,二是希望这篇文章能对大家有所帮助。最后欢迎大家一起讨论。  一:web.xml加载过程  简单说一下,web.xml的加载过程。当我们启动一个WEB项目容器时,容器包括(JBoss,Tomcat等)。首先会去读取web.xml配置文件里的配置,当这一步骤没有出错并且完成之后,项目才能正常的被...

2019-04-28 16:13:36 147

原创 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 5911

原创 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 1151 3

原创 Java面试题集锦(含答案)

Java面试题集锦 Java基础1、ArrayList、Vector和LinkedList有什么区别?答:ArrayList底层实现是数组,查找快,增删慢,线程不安全Vector 和ArrayList内部实现一样,线程安全LinkedList内部实现是链表,查找慢,增删快,封装了许多增删操作的方法2、说说final、 finally和finalize的区别。答: f...

2019-04-09 17:57:46 970

原创 Mybatis与Hibernate区别

以前没怎么用过mybatis,只知道与hibernate一样是个orm数据库框架。随着使用熟练度的增加,发现它与hibernate区别是非常大的,结合至今为止的经验,总结出以下几点: 1) hibernate是全自动,而mybatis是半自动。 hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的...

2019-04-04 16:17:41 195

原创 SSH框架各自优缺点总结

Struts的优缺点Struts优点:(1)实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现。(2)具有丰富的Tag标签库,如能灵活运用,能大大提高开发效率。(3)页面导航使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有很大好处。(4)提供Exception处理机制。(5)数据库链接池的管理。(6)支持应用国际化。...

2019-04-04 16:06:50 4990 1

原创 Hibernate工作原理

Hibernate是一个开源框架,由Gavin King创建。它是采用ORM模式实现数据持久层的java组件。它提供了高效的、强大的将java对象进行数据持久化操作的服务。利用hibernate,开发人员可以按照java对象的结果进行持久层的开发,并可以完成java对象和关系型数据库之间的转换和操作。hibernate的工作原理:1)创建Configeration实例根...

2019-04-04 16:02:05 402

原创 SpringMVC工作原理

上面的是springMVC的工作原理图:1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet。2、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数...

2019-04-04 15:58:32 185

原创 Struts2工作原理

Struts是一个web开源框架,由Craig Mcclanahan创建。它是以Webwork的设计思想为核心,吸收struts1的优点,可以说Struts2是struts1和Webwork结合的产物。Struts2工作原理图: Strus2工作原理:一个请求在Struts2框架中的处理分为以下几个步骤:1.客户端发出一个指向servlet容器的请求(t...

2019-04-04 15:55:53 348

原创 Struts2防表单重复提交

在Web应用中,经常会碰到连续多次点击“提交”按钮或者刷新页面导致form重复提交的情况,如何有效避免这种情况的发生呢?这里我们重点讨论采用Struts2的token机制来处理。闲话说到这里,直接上代码。struts.xml配置文件:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "...

2019-04-03 16:21:27 131

原创 拦截器(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 417

原创 控制反转(IoC)与依赖注入(DI)

关于Spring控制反转和依赖注入的文章、书籍很多,大家对其解释也仁者见仁,这里就不赘述了。下面我用通俗的例子和平实话语谈一谈自己的理解,希望对您有所帮助。 控制反转(IoC/Inverse Of Control): 应用程序(调用者)本身不负责依赖对象(被调用者)的创建和维护,而是由外部容器负责创建组装。这样控制权就由调用者转移到了外部容器,控制权的转移就是所谓...

2019-03-29 12:30:12 178

原创 overload和override的区别

重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。Overloaded的方法是可以改变返回值的类型。也就是说,重载的返回值类型可以相同也可以不同。1、重载(Overloading)  a、方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态...

2019-03-29 11:04:58 148

转载 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 141

lambda-0.0.1-SNAPSHOT.jar

用maven打包生成的aws lambda函数调用jar包,创建lambda函数后,上传至控制台,然后配置测试事件,可放心下载。

2020-04-23

jQueryScrollMenu.zip

这个插件示例实现了锚点定位导航功能,锚点其实就是可以让页面定位到某个位置上的点,在高度较高的页面中会经常见到。比如百度百科以及一些帮助文档都会使用到锚点链接。

2019-08-09

jqueryTabNavi.zip

jQuery滚屏锚点定位插件,利用mousewheel库实现滚屏事件,同时支持侧边栏控制

2019-08-09

TreeMenu.zip

jQuery的点击展开收缩树形菜单代码示例,可直接引入到工程中使用

2019-08-09

WampServer2.5

WampServer是一款由法国人开发的Apache Web服务器、PHP解释器以 及MySQL数据库的整合软件包。免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更多精力去做开发。在windows下将Apache+PHP+Mysql 集成环境,拥有简单的图形和菜单安装和配置环境。

2017-07-11

Linux指令大全

Linux指令大全包含:官方文档、命令大全和指令教程等15个文档,是学习linux指令的百科全书。

2017-07-11

压力测试工具http_load

http_load 以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。可以测试HTTPS类的网站请求。

2017-07-11

PHP官方手册中文版

学习php的最权威的帮助文档

2017-07-11

redmine-3.3.3

Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统,据说是源于Basecamp的ror版而来,支持多种数据库,有不少自己独特的功能,例如提供wiki、新闻台等,还可以集成其他版本管理系统和BUG跟踪系统,例如Perforce、SVN、CVS、TD等等。

2017-06-26

dotproject 2.1.2

dotproject 是一款免费的,跨平台的,基于web应用的,开源的项目管理系统。可以部署于局域网"广域网的办公环境中,客户端不需要安装任何软件,只要有IE、Firefox、Opera等浏览器即可

2017-06-26

easyphp1.8

本软件帮助你使用PHP管理数据、开发站点和应用程序。它是调试PHP程序的好东西,集成: Apache 1.3.27, PHP 4.3.3, MySQL 4.0.15, PhpMyAdmin 2.5.3 。

2017-06-26

jxl-2.6.12.jar

jxl.jar官方最新版。下载地址为:http://www.andykhan.com/jexcelapi/download.html

2015-01-06

ojdbc14.jar

oracle连接数据库驱动包,oracle jdbc 开发驱动。

2014-12-29

notepad++格式化js代码

快捷的js代码格式化插件 安装方法简单 解压文件后将 JSMinNPP dll 拷贝到Notepad++的plugins目录下 然后重启Notepad++即可

2014-12-05

Notepad++格式化插件

一款很好用的支持java,C,C++,html,css等代码格式化的插件

2014-12-05

视频播放器(html5设计)

由html5+css3+jQuery设计制作的视频播放器,可直接运行!

2013-04-01

捕鱼游戏(html5设计)

用html5+css3+jquery1.4设计制作的经典捕鱼游戏,免费下载

2013-04-01

Html5_CSS3_JQuery1.4中文参考手册

HTML5 +CSS3+JQuery1.4中文参考文档,免费下载

2013-04-01

Flex4权威指南(书中示例源码)

包含《flex4权威指南》一书中所有示例源码

2012-12-19

flex4Tree组件分层显示数据示例

flex4中tree组件分层显示数据示例代码(可直接运行)

2012-12-11

flex4.0中文API

flex4.0中文api(Adobe® Flex® 4 ActionScript® 3.0 语言参考 )

2012-12-11

Actionscript3.0中文API

actionscript3.0中文api

2012-12-11

Editplus3免费下载

EditPlus是一款功能强大的可处理文本、HTML和程序语言的32位编辑器,你可以通过设置用户工具将其作为C,Java,Php等等语言的一个简单的IDE。

2012-12-11

TortoiseSVN1.6.8

代码版本控制工具TortoiseSVN1.6.8

2012-12-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除