Tomcat

delete后加 limit是个好习惯么 !

十年热恋 提交于 2021-01-03 11:37:34
作者: _陈哈哈 blog.csdn.net/qq_39390545/article/details/107519747 在业务场景要求高的数据库中,对于单条删除和更新操作,在 delete 和 update 后面加 limit 1 绝对是个好习惯。比如,在删除执行中,第一条就命中了删除行,如果 SQL 中有 limit 1;这时就 return 了,否则还会执行完全表扫描才 return。效率不言而喻。 那么,在日常执行 delete 时,我们是否需要养成加 limit 的习惯呢?是不是一个好习惯呢? 在日常的 SQL 编写中,你写 delete 语句时是否用到过以下 SQL? delete from t where sex = 1 limit 100; 你或许没有用过,在一般场景下,我们对 delete 后是否需要加 limit 的问题很陌生,也不知有多大区别,今天带你来了解一下,记得 mark! “ 写在前面,如果是清空表数据建议直接用 truncate,效率上 truncate 远高于 delete,应为 truncate 不走事务,不会锁表,也不会生产大量日志写入日志文件;truncate table table_name 后立刻释放磁盘空间,并重置 auto_increment 的值。delete 删除不释放磁盘空间,但后续 insert 会覆盖在之前删除的数据上

love-system SSM爱心捐赠管理系统

泄露秘密 提交于 2021-01-03 10:45:40
love-system SSM爱心捐赠管理系统 本系统为个人当初所写,现免费上传供下载,整体使用了SSM架构,Shiro来控制权限。后期如果有时间,打算使用Spring Boot和Vue重构,毕竟前后端分离已经是大势所趋。 源码地址: https://gitee.com/southwind0/love-system 1.技术选型 - IDEA - JDK8 - MySQL - Shiro - Spring - Spring MVC - MyBatis - Bootstrap - jQuery 2.使用教程 1. 将resource目录下的数据库.txt中SQL语句导入Mysql数据库 2. 将源码导入IDEA,直接配置Tomcat启动即可 3.图片展示 1.系统采用shiro进行权限管理,目前有2个用户,chenyue为admin用户,test为普通用户 2.其他功能展示 来源: oschina 链接: https://my.oschina.net/u/4399511/blog/4874146

tomcat 下 base64图片上传超过2m的解决方案

爷,独闯天下 提交于 2021-01-03 07:20:17
方案一: tomcat部署下默认post请求提交参数大小为2M左右,超过这个大小,就会传值不成功 要使post请求参数无大小限制,需要在server.xml上修改,如下: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="2000" redirectPort="8443" URIEncoding="UTF-8" maxThreads="3000" compression="on" compressableMimeType="text/html,text/xml" maxPostSize="-1"/> <Connection port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" /> 其中参数maxPostSize="-1"是限制post请求参数的大小,tomcat7.0.63之前的版本设置为0和负数均可以代表不限制。但是7.0.63之后的版本只有设置为负数才代表不限制数据大小 方案二: 先用 js 判断 base64 大小,大于2m转为文件再上传。 getImgSize(str) { // 获取base64图片大小,返回KB数字 var str = base64url.replace('data

java的内存泄漏

人走茶凉 提交于 2021-01-03 07:15:03
内存泄露:指程序中动态分配内存给一些临时对象,但是对象不会被GC所回收,它始终占用内存。即被分配的对象 可达 但已无用。 内存溢出:指程序运行过程中无法申请到足够的内存而导致的一种错误。内存溢出通常发生于OLD段或Perm段垃圾回收后,仍然无内存空间容纳新的Java对象的情况。 内存泄漏场景: 1、静态集合类 ,如HashMap、LinkedList等等。如果这些容器为静态的,那么它们的生命周期与程序一致,则容器中的对象在程序结束之前将不能被释放,从而造成内存泄漏。简单而言,长生命周期的对象持有短生命周期对象的引用,尽管短生命周期的对象不再使用,但是因为长生命周期对象持有它的引用而导致不能被回收。 2、各种连接, 如数据库连接、网络连接和IO连接等。在对数据库进行操作的过程中,首先需要建立与数据库的连接,当不再使用时,需要调用close方法来释放与数据库的连接。只有连接被关闭后,垃圾回收器才会回收对应的对象。否则,如果在访问数据库的过程中,对Connection、Statement或ResultSet不显性地关闭,将会造成大量的对象无法被回收,从而引起内存泄漏。(监听器的使用,在释放对象的同时没有相应删除监听器的时候也可能导致内存泄露。) 3、变量不合理的作用域。 一般而言,一个变量的定义的作用范围大于其使用范围,很有可能会造成内存泄漏。另一方面,如果没有及时地把对象设置为null

