- 博客(544)
- 资源 (7)
- 收藏
- 关注
原创 SpringMVC 拦截器
拦截器:顾名思义,就是对请求进行拦截,做一些预处理、后处理或返回处理的操作 Spring MVC中使用拦截器的方法,继承HandlerInterceptorAdapter类,并根据需求实现其中的preHandle方法(预处理)、postHandle方法(返回处理),afterCompletion方法(后处理)。public boolean preHandle(HttpServletRe
2017-08-03 15:41:23 282
转载 关于OOM的那些事儿
最近查找了很多关于OOM,甚至于Java内存管理以及JVM的相关资料,发现这方面的东西太多了,竟有一种眼花缭乱的感觉,要想了解全面的话,恐非一篇文章能说清的,因此按照自己的理解整理了一篇,剩下的还需要继续学习。1)什么是OOM? OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于java.lang.OutOfMemoryError。看下关于的官方说明: Thr
2017-07-31 17:02:19 316
转载 JDBC中的Statement和PreparedStatement的区别
以Oracle为例吧Statement为一条Sql语句生成执行计划,如果要执行两条sql语句select colume from table where colume=1;select colume from table where colume=2;会生成两个执行计划一千个查询就生成一千个执行计划!PreparedStatement用于使用绑定变量重用执行计划
2017-07-31 16:34:18 559
原创 oracle是否需要建索引
什么字段应该建立索引 在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构; 在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度; 在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的; 在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间; 在经常使用在WHERE子句中的列上面创建索引,加快
2017-07-17 13:58:56 1033
原创 java.net.SocketException: Software caused connection abort: socket write error
项目的后台数据库是Mysql,最近出现了java.net.SocketException: Software causedconnection abort: socket write error 这个异常。 在网上google了一下,都说是因为Mysql服务器默认的“wait_timeout”是8小时,也就是说一个connection空闲如果超过8个小时,Mysql将自动断开该
2017-07-03 11:24:39 2073
原创 Mysql高版本脚本导入低版本报错
从服务器上通过mysqldump命令导出文件在导入到另外的库时,提示:MySQL 返回:#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'U
2017-07-03 11:04:01 1853
转载 数据库设计中常见表结构的设计技巧
一、树型关系的数据表不少程序员在进行数据库设计的时候都遇到过树型关系的数据,例如常见的类别表,即一个大类,下面有若干个子类,某些子类又有子类这样的情况。当类别不确定,用户希望可以在任意类别下添加新的子类,或者删除某个类别和其下的所有子类,而且预计以后其数量会逐步增长,此时我们就会考虑用一个数据表来保存这些数据。按照教科书上的教导,第二类程序员大概会设计出类似这样的数据表结构:类别表
2017-06-26 11:38:29 747
转载 Spring Boot 入门
Spring Boot 入门spring Boot是Spring社区较新的一个项目。该项目的目的是帮助开发者更容易的创建基于Spring的应用程序和服务,让更多人的人更快的对Spring进行入门体验,让Java开发也能够实现Ruby on Rails那样的生产效率。为Spring生态系统提供了一种固定的、约定优于配置风格的框架。Spring Boot具有如下特性:为基于
2017-06-02 11:58:31 455
转载 Struts2的使用注解配置Action(零配置)
1,首先引入struts2注解的jar包:struts2-convention-plugin.jar[java] view plain copy org.apache.struts struts2-convention-plugin ${struts2-version} lt;/dependency>
2017-05-27 17:15:20 1140
转载 Eclipse背景颜色修改
操作界面默认颜色为白色。对于我们长期使用电脑编程的人来说,白色很刺激我们的眼睛,所以我经常会改变workspace的背景色,使眼睛舒服一些。设置方法如下: 1、打开window->Preference,弹出Preference面板 2、展开General标签,选中Editors选项,展开。 3、选中 Test Editors,右边出现Test Editors面板。 面板中有这样一
2017-05-27 16:16:42 695
转载 解决Maven更新后错误Dynamic Web Module 3.0 requires Java 1.6 or newer
今天在用Maven->Update Project更新项目后,出现Dynamic Web Module 3.0 requires Java 1.6 or newer错误提示,发现项目Java Compiler中的版本回到1.5,如图所示。在Maven官方文档找到了原因。Maven 3.0 source和target的默认设置都是1.5,与运行Maven时的JDK版本无关,除非在项目的POM
2017-05-26 23:47:26 375
转载 深入了解MyBatis参数
深入了解MyBatis参数相信很多人可能都遇到过下面这些异常:"Parameter 'xxx' not found. Available parameters are [...]""Could not get property 'xxx' from xxxClass. Cause:"The expression 'xxx' evaluated to a null
2017-05-24 17:57:11 706
原创 基于XML -- Spring IOC配置
1. 在spring配置文件中,如果对一个property进行直接赋值,可使用元素,spring负责将值转化为property指定的类型;也可以直接在property元素上使用value属性来赋值;2. 构造函数注入,应使用元素来赋值,该元素有三个属性,你可以指定来对赋值的构造函数参数进行区分:type、index或者name,但是当你使用name属性时,你应该放置@Constructor
2017-05-24 10:44:42 319
转载 有什么知名的开源apm(Application Performance Management)工具吗?
作者:刀把五链接:https://www.zhihu.com/question/27994350/answer/118821214来源:知乎著作权归作者所有,转载请联系作者获得授权。现代APM体系,基本都是参考Google的Dapper(大规模分布式系统的跟踪系统)的体系来做的。通过跟踪请求的处理过程,来对应用系统在前后端处理、服务端调用的性能消耗进行跟踪,关于Da
2017-05-16 11:08:13 919
转载 Bootstrap之表格checkbox复选框全选
效果图:HTML中无需添加额外的一列来表示复选框,而是由JS完成,所以正常的表格布局就行了:[html] view plain copytable class="table table-bordered table-hover"> thead> tr class="succe
2017-05-16 10:08:20 1074
转载 如何用Maven创建web项目(具体步骤)
使用eclipse插件创建一个web project首先创建一个Maven的Project如下图 我们勾选上Create a simple project (不使用骨架) 这里的Packing 选择 war的形式 由于packing是war包,那么下面也就多出了webapp的目录
2017-05-14 15:29:08 633
转载 Java Word 转 Pdf
Java Word 转 Pdf前言: 平常项目中遇到需要将word转换为pdf,我们一般利用的是jacob.jar组件,这个组件利用的是微软office组件,但有时项目需要部署到liunx下,liunx中没有office,我们可以利用apache poi实现这一功能。代码:[java] view plain copy
2017-04-19 17:20:14 3509 2
转载 终于“比较”完美地解决了Linux下的字体问题
Linux的字体问题之前没有得到很好的解决,很多字都显示成一个个小方块。这是因为系统安装时的中文字体字库不全,到底没有专门的公司做过Linux下字库的编写。那下面这个方法就是教我们“盗用”Windows现成的字库。 Windows的字体一般存放在c:\windows\fonts目录下,拷贝喜欢的字体到linux的/usr/share/fonts的一个目录下,然后执行如下命令:
2017-04-10 16:27:38 19159
转载 【Linux】Linux中常用操作命令
Linux简介及Ubuntu安装Linux,免费开源,多用户多任务系统。基于Linux有多个版本的衍生。RedHat、Ubuntu、Debian安装VMware或VirtualBox虚拟机。具体安装步骤,找百度。再安装Ubuntu。具体安装步骤,找百度。安装完后,可以看到Linux系统的目录结构,见链接http://www.cnblogs.com/laov/p/34
2017-03-29 09:51:38 337
原创 aspose.slides添加文本框代码反编译
位于Slides.class中的,加密水印代码。使用jbe直接return,外加去sha1 digest可去除!理论上,可以省去4K/年的成本。嘘!第一次破解jar。要不是急用,估计又要找中科院博士帮忙了。还好,上次人家把思想教给我了。使用版本:aspose.slides-3.0.0.jar void jdMethod_char() { am lo
2017-03-23 22:46:50 1392
转载 spring security之httpSecurity使用示例
httpSecurity 类似于spring security的xml配置文件命名空间配置中的元素。它允许对特定的http请求基于安全考虑进行配置。默认情况下,适用于所有的请求,但可以使用requestMatcher(RequestMatcher)或者其它相似的方法进行限制。使用示例:最基本的基于表单的配置如下。该配置将所有的url访问权限设定为角色名称为"ROLE_U
2017-03-10 09:36:37 682
转载 RBAC权限设计
最近开发了一个新的管理系统,整理下其中的权限设计,尤其是开发过程中慢慢发现的问题提出来,方便下次改进。需求:开发一个管理系统,该系统可以支持多渠道商查看,并且每个渠道商只能查看自己的相应数据。分析:1、渠道商属于合作公司,所以他们应当有创建用户,分配权限的功能,并且分配的这些权限不能超过渠道超级管理员所拥有的最大权限。2、基于前面这一点,渠道之间应该是互不影响的权限
2017-03-03 14:11:48 836 1
转载 RBAC权限模型——项目实战
一、前言 权限一句话来理解就是对资源的控制,对web应用来说就是对url的控制,关于权限可以毫不客气的说几乎每个系统都会包含,只不过不同系统关于权限的应用复杂程序不一样而已,现在我们在用的权限模型基本上都是以RBAC为基础进行扩展的,我们今天就将RBAC权限模型进行下介绍。 二、RBAC模型 RBAC是Role-BasedAcces
2017-02-28 15:18:57 877
原创 Struts2 result type 配置
struts.xml 配置result showArticle 功能与redirect的action转发类似,不过与redirectaction转发功能不同的是它可以将Action中的数据一直保存在同一个HTTP请求中。Struts2支持的不同类型的返回结果为:Chain Result-->type="chain"用来处理Action链Dispatcher Result -->t
2017-02-28 11:41:10 310
转载 用户权限管理模块的数据库设计
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。(如下图)角色是什么?可以理解为一定数量的权限的集合,权限的载体。例如:一个论坛系统,“超级管理员
2017-02-24 17:04:51 620
原创 解决struts2+spring2.5+ibatis2,Property 'sqlMapClient' is required
关于ibatis的配置和试用 struts2+spring2.5+ibatis2,尝试配置。由于dao在继承SqlMapClientDaoSupport后始终无法完成注册,一直在网上查找原因。奋斗两天无果,只能寄希望能绕过SqlMapClientDaoSupport进行尝试。 如果不用继承SqlMapClientDaoSupport,可以很随意的完成sqlMapClient的注
2017-02-15 16:03:50 1721
转载 Struts2配置详解_配置Action
Struts2的核心功能是action,对于开发人员来说,使用Struts2主要就是编写action,action类通常都要实现com.opensymphony.xwork2.Action接口,并实现该接口中的execute()方法。该方法如下: public String execute() throws ExceptionStruts2并不是要求所有编写的act
2017-02-13 11:36:55 376
转载 Struts2中访问Web元素的3中方法RequestAware,SessionAware,ApplicationAware
1、通过RequestAware,SessionAware,ApplicationAware获取:在Struts2中不能直接访问Request,Session,Application元素,但是可以使用Struts2中提供的RequestAware,SessionAware,ApplicationAware。在这里要分别为三个对象提供setter方法,以便让struts自动执行,使用IoC(
2017-02-13 11:09:33 508
转载 IOException while loading persisted sessions: java.io.WriteAbortedException: writing aborted; java.
IOException while loading persisted sessions: java.io.WriteAbortedException: writing aborted; java.i2011-12-24 下午 6:58严重: IOException while loading persisted sessions: Java.io.WriteAbo
2017-01-11 10:17:44 1617
原创 Tomcat系列(一)Tomcat热部署的实现原理
Tomcat热部署机制对于Java应用程序来说,热部署就是在运行时更新Java类文件。在基于Java的应用服务器实现热部署的过程中,类装入器扮演着重要的角色。大多数基于Java的应用服务器,包括EJB服务器和Servlet容器,都支持热部署。类装入器不能重新装入一个已经装入的类,但只要使用一个新的类装入器实例,就可以将类再次装入一个正在运行的应用程序。我们知道,现在大多数的web服
2017-01-10 16:54:58 2731 1
原创 Mysql的Merge存储引擎实现分表查询
对于数据量很大的一张表,i/o效率底下,分表势在必行!使用程序分,对不同的查询,分配到不同的子表中,是个解决方案,但要改代码,对查询不透明。好在mysql 有两个解决方案:Partition(分区,在MySQL 5.1.中实现) 和 Mysql Merge存储引擎。 只是支持MyISAM引擎,而分区者没有限制。本文讨论 Mysql Merge存储引擎。 CR
2016-12-26 12:05:40 525
原创 linux下运行java命令提示:Error: dl failure on line 864
问题描述:在Linux RedHat5.5中安装的JDK1.7,并且通过在profile文件中修改JAVA_HOME,发现java -version命令依旧显示1.4版本,分析原因发现系统不按照profile的设定来执行java 命令,而是通过/usr/java下的系统自带的JDK程序进行运行,无奈之下治好通过rm -rf命令删除/usr/java下的所有文件,然后再次运行java命令,出现如
2016-12-25 23:46:50 3868
原创 Redhat Linux安装JDK 1.7
本篇主要介绍在Redhat Linux(Red Hat Enterprise Linux Server release 5.7 (Tikanga))系统上安装JDK 1.7,其它Linux平台安装也大同小异,可能略有差别。步骤1:下载JDK 1.7 安装包JDK 1.7 下载地址:http://www.oracle.com/technetwork/java/javase/downl
2016-12-25 22:32:13 677
转载 apt-get update 和 upgrade 的区别
updateupdate 是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。upgradeupgrade 是升级已安装的所有软件包,升级之后的版本就是本地索引里的,因此,在执行 upgrade 之前一定要执行 update, 这样才能是最新的。An updat
2016-12-24 20:29:08 495
原创 VMware 设备VMnet0 上的网桥当前未运行。
VMware 移动过来的虚拟机报:设备VMnet0 上的网桥当前未运行。此虚拟机无法与主机或网格中的其他计算机通信。今天克隆了一个win7的虚拟机,移动到我的本地。打开时发现虚拟机网格连接图标出现X断开连接,于是网上收了一堆答案无一个可用的,决定自己解决这个问题,解决过程如下: 1、报错图如下:设备VMnet0 上的网桥当前未运行。此虚拟机无法与主机或网格中的其他计算机
2016-12-20 22:49:24 29917
原创 高并发web系统调优(十一)进入大型分布式应用时代和廉价服务器群梦想时代
经过上面这个漫长而痛苦的过程,终于是再度迎来了完美的时代,不断的增加 webserver 就可以支撑越来越高的访问量了,对于大型网站而言,人气的重要毋 庸置疑,随着人气的越来越高,各种各样的功能需求也开始爆发性的增长,这个时候突然发现,原来部署在 webserver 上的那个 web 应用已经非常庞大了,当多个团队都开始对其进行改动时,可真是相当的不方便,复用性也相当糟糕,基本是每个团队都做了或多
2016-12-14 17:56:43 466
原创 高并发web系统调优(十)数据读写分离和廉价存储方案
突然有一天,发现这个完美的时代也要结束了,数据库的噩梦又一次出现在眼前了,由于添加的 webserver 太多了,导致数据库连接的资源还是不够用,而这个时候又已经分库分表了,开始分析数据库的压力状况,可能会发现数据库的读写比很高,这个时候通常会想到数据读写分离的方案,当然,这个方案要实现并不 容易,另外,可能会发现一些数据存储在数据库上有些浪费,或者说过于占用数据库资源,因此在这个阶段可能会形成的
2016-12-14 17:55:17 771
原创 高并发web系统调优(九)增加更多的 webserver
在做完分库分表这些工作后,数据库上的压力已经降到比较低了,又开始过着每天看着访问量暴增的幸福生活了,突然有一天,发现系统的访问又开始有变慢的趋势 了,这个时候首先查看数据库,压力一切正常,之后查看 webserver ,发现 apache 阻塞了很多的请求,而应用服务器对每个请求也是比较快的,看来是请求数太高导致需要排队等待,响应速度变慢,这还好办,一般来说,这个时候也会有些钱了,于是添加一些 w
2016-12-14 17:53:25 434
原创 高并发web系统调优(八)分表、 DAL 和分布式缓存
随着系统的不断运行,数据量开始大幅度增长,这个时候发现分库后查询仍然会有些慢,于是按照分库的思想开始做分表的工作,当然,这不可避免的会需要对程序 进行一些修改,也许在这个时候就会发现应用自己要关心分库分表的规则等,还是有些复杂的,于是萌生能否增加一个通用的框架来实现分库分表的数据访问,这个在 ebay 的架构中对应的就是 DAL ,这个演变的过程相对而言需要花费较长的时间,当然,也有可能这个通用的
2016-12-14 17:51:25 630
机械行业数字化生产供应链产品解决方案.pptx
2024-08-13
WMS助力企业数字化转型.pptx
2024-08-13
企业数字化转型解决方案.pptx
2024-08-12
数字化转型从战略到执行
2024-08-11
是什么让我眼前一亮:罗振宇2024“时间的朋友”与团队成长
2024-08-11
MySQL-python-1.2.4b4.win32-py2.7.exe
2018-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人