![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
踩坑长经验
hebeind100
这个作者很懒,什么都没留下…
展开
-
性能综述方法论
性能问题和Bug不同,后者的分析和解决思路更清晰,很多时候从应用日志(文中的应用指分布式服务下的单个节点)即可直接找到问题根源,而性能问题,其排查思路更为复杂一些。对应用进行性能优化,是一个系统性的工程,对工程师的技术广度和技术深度都有所要求。一个简单的应用,它不仅包含了应用代码本身,还和容器(虚拟机)、操作系统、存储、网络、文件系统等紧密相关,线上应用一旦出现了性能问题,需要我们从多方面去考虑。与此同时,除了一些低级的代码逻辑引发的性能问题外,很多性能问题隐藏的较深,排查起来会比较困难,需要我们对应用转载 2021-07-18 19:57:55 · 666 阅读 · 0 评论 -
Hibernate防止SQL注入攻击的方法如果在查询字段中输入单引号"'",则会报错,这是因为输入...
Hibernate防止SQL注入攻击的方法如果在查询字段中输入单引号"'",则会报错,这是因为输入Hibernate防止SQL注入攻击的方法 如果在查询字段中输入单引号"'",则会报错,这是因为输入的单引号和其他的sql组合在一起编程了一个新的sql,实际上这就是SQL注入漏洞,后来我在前台和后台都对输入的字符进行了判断。 永远也不要写这样的代码: String query...原创 2017-01-30 10:09:28 · 548 阅读 · 0 评论 -
Java调用Shell命令和脚本
Java调用Shell命令和脚本http://blog.csdn.net/u010376788/article/details/51337312 Java中ProcessBuilder使用http://shensy.iteye.com/blog/1756756 深入研究java.lang.Process类&Process的的waitFor()造成的阻塞ht...原创 2017-07-23 15:03:21 · 1096 阅读 · 0 评论 -
Linux Shell 文本处理工具集锦
本文将介绍Linux下使用Shell处理文本时最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk;提供的例子和参数都是最常用和最为实用的;我对shell脚本使用的原则是命令单行书写,尽量不要超过2行;如果有更为复杂的任务需求,还是考虑python吧;find 文件查找查找txt和pdf文件 find ...原创 2016-03-30 12:49:47 · 116 阅读 · 0 评论 -
java的poi技术上传Excel读取Excel中内容
使用到的jar包【注】POI jar版本要一致,不然有类找不到的报错JSP: client.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/...原创 2016-11-24 13:57:26 · 825 阅读 · 0 评论 -
判断字符串是不是JSONObject 或 JSONArray
方法1 Object json = new JSONTokener(jsonValue).nextValue(); if (json instanceof JSONObject) { } else if (json instanceof JSONArray) { } 方法2public static boolean isJson(St...原创 2016-11-17 13:50:32 · 1124 阅读 · 0 评论 -
curl -x POST 请求
curl -H "Content-type: application/json" -X POST -d '{"phoneId":"124nd","data":"data"}' http://xx.sxm.cn/recxxodebxxug/api/vx/jxrtt/getconxtent以上命令加代理:-x 11.25vdv.20ds.1dd:80 curl -x ip:80 +网...原创 2016-10-25 14:37:46 · 32431 阅读 · 0 评论 -
前端页面展示JSON格式化的字符串
基于jquery.jsonview组件 <%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w原创 2016-10-18 14:13:26 · 1072 阅读 · 0 评论 -
Java 时间格式化
做时间转化时,我们常用java.text.SimpleDateFormat(Java原生API) 但还有更简洁的API,如 Joda-Time Home:http://joda-time.sourceforge.net/ JavaDoc:http://joda-time.sourceforge.net/apidocs/index.html <de...原创 2016-08-04 14:06:16 · 132 阅读 · 0 评论 -
字符串分割--java中String.split()用法
在java.lang包中有String.split()方法,返回是一个数组。 1、“.”和“|”都是转义字符,必须得加"\\"; 如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用Stri...原创 2017-01-30 10:10:27 · 226 阅读 · 0 评论 -
如何让两个div在同一行显示?一个float搞定
如何让两个div显示在同一行呢?(不是用table表格,table对SE不太友好)其实,<div> 是一个块级元素,也就是说,浏览器通常会在 div 元素前后放置一个换行符。可以加一个属性float:left,演示代码如下1234<div style="width=2000px"> <div style="...原创 2017-01-30 10:11:34 · 1050 阅读 · 0 评论 -
cmd/ powershell窗口汉字显示乱码
对于编译出的程序,在 cmd 和 power shell 运行时都不能正确显示汉字。 网上查,可以再命令窗口修改: 1、打开CMD.exe命令行窗口 2、通过 chcp命令改变代码页,UTF-8的代码页为65001 chcp 65001 执行该操作后,代码页就被变成UTF-8了。在当前窗口的确可以解决问题,但是重新打开的cmd窗口或者power shell 窗口仍然不能正确显示汉字。最...原创 2018-06-21 15:11:18 · 943 阅读 · 0 评论 -
JAVA 线程池的正确打开方式
当前环境jdk == 1.8Executors 使用的隐患先来看一段代码,我们要创建一个固定线程池,假设固定线程数是4。代码如下:Executors是JAVA并发包中提供的,用来快速创建不同类型的线程池。是不是很简单,创建线程池只需一行代码。对于一些个人项目或临时性的项目,这样写确实没什么问题,而且开发速度很快。但在一些大型项目中,这种做法一般是禁止的。WHY??...原创 2018-02-22 15:37:59 · 100 阅读 · 0 评论 -
Java技术面试题精选
JVM的类加载机制是什么?有哪些实现方式?类加载机制:类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法去内,然后在堆区创建一个java.lang.Class对象,用来封装在方法区内的数据结构。类的加载最终是在堆区内的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。类加载有三种...原创 2018-01-23 10:16:55 · 154 阅读 · 0 评论 -
高效sql性能优化(复习)
一,sql性能优化基础方法论对于功能,我们可能知道必须改进什么;但对于性能问题,有时我们可能无从下手。其实,任何计算机应用系统最终队可以归结为:cpu消耗内存使用对磁盘,网络或其他I/O设备的输入/输出(I/O)操作。 但我们遇到性能问题时,要判断的第一点就是“在这三种资源中,是否有哪一种资源达到了有问题的程度”,因为这一点能指导我们搞清楚“需要优化重构什么”和“如何优化...原创 2018-01-09 13:46:21 · 143 阅读 · 0 评论 -
git 分支重命名
1. 本地分支重命名Git branch -m oldbranchname newbranchname 2. 远程分支重命名 (假设本地分支和远程对应分支名称相同)a. 重命名远程分支对应的本地分支git branch -m old-local-branch-name new-local-branch-nameb. 删除远程分支git push origin :ol...原创 2017-02-24 16:33:42 · 89 阅读 · 0 评论 -
git bash一闪而过 (闪退)
在命令行切换到Git\bin目录下输入: rebase -b 0x76000000 msys-1.0.dll 或 或者rebase -b 0x30000000 msys-1.0.dll原创 2017-02-20 14:03:40 · 552 阅读 · 0 评论 -
git Please move or remove them before you can merge. 错误解决方案
it pull 时 往往会遇到各种各样的问题 ,下面是常遇到的一种状况 Updating 7c9e086..936acacerror: The following untracked working tree files would be overwritten by merge:Common/HFHttpRequest/HFHttpRequestParameters.hCommo...原创 2017-02-03 16:11:01 · 417 阅读 · 0 评论 -
No Dialect mapping for JDBC type :0
data service 架构:spring Roo + hibernate+mysql在调用stored procedure的时候,出现:No Dialect mapping for JDBC type:0通过反编译java.sql.Types.java得知type:0 对应于NULL 原因是java中的java.sql.Types中定义了NULL的解析,但是hiber...原创 2017-01-30 10:12:05 · 6381 阅读 · 0 评论 -
Java 数据格式化
import java.text.DecimalFormat; import java.util.Formatter; import java.util.Locale; public class DADB { public static void main(String[]atrgs) { DecimalFormat f = new ...原创 2016-08-04 13:49:07 · 101 阅读 · 0 评论 -
一个Web服务的性能瓶颈分析及对策
1、 引言 QoS(Quality of Service,服务质量)控制技术作为下一代网络的核心技术之一,越来越成为计算机网络中研究与开发的热点问题。QoS控制的基本目标是为Internet应用提供性能保证和区分服务。随着Internet上Web应用的爆炸性增长和电子商务的飞速发展,如何为用户提供满意的服务性能保证成了一个新的研究课题,由于传统的Web服务器无法为Web应用提供服务区分和性能保证...原创 2016-07-24 18:02:44 · 556 阅读 · 0 评论 -
使用SimHash进行海量文本去重
阅读目录1. SimHash与传统hash函数的区别2. SimHash算法思想3. SimHash流程实现4. SimHash签名距离计算5. SimHash存储和索引6. SimHash存储和索引7. 参考内容 本文介绍的SimHash是一种局部敏感hash,它也是Google公司进行海量网页去重使用的主要算法。 1. SimHash与传统h...原创 2016-07-24 18:02:09 · 415 阅读 · 0 评论 -
Protobuf的奇怪问题解决--Expected top - level statement (e.g "message")
转换.proto为java文件的过程中,报错:Expected top - level statement (e.g "message")。截图如下: 查询问题原因,原来是由于编码格式的问题,因为,我使用UE打开了文件,并保存为UTF-8的形式。因此,会在文件的开头有一个特殊的字符,详见下图: 通过查找发现了问题的原因,由于我使用的是中文简体的windows,...原创 2016-05-11 18:42:03 · 445 阅读 · 0 评论 -
Linux服务器Jar解压与生成
解压 unzip XXX.jar -d tmp/ 改变响应的配置后,重新生成Jar jar cvfm ../XXX.jar META-INF/MANIFEST.MF ./*原创 2016-05-06 09:56:59 · 186 阅读 · 0 评论 -
eclipse java resources上有个红叉
右键项目“Properties”,在弹出的“Properties”窗口左侧,单击“Project Facets”,打开“Project Facets”页面。在页面中的“Java”下拉列表中,选择相应版本就OK了。...原创 2016-05-03 19:00:38 · 1130 阅读 · 0 评论 -
解决Cannot change version of project facet Dynamic web module to 2.5
我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一般现在至少都是2.5,在Project Facets里面修改Dynamic web module为2.5的时候就会出现Cannot change version of project facet D...原创 2016-05-03 18:58:56 · 97 阅读 · 0 评论 -
maven An error occurred while filtering resources
maven报错:maven An error occurred while filtering resources Maven -> Update Project... resolved this problem for me原创 2016-05-03 18:58:05 · 197 阅读 · 0 评论 -
Spring 注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性详解...
本文介绍了使用Spring注解注入属性的方法。使用注解以前,注入属性通过类以及配置文件来实现。现在,注入属性可以通过引入@Autowired注解,或者@Resource,@Qualifier,@PostConstruct,@PreDestroy等注解来实现。 1.1. 使用注解以前我们是怎样注入属性的类的实现: [java] view plain copy ...原创 2016-04-28 19:19:48 · 116 阅读 · 0 评论 -
redis中SETEX和SET区别
SETEX这个命令类似于以下两个命令: [plain] view plain copy SET key value EXPIRE key seconds # 设置生存时间 不同之处是, SETEX 是一个原子性(atomic)操作,关联值和设置生存时间两个动作会在同一时间内完成,该命令在 Redis 用作缓存时,非常实用。...原创 2016-04-28 19:18:29 · 1036 阅读 · 0 评论 -
知道这20个正则表达式,能让你少写1,000行代码
正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升。正则表达式经常被用于字段或任意字符串的校验,如下面这段校验基本日期格式的JavaScript代码:var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2})$/; ...原创 2016-04-28 09:30:48 · 134 阅读 · 0 评论 -
20位字符串 Long转化踩坑
Long Java原生的转化是:Long.valueOf() 或 Long.parseLong 但Long最大值是9223372036854775807 19位 若传入20为字符串就会抛出异常 破—— Google UnsignedLong.valueOf(“”).longValue()...原创 2016-05-12 11:21:31 · 2610 阅读 · 1 评论 -
使用git error: RPC failed; result=22, HTTP code = 411
使用git提交比较大的文件的时候可能会出现这个错误 error: RPC failed; result=22, HTTP code = 411fatal: The remote end hung up unexpectedlyfatal: The remote end hung up unexpectedlyEverything up-to-date 这样的话首先改一下git...原创 2016-05-16 19:34:19 · 276 阅读 · 0 评论 -
Maven 父子POM文件 相同依赖不同版本的问题
Maven 父子POM文件 相同依赖不同版本的问题 :默认用父一级的版本而且子POM文件的版本处会有黄色Warn。 解决:增加<version>4.0.0.RELEASE</version><!--$NO-MVN-MAN-VER$-->即可忽略父一级的版本...原创 2016-06-14 19:59:07 · 8666 阅读 · 0 评论 -
ALTER 语句修改数据表
1.修改数据表名:alter table 表名 rename 新表名;2.修改列名: alter table 表名 change 列名 新列名(可以与旧的一样) 类型 默认值;3.修改类型: alter table 表名 modify 列名 类型4.修改默认值: alter table 表名 alter column 字段名 drop default; alter table 表名...原创 2016-06-12 11:39:42 · 687 阅读 · 0 评论 -
Spring中@Async 异步不执行问题
【问题中的配置】 spring相关配置文件root-context.xml mvc-context.xml其中mvc-context.xml被包含于root-context.xml web.xml的配置为 <context-param> <param-name>contextConfigLocation</param-na...原创 2016-06-02 17:12:46 · 1430 阅读 · 0 评论 -
tomcat的配置和优化
tomcat的内存使用配置,最大连接数配置。 如何修改配置呢,在/tomcat的/bin/下面有个脚本文件catailna.sh。 如果 windows 是bat设置tomcat的使用内存,其实就是设置jvm的使用参数。 一.Tomcat内存优化Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置...原创 2016-06-01 18:34:42 · 100 阅读 · 0 评论 -
添加/删除 windows下Git右键菜单
不显示右键菜单:方法1: 安装的时候选择不添加右键菜单。方法2(绝对有效): 运行CMD Windows 64 输入命令(地址为git安装地址)cd "C:\Program Files (x86)\Git\git-cheetah"regsvr32 /u git_shell_ext64.dll Windows 32 输入命令(地址为g...原创 2016-05-30 12:36:15 · 240 阅读 · 0 评论 -
java.lang.IllegalArgumentException: Can not set XXX to com.sun.proxy.$Proxy28
spring项目启动报错java.lang.IllegalArgumentException: Can not set XXX to com.sun.proxy.$Proxy28:初次使用spring MVC注解模式进行事务控制由于spring AOP动态代理默认是通过接口,所以注入事务层的地方都要通过接口进行注入,如果通过实现类进行注入就会报这个错有人说可以进行配置,然后也可以支持...原创 2016-05-27 15:43:35 · 583 阅读 · 0 评论 -
AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
HTTP请求中,如果是get请求,那么表单参数以name=value&name1=value1的形式附到url的后面,如果是post请求,那么表单参数是在请求体中,也是以name=value&name1=value1的形式在请求体中。通过chrome的开发者工具可以看到如下(这里是可读的形式,不是真正的HTTP请求协议的请求格式):get请求: [plain...原创 2016-05-26 20:12:06 · 433 阅读 · 0 评论 -
Linux文件查找工具之find
一、文件查找工具常用软件locate:locate 命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地 所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使 用locate之前,先使用...原创 2016-05-20 10:57:25 · 119 阅读 · 0 评论