Context is read only

假装没事ソ 提交于 2021-01-02 06:49:16
问题 Helo masters, I have to create a JNDI Datasource dynamically, I tried to do it with a listener called SetupApplicationListener. Here is the beginning of WEB-LIB/web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee"> <display-name>pri-web</display-name> <!-- Listeners --> <listener> <listener-class>org.apache.myfaces.webapp

Context is read only

假装没事ソ 提交于 2021-01-02 06:49:13
问题 Helo masters, I have to create a JNDI Datasource dynamically, I tried to do it with a listener called SetupApplicationListener. Here is the beginning of WEB-LIB/web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee"> <display-name>pri-web</display-name> <!-- Listeners --> <listener> <listener-class>org.apache.myfaces.webapp

java.lang.ClassCastException: java.io.ObjectStreamClass cannot be cast to java.lang.String

寵の児 提交于 2021-01-02 05:38:29
问题 I am getting following stacktrace error while running web application on tomcat, unable to find root cause of this exception. Eclipse 32 bit Luna Release (4.4.0) Tomcat 32 bit 8.0.30 jdk1.8.0_66 Jan 01, 2016 10:02:16 AM org.apache.catalina.session.StandardManager startInternal SEVERE: Exception loading sessions from persistent storage java.lang.ClassCastException: java.io.ObjectStreamClass cannot be cast to java.lang.String at java.io.ObjectInputStream.readTypeString(ObjectInputStream.java

java.lang.ClassCastException: java.io.ObjectStreamClass cannot be cast to java.lang.String

安稳与你 提交于 2021-01-02 05:37:10
问题 I am getting following stacktrace error while running web application on tomcat, unable to find root cause of this exception. Eclipse 32 bit Luna Release (4.4.0) Tomcat 32 bit 8.0.30 jdk1.8.0_66 Jan 01, 2016 10:02:16 AM org.apache.catalina.session.StandardManager startInternal SEVERE: Exception loading sessions from persistent storage java.lang.ClassCastException: java.io.ObjectStreamClass cannot be cast to java.lang.String at java.io.ObjectInputStream.readTypeString(ObjectInputStream.java

nginx location

天涯浪子 提交于 2021-01-01 08:36:04
一、location的作用 location指令的作用是根据请求的URL来执行不同的应用,其实就是根据用户请求的网站地址URL进行匹配。匹配成功即进行相关的操作。 二、location语法 location的使用语法为: location [ = | ~ | ~* | ^~ ] uri { ... } 对location语法列表说明 location [=|~|~*\^~|@] uri {...} 指令 匹配标识 匹配的网站网址 匹配URI后要执行的字段 = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。 ~ 开头表示区分大小写的正则匹配 ~*开头表示不区分大小写的正则匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则 / 通用匹配,任何请求都会匹配到。 多个location配置的情况下匹配顺序为(参考资料而来,还未实际验证,试试就知道了,不必拘泥,仅供参考): 首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。 URI可以是普通的字符串地址路径,或者是正则表达式,匹配成功则执行后面大括号里的相关指令 三

Jenkins出现No valid crumb was included in the reques

半腔热情 提交于 2021-01-01 06:43:32
前提 今天登陆Jenkins时,觉得使用tomcat默认的8080端口麻烦,便使用Nginx做了一个反向代理。于是出现了以下错误 1. 问题描述 Jenkins配置好ssh server点击保存时出现如下错误: 2. 原因 Jenkins在http请求头部中放置了一个名为.crumb的token。在使用反向代理时, 如果Jenkins设置中勾选了“Prevent Cross Site Request Forgery exploits”, 代理服务器会认为.crumb为非法头部而去掉,导致跳转失败。 3. 解决方式 1. 在反向代理服务器Nginx中设置ignore_invaild_headers 在nginx server配置段中添加如下内容: server { ignore_invalid_headers off; } 2. 在Jenkins全局安全设置中取消勾选“Prevent Cross Site Request Forgery exploits”,如下图: 来源: oschina 链接: https://my.oschina.net/u/4397718/blog/4872575