11 2017 档案

摘要:某日同事丢给我一个看上去复杂的查询(实际就涉及两张表,套来套去)说只是换了日期条件,但一个查询5秒出数据,一个根本查不出来。现在整理下解决过程,及涉及的知识点。 若有不正之处,请多多谅解并欢迎批评指正,不甚感激。 请尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.com 阅读全文
posted @ 2017-11-30 22:37 有梦就能实现 阅读(593) 评论(0) 推荐(0) 编辑
摘要:原文译自:http://www.mssqltips.com/sqlservertip/2766/sql-server-auto-update-and-auto-create-statistics-options/?utm_source=dailynewsletter&utm_medium=email 阅读全文
posted @ 2017-11-30 22:33 有梦就能实现 阅读(1019) 评论(0) 推荐(0) 编辑
摘要:数据库参数化的模式 数据库的参数化有两种方式,简单(simple)和强制(forced),默认的参数化默认是“简单”,简单模式下,如果每次发过来的SQL,除非完全一样,否则就重编译它(特殊情况会自动参数化,正是本文想说的重点)强制模式就是将adhoc SQL强制参数化,避免每次运行的时候因为参数值的 阅读全文
posted @ 2017-11-30 21:10 有梦就能实现 阅读(222) 评论(0) 推荐(0) 编辑
摘要:如果执行不带参数的SQL语句,SQL Server会在内部对该语句进行参数化以增加将其与现有执行计划相匹配的可能性。此过程称为简单参数化(在SQL Server 2000中,称为自动参数化),最终起到执行计划重用的效果。 当然从最终的执行计划缓存中可以看到,直接执行的SQL脚本在缓存中还是会有对应的 阅读全文
posted @ 2017-11-30 21:09 有梦就能实现 阅读(684) 评论(0) 推荐(0) 编辑
摘要:这是关于SQL Server调优系列文章,以下内容基本涵盖我们日常中所写的查询运算的分解以及调优内容项,皆为原创........ 第一个基础模块注重基础内容的掌握,共分7篇文章完成,内容涵盖一系列基础运算算法,详细分析了如何查看执行计划、掌握执行计划优化点,并一一列举了日常我们平常所写的T-SQL语 阅读全文
posted @ 2017-11-30 20:22 有梦就能实现 阅读(273) 评论(0) 推荐(0) 编辑
摘要:已经介绍了如何使用索引,当一个索引创建时,以B-Tree格式存放数据,拥有根节点、中间节点、叶子节点。叶子节点是最底层的节点,在聚集索引中,包含了实际数据,而每个数据页有8KB。 当表中的数据的增删改发生时,会尝试把数据插入到合适的数据页中。比如有一个聚集索引在SSN上,当插入一个新的SSN数时。S 阅读全文
posted @ 2017-11-30 20:15 有梦就能实现 阅读(440) 评论(0) 推荐(0) 编辑
摘要:--打开高级选项才能查看修改默认填充因子 EXEC sp_configure 'show advanced options', 1 RECONFIGURE --查看默认的填充因子(默认config_value=0,也就是100%) EXEC sp_configure 'fill factor (%) 阅读全文
posted @ 2017-11-30 20:09 有梦就能实现 阅读(268) 评论(0) 推荐(0) 编辑
摘要:假如您有一个盛满水的玻璃杯,您要尝试再向这个玻璃杯中加水。结果会怎样呢?水会溢出来。 SQL Server 的情况也是如此。当索引页填充满时,如果尝试添加新行,则 SQL Server 会将大约一半的行移动到新页,以便为新添加的行腾出空间。这就是通常所说的“页面分割”。页面分割可为新记录腾出空间,但 阅读全文
posted @ 2017-11-30 20:05 有梦就能实现 阅读(298) 评论(0) 推荐(0) 编辑
摘要:CREATE NONCLUSTERED INDEX IX_d_name ON department(d_name) with fillfactor=30 使用 fill factor 选项可以指定 Microsoft SQL Server 2005 使用现有数据创建新索引时将每页填满到什么程度。由于 阅读全文
posted @ 2017-11-30 20:01 有梦就能实现 阅读(1432) 评论(0) 推荐(0) 编辑
摘要:在创建聚集索引时,表中的数据按照索引列中的值的顺序存储在数据库的数据页中。在表中插入新的数据行或更改索引列中的值时,Microsoft® SQL Server™ 2000 可能必须重新组织表中的数据存储,以便为新行腾出空间,保持数据的有序存储。这同样适用于非聚集索引。添加或更改数 阅读全文
posted @ 2017-11-30 19:54 有梦就能实现 阅读(457) 评论(0) 推荐(0) 编辑
摘要:建SQL SERVER索引的时候有一个选项,即Fillfactor(填充因子)。 这个可能很少人会去注意它,但它也是比较重要的。大家可能也都知道有这个东西,但是如何去使用它,可能会比较迷糊。另外,即使你理解了它的原理,也不一定能使用好它,这个还要具体分析索引字段的更新频率等等。 记得看书知道有这么个 阅读全文
posted @ 2017-11-30 19:50 有梦就能实现 阅读(1235) 评论(0) 推荐(0) 编辑
摘要:实际上,索引的维护主要包括以下两个方面: 页拆分 碎片 这两个问题都和页密度有关,虽然两者的表现形式在本质上有所区别,但是故障排除工具是一样的,因为处理是相同的。 对于非常小的表(比64KB小得多),一个区中的页面可能属于多余一个的索引或表 这被称为混合区。如果数据库中有太多的小表,混合区帮助SQL 阅读全文
posted @ 2017-11-29 10:28 有梦就能实现 阅读(231) 评论(0) 推荐(0) 编辑
摘要:在Servlet中 javax.servlet.GenericServlet类 继承自java.lang.Object 实现了Serializable,,servlet ,ServletConfig 三个接口 被继承对象javax.servlet.http.HttpServlet (这是我们常用的一 阅读全文
posted @ 2017-11-28 08:50 有梦就能实现 阅读(5046) 评论(0) 推荐(2) 编辑
摘要:ActionServlet类是Struts框架的内置核心控制器组件,它继承了javax.servlet.http.HttpServlet类。Struts的启动通常从 加载ActionServlet开始。Web容器会在首次启动或Struts应用的第一个请求到达时加载ActionServlet。一般情况 阅读全文
posted @ 2017-11-28 08:48 有梦就能实现 阅读(3467) 评论(0) 推荐(0) 编辑
摘要:OK~ WSFC 2012 R2 年度盛宴开始~ 在本文中,老王将用一系列的场景,把动态仲裁,动态见证,票数调整,LowerQuorumPriorityNodeID,阻止仲裁等群集仲裁技术串起来,完成一个又一个复杂的场景,本篇文章可能并不太适合对于WSFC不了解的朋友,适合对于WSFC群集仲裁技术及 阅读全文
posted @ 2017-11-27 15:54 有梦就能实现 阅读(13615) 评论(1) 推荐(0) 编辑
摘要:需要说明的是我们搭建的SQL Server故障转移集群(SQL Server Failover Cluster)是可用性集群,而不是负载均衡集群,其目的是为了保证服务的连续性和可用性,而不是为了提高服务的性能。 SQL Server始终在负载均衡集群方面都缺少自己的产品,多由第三方厂家提供,但SQL 阅读全文
posted @ 2017-11-27 15:29 有梦就能实现 阅读(1109) 评论(0) 推荐(0) 编辑
摘要:jboss控制台中: http://127.0.0.1:8080/jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss.jca%3Aservice%3DManagedConnectionPool%2Cname%3DconnConfig 在这个页 阅读全文
posted @ 2017-11-27 15:16 有梦就能实现 阅读(304) 评论(0) 推荐(0) 编辑
摘要:数据库驱动位置: %JBOSS_HOME%\server\default\lib目录下。 数据库配置文件位置:JBOSS_HOME\docs\examples\jca\XXXX-ds.xml <?xml version="1.0" encoding="GBK"?> <datasources> <lo 阅读全文
posted @ 2017-11-27 14:48 有梦就能实现 阅读(2002) 评论(0) 推荐(0) 编辑
摘要:SQL Server在删除变长列或者减小变长列的长度后,表的大小不会响应自动减小,除非DBA重建索引或者reorganized索引。变长列包括varchar,nvarchar, varchar(max), nvarchar(max), varbinary, varbinary(max), text, 阅读全文
posted @ 2017-11-27 11:17 有梦就能实现 阅读(227) 评论(0) 推荐(0) 编辑
摘要:lzf328 2012-08-10 15:02 评论(0) 6219人阅读 首先看一个例子: --创建测试表 CREATE TABLE testfreespace ( column1 INT ,column2 CHAR(20) ,column3 VARCHAR(8000)) --插入数据 DECLA 阅读全文
posted @ 2017-11-27 10:03 有梦就能实现 阅读(329) 评论(0) 推荐(0) 编辑
摘要:大多数SQL Server表需要索引来提高数据的访问速度,如果没有索引,SQL Server 要进行表格扫描读取表中的每一个记录才能找到索要的数据。索引可以分为簇索引和非簇索引,簇索引通过重排表中的数据来提高数据的访问速度,而非簇索引则通过维护表中的数据指针来提高数据的索引。 1. 索引的体系结构 阅读全文
posted @ 2017-11-26 20:44 有梦就能实现 阅读(356) 评论(0) 推荐(0) 编辑
摘要:USE My_Database;DECLARE @name varchar(100) DECLARE authors_cursor CURSOR FOR Select [name] from sysobjects where xtype='u' order by id OPEN authors_cu 阅读全文
posted @ 2017-11-26 20:33 有梦就能实现 阅读(708) 评论(0) 推荐(0) 编辑
摘要:写在前面:本篇文章需要你对索引和SQL中数据的存储方式有一定了解.标题中高级两个字仅仅是因为本篇文章需要我的T-SQL进阶系列文章的一些内容作为基础. 简介 在SQL Server中,存储数据的最小单位是页,每一页所能容纳的数据为8060字节.而页的组织方式是通过B树结构(表上没有聚集索引则为堆结构 阅读全文
posted @ 2017-11-26 20:02 有梦就能实现 阅读(282) 评论(0) 推荐(0) 编辑
摘要:前言: 本节是整个系列的重点文章,到现在,读者应该已经对整个高可用架构有一定的了解,知道独立的SQL Server实例和基于群集的SQL Server FCI的区别。上一节已经介绍了如何安装SQL Server Failover Cluster Instance(FCI)及其要求。 本节会深入Alw 阅读全文
posted @ 2017-11-26 16:37 有梦就能实现 阅读(2917) 评论(0) 推荐(1) 编辑
摘要:更改 SQL Server 中现有的 AlwaysOn 可用性组。 只有当前主副本支持大多数 ALTER AVAILABILITY GROUP 参数。 但是,只有辅助副本支持 JOIN、FAILOVER 和 FORCE_FAILOVER_ALLOW_DATA_LOSS 参数。 适用范围:SQL Se 阅读全文
posted @ 2017-11-26 16:16 有梦就能实现 阅读(1629) 评论(0) 推荐(0) 编辑
摘要:在做维护项目的时,我们经常会遇到索引维护的问题,通过语句,我们就可以判断某个表的索引是否需要重建。 执行一下语句:先分析表的索引 分析表的索引建立情况:DBCC showcontig('Table')DBCC SHOWCONTIG 正在扫描 'Table'' 表... 表: 'Table'' (53 阅读全文
posted @ 2017-11-24 20:54 有梦就能实现 阅读(1206) 评论(0) 推荐(0) 编辑
摘要:最近在优化日结存储过程,日结存储过程中大概包含了20多个存储过程。 发现其有一个存储过程代码有问题,进一步发现结存的数据中有一个 日期字段business_date 是有问题的,这个字段对应的类型是varchar,但是存储过程传入参数的类型是char,导致最后结存进去的数据末尾多了几个空格。 比如, 阅读全文
posted @ 2017-11-24 20:53 有梦就能实现 阅读(1397) 评论(0) 推荐(0) 编辑
摘要:SQL Server数据库操作中,当数据库中的记录比较多的时候,我们可以通过索引来实现查询。但是当索引碎片太多的时候,就会很严重地影响到查询的速度。这时候我们可以采取两种方法来解决:一种时整理索引碎片,另一种是重建索引。本文主要介绍了这一过程,接下来就让我们来一起了解一下吧。 检查索引碎片DBCC 阅读全文
posted @ 2017-11-24 20:52 有梦就能实现 阅读(1423) 评论(0) 推荐(1) 编辑
摘要:第一步:查看是否需要维护,查看扫描密度/Scan Density是否为100% 第二步:重构SQL Server数据库表索引 重做第一步,如发现扫描密度/Scan Density还是小于100%则重构表的所有索引,并不一定能达100%。 重建数据库所有表的索引 USE My_Database; DE 阅读全文
posted @ 2017-11-24 20:31 有梦就能实现 阅读(374) 评论(0) 推荐(0) 编辑
摘要:一.查询思路 1.想要判断数据库查询缓慢的问题,可以使用如下语句,可以列出查询语句的平均时间,总时间,所用的CPU时间等信息 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 SELECT creation_time N'语句 阅读全文
posted @ 2017-11-24 20:24 有梦就能实现 阅读(6381) 评论(0) 推荐(0) 编辑
摘要:ThreadLocal的目的就是为每一个使用ThreadLocal的线程都提供一个值,让该值和使用它的线程绑定,当然每一个线程都可以独立地改变它绑定的值。如果需要隔离多个线程之间的共享冲突,可以使用ThreadLocal,这将极大地简化你的程序. 关于的ThreadLocal更多内容,请参考《Thr 阅读全文
posted @ 2017-11-23 20:16 有梦就能实现 阅读(256) 评论(0) 推荐(0) 编辑
摘要:这篇文章,主要解决一下疑惑: 1. ThreadLocal.ThreadLocalMap中提到的弱引用,弱引用究竟会不会被回收? 2. 弱引用什么情况下回收? 3. JAVA的ThreadLocal和在什么情况下会内存泄露? 带着这些疑问,自己模拟了一下ThreadLocal.ThreadLocal 阅读全文
posted @ 2017-11-23 20:13 有梦就能实现 阅读(192) 评论(0) 推荐(0) 编辑
摘要:前言 ThreadLocal 的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。但是如果滥用 ThreadLocal,就可能会导致内存泄漏。下面,我们将围绕三个方面来分析 ThreadLocal 内存泄漏的问题 Threa 阅读全文
posted @ 2017-11-23 19:59 有梦就能实现 阅读(330) 评论(0) 推荐(1) 编辑
摘要:在我很多的课程里(master、concurrency、xj-conc-j8),我经常提起ThreadLocal。它经常受到我严厉的指责要尽可能的避免使用。ThreadLocal是为了那些使用完就销毁的线程设计的。线程生成之前,线程内的局部变量都会被清除掉。实际上,如果你读过 Why 0x61c88 阅读全文
posted @ 2017-11-23 19:51 有梦就能实现 阅读(2150) 评论(0) 推荐(0) 编辑
摘要:线程池中的线程是重复使用的,即一次使用完后,会被重新放回线程池,可被重新分配使用。 因此,ThreadLocal线程变量,如果保存的信息只是针对一次请求的,放回线程池之前需要清空这些Threadlocal变量的值(或者取得线程之后,首先清空这些Threadlocal变量的值)。 阅读全文
posted @ 2017-11-23 19:44 有梦就能实现 阅读(415) 评论(0) 推荐(0) 编辑
摘要:ThreadLocal对象帮助我们管理线程内的对象,保证对象在线程之间是相互隔离的。 今天碰到的坑是这样的: index01.html页面加载的时候会发送一次a请求,然后点击附件上传的时候会发送上传请求b,上传成功后会发送下载请求c, 其中a请求会经过interceptor01拦截器,interce 阅读全文
posted @ 2017-11-23 19:42 有梦就能实现 阅读(646) 评论(0) 推荐(0) 编辑
摘要:threadlocal里面使用了一个存在弱引用的map,当释放掉threadlocal的强引用以后,map里面的value却没有被回收.而这块value永远不会被访问到了. 所以存在着内存泄露. 最好的做法是将调用threadlocal的remove方法. 在threadlocal的生命周期中,都存 阅读全文
posted @ 2017-11-23 19:39 有梦就能实现 阅读(287) 评论(0) 推荐(0) 编辑
摘要:ThreadLocal的几种误区 最近由于需要用到ThreadLocal,在网上搜索了一些相关资料,发现对ThreadLocal经常会有下面几种误解 一、ThreadLocal是java线程的一个实现 ThreadLocal的确是和java线程有关,不过它并不是java线程的一个实现,它只是用来维护 阅读全文
posted @ 2017-11-23 18:56 有梦就能实现 阅读(1837) 评论(0) 推荐(0) 编辑
摘要:使用ThreadLocal并且有线程池时要特别注意,ThreadLocal是以线程为key的,而线程池里面的线程是会被重新利用的,所以如果有使用线程池并且使用ThreadLocal来保存状态信息时要特别注意要每次初始化,否则同一个线程会用到之前线程的状态信息,代码见http://www.macroh 阅读全文
posted @ 2017-11-23 18:52 有梦就能实现 阅读(506) 评论(0) 推荐(0) 编辑
摘要:最近遇到一个比较隐蔽而又简单地问题,在使用ThreadLocal时发现出现多个线程中值串来串去,排查一番,确定问题为线程池的问题,线程池中的线程是会重复利用的,而ThreadLocal是用线程来做Key的所以在使用线程池的时候要特别注意ThreadLocal. ThreadLocal数据是在线程创建 阅读全文
posted @ 2017-11-23 18:51 有梦就能实现 阅读(766) 评论(0) 推荐(0) 编辑
摘要:ThreadLocal使用 ThreadLocal可以让线程拥有本地变量,在web环境中,为了方便代码解耦,我们通常用它来保存上下文信息,然后用一个util类提供访问入口,从controller层到service层可以很方便的获取上下文。下面我们通过代码来研究一下ThreadLocal。 新建一个T 阅读全文
posted @ 2017-11-23 18:49 有梦就能实现 阅读(2072) 评论(0) 推荐(0) 编辑
摘要:这两天一直在查无线app一个诡异的问题,表象是stg的接口返回数据,和线上接口的返回数据不一致。 1、初步判断:有缓存,查看代码后发现缓存时间直邮6分钟,而且同一个接口,其他调用方的返回数据,stg和线上是保持一致的。 2、确认版本后,把线上版本和stg环境的版本号,进行多次check,发现版本是一 阅读全文
posted @ 2017-11-23 18:44 有梦就能实现 阅读(1505) 评论(0) 推荐(0) 编辑
摘要:转载 2014年10月24日 22:33:29 标签: <!-- [startarticletags]--> <!-- [endarticletags]--> 328 <!-- <li><button class="btn-noborder but-comment-topicon"><i class 阅读全文
posted @ 2017-11-23 17:29 有梦就能实现 阅读(1694) 评论(0) 推荐(0) 编辑
摘要:单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。正是由于这个特 点,单例对象通常作为程序中的存放配置信息的载体,因为它能保证其他对象读到一致的信息。例如在某个服务器程序中,该服务器的配置信息可能存放在数据库或 文件中,这些配 阅读全文
posted @ 2017-11-23 09:37 有梦就能实现 阅读(940) 评论(0) 推荐(0) 编辑
摘要:近来参与一个Java的web办公系统,碰到一个bug,开始猜测是线程池管理的问题,最后发现是单例模式的问题。 即,当同时发起两个事务请求时,当一个事务完成后,另一个事务会抛出session is closed异常。具体见下图: 1 至于,下面这种情况,当时也测试过,但问题情形忘了,手上没有数据库环境,无法进行测试: image 最开始,个人认为是session管理的问题,比如,在关闭s... 阅读全文
posted @ 2017-11-23 09:30 有梦就能实现 阅读(252) 评论(0) 推荐(0) 编辑
摘要:总结SQL Server窗口函数的简单使用 前言:我一直十分喜欢使用SQL Server2005/2008的窗口函数,排名函数ROW_NUMBER()尤甚。今天晚上我在查看SQL Server开发的相关文档,整理收藏夹发现了两篇收藏已久的好文,后知后觉,读后又有点收获,顺便再总结一下。 一、从一个熟 阅读全文
posted @ 2017-11-21 23:18 有梦就能实现 阅读(4640) 评论(0) 推荐(0) 编辑
摘要:虽然小编不建议大家去用命令删除数据库表中的东西,但是这些删除命令总有用的着的地方。 说到删除表数据的关键字,大家记得最多的可能就是delete了 然而我们做数据库开发,读取数据库数据.对另外的两兄弟用得就比较少了 现在来介绍另外两个兄弟,都是删除表数据的,其实也是很容易理解的 老大 drop 出没场 阅读全文
posted @ 2017-11-21 11:48 有梦就能实现 阅读(528) 评论(0) 推荐(0) 编辑
摘要:如果你用的是是4.x的Jboss的话,请参考:docs/dtd/jboss-ds_1_0.dtd,相信你很容易就能找到控制最大/最小连接数的选项,应该是诸如:max-pool-size/min-pool-size 之类的; 另外,你还可在 docs/example/jca 目录下找到针对各种数据库的 阅读全文
posted @ 2017-11-21 10:53 有梦就能实现 阅读(595) 评论(0) 推荐(0) 编辑
摘要:数据库的连接和关闭是非常消耗系统资源的,在多层结构的应用环境中,这种资源消耗又直接的反映到系统性能上来。在项目实际应用中,最常用的解决方案便是建立数据库连接池。 一、数据库连接池基本原理 当程序启动时,系统主动建立出足够的数据库连接,并将这些连接组成一个连接池。每次应用程序请求数据库连接时,无需重新 阅读全文
posted @ 2017-11-21 10:50 有梦就能实现 阅读(529) 评论(0) 推荐(0) 编辑
摘要:XSS 攻击&防御实验 不要觉得你的网站很安全,实际上每个网站或多或少都存在漏洞,其中xss/csrf是最常见的漏洞,也是最容易被开发者忽略的漏洞,一不小心就要被黑 下面以一个用户列表页面来演示xss攻击的实验 假设某个恶意用户在注册时输入的用户名中包含攻击代码 首先准备一个jsp页面来显示用户列表 阅读全文
posted @ 2017-11-21 09:31 有梦就能实现 阅读(730) 评论(0) 推荐(0) 编辑
摘要:1. 简介 跨站点脚本(XSS)是当前web应用中最危险和最普遍的漏洞之一。安全研究人员在大部分最受欢迎的网站,包括Google, Facebook, Amazon, PayPal等网站都发现这个漏洞。如果你密切关注bug赏金计划,会发现报道最多的问题属于XSS。为了避免跨站脚本,浏览器也有自己的过 阅读全文
posted @ 2017-11-21 08:28 有梦就能实现 阅读(5792) 评论(0) 推荐(1) 编辑
摘要:一、应用篇 ThreadLocal介绍 ThreadLocal如果单纯从字面上理解的话好像是“本地线程”的意思,其实并不是这个意思,只是这个名字起的太容易让人误解了,它的真正的意思是线程本地变量。 实现一个线程本地的存储,也就是说,每个线程都有自己的局部变量。所有线程都共享一个ThreadLocal 阅读全文
posted @ 2017-11-21 08:26 有梦就能实现 阅读(406) 评论(0) 推荐(0) 编辑
摘要:首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。 另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并 阅读全文
posted @ 2017-11-20 12:00 有梦就能实现 阅读(204) 评论(0) 推荐(0) 编辑
摘要:虽然ThreadLocal与并发问题相关,但是许多程序员仅仅将它作为一种用于“方便传参”的工具,胖哥认为这也许并不是ThreadLocal设计的目的,它本身是为线程安全和某些特定场景的问题而设计的。ThreadLocal是什么呢!每个ThreadLocal可以放一个线程级别的变量,但是它本身可以被多 阅读全文
posted @ 2017-11-20 11:05 有梦就能实现 阅读(383) 评论(0) 推荐(0) 编辑
摘要:jboss5.0mysql连接配置 petstore jdbc:mysql://localhost:3306/databaseName?characterEncoding=UTF-8 com.mysql.jdbc.Driver root root jboss4.2.1GA ... 阅读全文
posted @ 2017-11-17 16:27 有梦就能实现 阅读(427) 评论(0) 推荐(0) 编辑
摘要:数据库的连接和关闭是非常消耗系统资源的,在多层结构的应用环境中,这种资源消耗又直接的反映到系统性能上来。在项目实际应用中,最常用的解决方案便是建立数据库连接池。 一、数据库连接池基本原理 当程序启动时,系统主动建立出足够的数据库连接,并将这些连接组成一个连接池。每次应用程序请求数据库连接时,无需重新 阅读全文
posted @ 2017-11-17 16:25 有梦就能实现 阅读(2515) 评论(0) 推荐(0) 编辑
摘要:Context initial = new InitialContext(); Object objref = initial.lookup("java:comp/env/ejb/SimpleConverter"); 一般情况下,intial.lookup("")中的参数就是你的JNDI名称。但是用 阅读全文
posted @ 2017-11-17 15:08 有梦就能实现 阅读(1403) 评论(0) 推荐(0) 编辑
摘要:在上一节 从零开发分布式数据库中间件 一、读写分离的数据库中间件 中,我们讲了如何通过ThreadLocal来指定每次访问的数据源,并通过jdbc的连接方式来切换数据源,那么这一节我们使用我们常用的数据库持久层框架MyBatis来实现数据库读写分离。 一、数据源代理: 此类与上一节相似,即可以指定当 阅读全文
posted @ 2017-11-17 14:15 有梦就能实现 阅读(729) 评论(0) 推荐(0) 编辑
摘要:在传统的单机体系中,我们在操作数据库时,只需要直接得到数据库的连接,然后操作数据库即可,可是在现在的数据爆炸时代,只靠单机是无法承载如此大的用户量的,即我们不能纵向扩展,那么我们就只能水平进行扩展,即使用读写分离的主从数据库来缓解数据库的压力,而在读写分离之后,如何使程序能正确的得到主数据库的连接或 阅读全文
posted @ 2017-11-17 14:13 有梦就能实现 阅读(1361) 评论(0) 推荐(0) 编辑
摘要:微软新一代数据库产品SQL Server 2012已经面世一段时间了,不管从功能还是性能上讲,较之其早期产品都有了很大提升。特别是其引入高可用性组(AlwaysOn Group, AG)这一概念和功能,大大增强和提高了SQL Server的可用性,在之前的镜像数据库的基础上有了质的变化。 SQL S 阅读全文
posted @ 2017-11-17 13:44 有梦就能实现 阅读(936) 评论(0) 推荐(0) 编辑
摘要:Alwayson相对于数据库镜像最大的优势就是可读副本,带来可读副本的同时还添加了一个新的功能就是配置只读路由实现读写分离;当然这里的读写分离稍微夸张了一点,只能称之为半读写分离吧!看接下来的文章就知道为什么称之为半读写分离。 数据库:SQLServer2014 db01:192.168.1.22 阅读全文
posted @ 2017-11-17 13:38 有梦就能实现 阅读(608) 评论(0) 推荐(0) 编辑
摘要:在一些大型的网站或者应用中,单台的SQL Server 服务器可能难以支撑非常大的访问压力。很多人在这时候,第一个想到的就是一个解决性能问题的利器——负载均衡。遗憾的是,SQL Server 的所有版本,包括2012年3月发布的SQL Server 2012,也未提供该功能。 扩展单台SQL Ser 阅读全文
posted @ 2017-11-17 12:48 有梦就能实现 阅读(2134) 评论(0) 推荐(0) 编辑
摘要:使用了Sqlserver 2012 Always on技术后,假如采用的配置是默认配置,会出现Primary server CPU很高的情况发生,比如默认配置如下: 需要自定义来解决这个问题。 我们先来看看上图中的这些选项的意义 主角色中的连接 允许所有连接 如果当前server是primary角色 阅读全文
posted @ 2017-11-17 11:52 有梦就能实现 阅读(1714) 评论(0) 推荐(0) 编辑
摘要:一个完整的mysql读写分离环境包括以下几个部分: 应用程序client database proxy database集群 在本次实战中,应用程序client基于c3p0连接后端的database proxy。database proxy负责管理client实际访问database的路由策略,采用 阅读全文
posted @ 2017-11-17 11:46 有梦就能实现 阅读(506) 评论(0) 推荐(0) 编辑
摘要:1.数据源的模板在\jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\docs\examples\jca\下2.编辑数据源文件,比如mysql-ds.xml,命名规则是名称-ds.xml结尾3.把数据源文件部署到jboss下,路径是jboss-4.2.3.GA-jdk6\jbos 阅读全文
posted @ 2017-11-16 22:24 有梦就能实现 阅读(190) 评论(0) 推荐(0) 编辑
摘要:1、EJB 容器 Enterprise Bean 是在称作 EJB 容器的特殊环境中运行的软件组件。容器容纳和管理 Enterprise Bean 的方式与 Java Web 服务器容纳 Servlet 或 HTML 浏览器容纳 Java Applet 的方式相同。Enterprise Bean 不 阅读全文
posted @ 2017-11-16 22:22 有梦就能实现 阅读(683) 评论(0) 推荐(0) 编辑
摘要:EJB2.0版本的HelloWorld 虽然EJB3.1已经出来了,可是EJB2.0的项目还需要维护啊。下面写个简单EJB2.0的HelloWorld程序,练练手。 环境: JBoss 4.0.2 JDK1.5 IDEA8.1.4 一、开发EJB组件 1、开发Bean类 package lavaso 阅读全文
posted @ 2017-11-16 22:20 有梦就能实现 阅读(430) 评论(0) 推荐(0) 编辑
摘要:A short description A name employee-service-icon16x16.jpg employee-service-icon32x32.jpg A short description A name employee-service-icon16x16.jpg employee-service-icon32x32.jp... 阅读全文
posted @ 2017-11-16 22:15 有梦就能实现 阅读(658) 评论(0) 推荐(0) 编辑
摘要:EJB是什么呢?EJB是一个J2EE体系中的组件.再简单的说它是一个能够远程调用的javaBean.它同普通的javaBean有两点不同.第一点,就是远程调用.第二点,就是事务的功能,我们在EJB中声明的事务会通过容器帮助我们来处理.支持EJB的SERVER有以下几个:WeblogicWebsper 阅读全文
posted @ 2017-11-16 22:05 有梦就能实现 阅读(5012) 评论(0) 推荐(0) 编辑
摘要:用本地引用提高EJB访问效率 EJB 1.0和1.1规范只定义了一种在EJB组件中引用另一组件的方法,即通过Bean的远程接口。如果两个Bean都在同一个容器之内,则这种网络开销是不必要的。为解决这个问题,EJB 2.0规范定义了一种新的EJB引用类型,即本地引用。 一、两种引用类型 为了从其他EJ 阅读全文
posted @ 2017-11-16 21:59 有梦就能实现 阅读(434) 评论(0) 推荐(0) 编辑
摘要:类InitialContext java.lang.Object javax.naming.InitialContext 此类是执行命名操作的初始上下文。 所有命名操作都相对于某一上下文。该初始上下文实现 Context 接口并提供解析名称的起始点。 对于同时存在于两个源或多个应用程序资源文件中的每 阅读全文
posted @ 2017-11-16 17:06 有梦就能实现 阅读(774) 评论(0) 推荐(0) 编辑
摘要:<!--red_beg-->EJB2<!--red_end-->的3本好书第3本 EJB Cookbook <!--red_beg-->EJB2<!--red_end-->的3本好书第3本 EJB Cookbook 阅读全文
posted @ 2017-11-16 16:46 有梦就能实现 阅读(112) 评论(0) 推荐(0) 编辑
摘要:】 EJB编程模型的简化 首先,EJB3简化的一个主要表现是:在EJB3中,一个EJB不再象EJB2中需要两个接口一个Bean实现类,虽然我们以前使用JBuilder这样可视化开发工具自动生成了EJB2的这三个类,好像不觉得复杂,但是当EJB个数增加时,就显得累赘了。 简化后的EJB3的sessio 阅读全文
posted @ 2017-11-16 16:44 有梦就能实现 阅读(266) 评论(0) 推荐(0) 编辑
摘要:1. ejb-jar.xml ServiceSkeleton ServiceSkeletonEJB com.ecvision.xpressroad.framework.context.skeleton.ServiceSkeletonRemoteHome com.ecvis... 阅读全文
posted @ 2017-11-16 16:37 有梦就能实现 阅读(328) 评论(0) 推荐(0) 编辑
摘要:<!-- <li><button class="btn-noborder but-comment-topicon"><i class="icon iconfont icon-pinglun"></i><span class="txt">--><!--</button></li>--> <!-- <l 阅读全文
posted @ 2017-11-16 16:34 有梦就能实现 阅读(1010) 评论(0) 推荐(0) 编辑
摘要:摘要: 如何使不同的企业使用独自的数据源。使用ejb3.0+jboss6.2EAP+JPA10C应用系统被多个企业同时使用,为了提供个性化服务,如何使不同的企业使用独自的数据源。使用ejb3.0+jboss6 问题描述 如何使不同的企业使用独自的数据源。使用ejb3.0+jboss6.2EAP+JP 阅读全文
posted @ 2017-11-16 16:29 有梦就能实现 阅读(251) 评论(0) 推荐(0) 编辑
摘要:编辑 删除 如果在JBoss中同时使用俩个数据源就会发生如下异常: 编辑 删除 Transaction is not active: tx=TransactionImple < ac, BasicAction: -3f57fe8b:f52:4cd284ca:9b status: ActionStat 阅读全文
posted @ 2017-11-16 16:24 有梦就能实现 阅读(426) 评论(0) 推荐(0) 编辑
摘要:1.修改jboss-6.simple\server\default\deploy\transaction-jboss-beans.xml 配置文件 <bean name="CoreEnvironmentBean" class="com.arjuna.ats.arjuna.common.CoreEnv 阅读全文
posted @ 2017-11-16 16:19 有梦就能实现 阅读(205) 评论(0) 推荐(0) 编辑
摘要:一位ID是jackson1225的网友在javaeye询问了一个大型Web系统的架构和部署选型问题,希望能提高现有的基于Java的Web应用的服务能力。由于架构模式和部署调优一直是Java社区的热门话题,这个问题引发了很多热心网友的讨论,其中一些意见对其它大型Web项目也有很好的指导意义。在讨论之初 阅读全文
posted @ 2017-11-16 16:16 有梦就能实现 阅读(941) 评论(0) 推荐(0) 编辑
摘要:分布式技术EJB3_分库架构 - 【动力节点官网】北京Java … http://www.bjpowernode.com/xiazai/2220.html 《程序天下--EJB JPA数据库持久层开发实践详解》 http://www.java1234.com/a/javabook/javaweb/2 阅读全文
posted @ 2017-11-16 16:07 有梦就能实现 阅读(179) 评论(0) 推荐(0) 编辑
摘要:在Web开发中,有时候需要显示一些复选框(checkbox),表明这个地方是可以进行勾选操作的,但是有时候是只想告知用户"这个地方是可以进行勾选操作的"而不想让用户在此处勾选(比如在信息展示页面),这时候就需要将复选框设置成只读的效果。 提到只读,很容易想到使用readonly属性,但是对于复选框来 阅读全文
posted @ 2017-11-15 15:38 有梦就能实现 阅读(11650) 评论(0) 推荐(1) 编辑
摘要:下面是个最简单的使用jdbc取得数据的应用。在例子之后我将分成4步,分别是①取得连接,②创建PreparedStatement,③设置参数,④执行查询,来分步分析这个过程。除了设置参数那一步之外,其他的我都画了时序图,如果不想看文字的话,可以对着时序图 。文中的第4步是组装MySQL协议并发送数据包 阅读全文
posted @ 2017-11-15 11:19 有梦就能实现 阅读(5080) 评论(0) 推荐(0) 编辑
摘要:JDBC1.0 、JDBC2.0 、JDBC3.0 中分别用以下方法创建Statement 。 JDBC1.0 : createStatement() JDBC2.0 : createStatement(resultSetType, resultSetConcurrency) JDBC3.0 : c 阅读全文
posted @ 2017-11-15 11:14 有梦就能实现 阅读(4431) 评论(0) 推荐(4) 编辑
摘要:描述: 这个方法有两个变体并测试如果一个字符串开头的指定索引指定的前缀或在默认情况下从字符串开始位置。 语法 此方法定义的语法如下: 参数 这里是参数的细节: prefix -- 要匹配的前缀。 toffset -- 从哪里开始寻找字符串。 prefix -- 要匹配的前缀。 toffset -- 阅读全文
posted @ 2017-11-15 10:54 有梦就能实现 阅读(3119) 评论(0) 推荐(1) 编辑
摘要:编辑 删除 声明:ArrayList a, 仅仅只是声明了一个list变量,其未来作用相当于C++中的引用变量,亦或者相当于一个对象块的索引,但并未为其分配具体的完整的对象所需要的内存空间,其所分配的空间仅仅只是"a"变量所需空间; 编辑 删除 声明:ArrayList a, 仅仅只是声明了一个li 阅读全文
posted @ 2017-11-15 10:39 有梦就能实现 阅读(87905) 评论(0) 推荐(2) 编辑
摘要:正则表达式定义了字符串的模式。 正则表达式可以用来搜索、编辑或处理文本。 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。 正则表达式实例 一个字符串其实就是一个简单的正则表达式,例如 Hello World 正则表达式匹配 "Hello World" 字符串。 .(点号)也是一个正则 阅读全文
posted @ 2017-11-15 10:37 有梦就能实现 阅读(255) 评论(0) 推荐(0) 编辑
摘要:1 开发一个注重性能的JDBC应用程序不是一件容易的事. 当你的代码运行很慢的时候JDBC驱动程序并不会抛出异常告诉你。 本系列的性能提示将为改善JDBC应用程序的性能介绍一些基本的指导原则,这其中的原则已经被许多现有的JDBC应用程序编译运行并验证过。 这些指导原则包括: 正确的使用数据库Meta 阅读全文
posted @ 2017-11-14 22:02 有梦就能实现 阅读(365) 评论(0) 推荐(0) 编辑
摘要:系统性能. 少用Metadata方法 与其它的JDBC方法相比, 由ResultSet对象生成的metadata对象的相对来说是很慢的. 应用程序应该缓存从ResultSet返回的metadata信息,避免多次不必要的执行这个操作. 几乎没有哪一个JDBC应用程序不用到metadata,虽然如此,你 阅读全文
posted @ 2017-11-14 21:59 有梦就能实现 阅读(4565) 评论(0) 推荐(1) 编辑
摘要:相比Hibernate、iBatis、DBUtils等,理论上JDBC的性能都超过它们。JDBC提供更底层更精细的数据访问策略,这是Hibernate等框架所不具备的。 在一些高性能的数据操作中,越高级的框架越不适合使用。这里是我在开发中对JDBC使用过程中一些优化经验总结。 1、选择纯Java的J 阅读全文
posted @ 2017-11-14 21:57 有梦就能实现 阅读(380) 评论(0) 推荐(0) 编辑
摘要:最近用到了利用JDBC查询Oracle数据库。可是查询效率不尽人意。研究了一下JDBC方面能够优化的地方,在这里跟大家分享一下。 1.设置最优的预取值 defaultRowPrefetch:预取条数默认值 defaultBatchValue:触发查询操作的批量请求值 这两个參数的默认值都是10。我们 阅读全文
posted @ 2017-11-14 21:54 有梦就能实现 阅读(2965) 评论(0) 推荐(0) 编辑
摘要:在Statement和ResultSet接口中都有setFetchSize方法 void setFetchSize(int rows) throws SQLException 查看API文档 Statement接口中是这样解释的: 为 JDBC 驱动程序提供一个提示,它提示此 Statement 生 阅读全文
posted @ 2017-11-14 21:46 有梦就能实现 阅读(1397) 评论(0) 推荐(0) 编辑
摘要:在我们的项目开发中,可能有把SQL查询的结果保存到CSV然后提供下载的功能。当查询的结果集相当大的时候,很容易报内存不足错误(outofmemory)。那该怎么解决这种情况的内存不足错误呢? 其实在JAVA的Statement中提供的方法可以解决这个问题。 setMaxRows (int max)  阅读全文
posted @ 2017-11-14 21:45 有梦就能实现 阅读(822) 评论(0) 推荐(0) 编辑
摘要:一直很纠结,Oracle的快速返回机制,虽然结果集很多,可是它能很快的显示第一个结果,虽然通过MYSQl的客户端可以做到,但是通过JDBC却不行。 今天用了1个多小时,终于搞定此问题,希望对广大Java朋友在处理数据库时有个参考。 来由: 通过命令行客户端加上-q参数,可以极快的响应一个查询。 比如 阅读全文
posted @ 2017-11-14 21:40 有梦就能实现 阅读(3421) 评论(0) 推荐(0) 编辑
摘要:你是否正打算优化hashCode()方法?是否想要绕开正则表达式?Lukas Eder介绍了很多简单方便的性能优化小贴士以及扩展程序性能的技巧。 最近“全网域(Web Scale)”一词被炒得火热,人们也正在通过扩展他们的应用程序架构来使他们的系统变得更加“全网域”。但是究竟什么是全网域?或者说如何 阅读全文
posted @ 2017-11-14 20:23 有梦就能实现 阅读(724) 评论(0) 推荐(0) 编辑
摘要:前言 代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时 阅读全文
posted @ 2017-11-14 20:18 有梦就能实现 阅读(268) 评论(0) 推荐(0) 编辑
摘要:摘要:系统优化一个方面是系统化的对IT系统或交易链上的每个环节进行分析并优化,另一个是对单一系统进行瓶颈点分析和调优。优化的目标无非是:提高系统的响应速度、吞吐量、降低各层耦合,以应对灵活对边的市场。 1什么是系统优化 系统优化一个方面是系统化的对IT系统或交易链上的每个环节进行分析并优化,另一个是 阅读全文
posted @ 2017-11-14 19:44 有梦就能实现 阅读(421) 评论(0) 推荐(0) 编辑
摘要:“你的Java应用程序的性能是怎样诊断和优化的?不妨看看这两位西医的方子。如果你有更好疗效的药方,也欢迎在评论区告诉我们。 当我在帮助一些开发者或架构师分析及优化Java应用程序的性能时,关键往往不在于对个别方法进行微调,以节省一或两微秒的执行时间。虽然对某些软件来说,微秒级的优化确实非常重要,但我 阅读全文
posted @ 2017-11-14 19:41 有梦就能实现 阅读(1983) 评论(0) 推荐(0) 编辑
摘要:JDBC是Java为多种关系型数据库提供的统一的访问接口,以下是我长期使用JDBC总结的十个最佳实践。 1. 使用PrearedStatement 任何一个使用过JDBC的Java程序员几乎都知道这个,PreparedStatment可以通过预编译的方式避免我们在拼接SQL时造成SQL注入。 2. 阅读全文
posted @ 2017-11-14 19:27 有梦就能实现 阅读(212) 评论(0) 推荐(0) 编辑
摘要:说明:Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); 通用格式为:Statement stmt=con.createStatement(int ty 阅读全文
posted @ 2017-11-14 18:35 有梦就能实现 阅读(418) 评论(0) 推荐(0) 编辑
摘要:昨天在项目中需要对日志的查询结果进行导出功能。 日志导出功能的实现是这样的,输入查询条件,然后对查询结果进行导出。由于日志数据量比较大。多的时候,有上亿条记录。 之前的解决方案都是多次查询,然后使用limit 限制每次查询的条数。然后导出。这样的结果是效率比较低效。 那么能不能一次查询就把所有结果倒 阅读全文
posted @ 2017-11-14 18:34 有梦就能实现 阅读(554) 评论(0) 推荐(0) 编辑
摘要:通用格式为:Statement stmt=con.createStatement(int type,int concurrency);我们在访问数据库的时候,在读取返回结果的时候,可能要前后移动指针,比如我们先计算有多少条信息,这是我们就需要把指针移到最后来计算,然后再把指针移到最前面,逐条读取,有 阅读全文
posted @ 2017-11-14 18:21 有梦就能实现 阅读(232) 评论(0) 推荐(0) 编辑
摘要:Java 中replaceAll如何忽略大小写呢? 方式一:在正则表达式前面添加(?i) Java代码 @Test public void test_replaceAll33(){ String input = "I like Java,jAva is very easy and jaVa is s 阅读全文
posted @ 2017-11-14 15:34 有梦就能实现 阅读(1858) 评论(0) 推荐(0) 编辑
摘要:由于公司提供的分页控件需要我使用top子句,而且有必要将查询到的记录全部取出,确发现不能排序,sql语句如下: SELECT TOP 15 * FROM( SELECT TOP (100) PERCENT * FROM ( SELECT a.recID, a.eventLevel, a.srcIP, 阅读全文
posted @ 2017-11-14 14:54 有梦就能实现 阅读(421) 评论(0) 推荐(0) 编辑
摘要:sql="select top 30 * from data where title='"&title1&"' order by id desc" 原意是选出符合“where 条件”的记录集里的“前30条” 但是,对于该SQL语句,由于语句里同时存在where和top语句的,并且where条件列不是 阅读全文
posted @ 2017-11-14 14:52 有梦就能实现 阅读(1613) 评论(0) 推荐(0) 编辑
摘要:/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or . */ packa... 阅读全文
posted @ 2017-11-14 00:07 有梦就能实现 阅读(1167) 评论(0) 推荐(0) 编辑
摘要:/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or . */ packa... 阅读全文
posted @ 2017-11-14 00:00 有梦就能实现 阅读(340) 评论(0) 推荐(0) 编辑
摘要:1. 背景 最近有一个客户遇到一个奇怪的问题,以前使用ROW_NUMBER来分页结果是正确的,但是替换为SQL SERVER 2012的OFFSET...FETCH NEXT来分页出现了问题,因此,这里简单分析一下原因,更深层次的原因还没有确切的结论,但可以提供解决办法。 在升级数据库后并且应用新功 阅读全文
posted @ 2017-11-13 23:53 有梦就能实现 阅读(3074) 评论(2) 推荐(1) 编辑
摘要:最近在网上看到不少文章介绍使用SQL Server 2012的新特性:OFFSET/FETCH NEXT 实现分页。多数文章都是引用或者翻译的这一篇《SQL Server 2012 - Server side paging demo using OFFSET/FETCH NEXT》,原文地址。 邀月 阅读全文
posted @ 2017-11-13 23:48 有梦就能实现 阅读(1056) 评论(0) 推荐(0) 编辑
摘要:简介 SQL Server 2012中在Order By子句之后新增了OFFSET和FETCH子句来限制输出的行数从而达到了分页效果。相比较SQL Server 2005/2008的ROW_Number函数而言,使用OFFSET和FETCH不仅仅是从语法角度更加简单,并且拥有了更优的性能(看到很多人 阅读全文
posted @ 2017-11-13 23:44 有梦就能实现 阅读(236) 评论(0) 推荐(0) 编辑
摘要:直接让代码了,对比看看就了解了 当然,这种情况比较适合提取字段较多的情况,要酌情而定 性能较差的: WITH #temp AS ( Select column1,column2,column3,column4,column5,column6,column7,column8,column9,colum 阅读全文
posted @ 2017-11-13 23:34 有梦就能实现 阅读(353) 评论(0) 推荐(0) 编辑
摘要:最近在分析 Sql Server 2012 中 offset and fetch 的新特性,发现 offset and fetch 无论语法的简洁还是功能的强大,都是相当相当不错的。其中 offset and fetch 最重要的新特性是 用来 分页,既然要分析 分页,就肯定要和之前的分页方式来比较 阅读全文
posted @ 2017-11-13 23:33 有梦就能实现 阅读(530) 评论(0) 推荐(0) 编辑
摘要:今天无聊和朋友讨论分页,发现网上好多都是错的。网上经常查到的那个Top Not in 或者Max 大部分都不实用,很多都忽略了Order和性能问题。为此上网查了查,顺带把2000和2012版本的也补上了。 先说说网上常见SQL的错误或者说局限问题 1 2 3 4 5 select top 10 * 阅读全文
posted @ 2017-11-13 23:28 有梦就能实现 阅读(311) 评论(0) 推荐(1) 编辑
摘要:最近有项目反应,在服务器CPU使用较高的时候,我们的事件查询页面非常的慢,查询几条记录竟然要4分钟甚至更长,而且在翻第二页的时候也是要这么多的时间,这肯定是不能接受的,也是让现场用SQLServerProfiler把语句抓取了上来。 用ROW_NUMBER()进行分页 我们看看现场抓上来的分页语句: 阅读全文
posted @ 2017-11-13 23:22 有梦就能实现 阅读(195) 评论(0) 推荐(0) 编辑
摘要:首先感谢网友@aixuexi 在评论中的提醒,原博文介绍的几种都不是最高效,现已修改加入另一种更高效的方法。 以前都是使用mysql和oracle,对sqlserver的使用不多。最近因项目原因,要读取其他项目的数据库,取出某个门的开关历史记录,而对方使用的是sqlserver,所以研究起了sqls 阅读全文
posted @ 2017-11-13 22:52 有梦就能实现 阅读(682) 评论(0) 推荐(0) 编辑
摘要:package com.github.miemiedev.mybatis.paginator.dialect; import com.github.miemiedev.mybatis.paginator.domain.PageBounds; import org.apache.ibatis.mapping.MappedStatement; /** * * @author badqiu ... 阅读全文
posted @ 2017-11-12 21:35 有梦就能实现 阅读(3530) 评论(0) 推荐(0) 编辑
摘要:Mybatis极其(最)简(好)单(用)的一个分页插件 原创 2014年04月16日 12:32:24 标签: mybatis / 分页插件 / 拦截器 163875 原创 2014年04月16日 12:32:24 标签: mybatis / 分页插件 / 拦截器 163875 分页插件示例:htt 阅读全文
posted @ 2017-11-12 21:27 有梦就能实现 阅读(198) 评论(0) 推荐(0) 编辑
摘要:Hibernate 可以实现分页查询 如下Query q = session.createQuery("from Cat as c");q.setFirstResult(10000);q.setMaxResults(20);List l = q.list();生成的sql 语句为select top 阅读全文
posted @ 2017-11-12 21:22 有梦就能实现 阅读(213) 评论(0) 推荐(0) 编辑
摘要:一、hibernate分页 hibernate对MsSql的伪分页 分页是web项目中比不可少的一个功能,数据量大的时候不能全部展示必然要用到分页技术。相信大家对hibernate中的分页都不陌生: Java代码 public Query setMaxResults(int maxResults); 阅读全文
posted @ 2017-11-12 21:18 有梦就能实现 阅读(1697) 评论(0) 推荐(0) 编辑
摘要:场景 我用的数据库是mysql5.6,下面简单的介绍下场景 课程表 create table Course( c_id int PRIMARY KEY, name varchar(10) ) 数据100条 学生表: create table Student( id int PRIMARY KEY, 阅读全文
posted @ 2017-11-12 21:09 有梦就能实现 阅读(189) 评论(0) 推荐(0) 编辑
摘要:目前SQL Server 的索引结构如下: 这个是聚集索引的存放形式: 非聚集索引的方式如下: 它们是以B+树的数据结构存放的。 相信大家都看过类似的图,但是没有直观的认识,下面举一个实际的例子来说明图的结构。 1 2 3 4 5 6 7 8 9 10 11 USE Test --1.创建表,指定主 阅读全文
posted @ 2017-11-12 20:59 有梦就能实现 阅读(297) 评论(0) 推荐(0) 编辑
摘要:SQL索引优化 序言数据库的优化方法有很多种,在应用层来说,主要是基于索引的优化。本次秘笈根据实际的工作经验,在研发原来已有的方法的基础上,进行了一些扩充,总结了基于索引的SQL语句优化的降龙十八掌,希望有一天你能用其中一掌来驯服客服业务中横行的‘恶龙’总纲建立必要的索引这次传授的降龙十八掌,总纲只 阅读全文
posted @ 2017-11-12 20:38 有梦就能实现 阅读(584) 评论(0) 推荐(0) 编辑
摘要:索引最佳实践 在使用索引时,我们可以通过explain+extended查看SQL的执行计划,判断是否使用了索引以及发生了隐式转换。 由于常见的隐式转换是由字段数据类型以及collation定义不当导致,因此我们在设计开发阶段,要避免数据库字段定义,避免出现隐式转换。 由于MySQL不支持函数索引, 阅读全文
posted @ 2017-11-12 20:34 有梦就能实现 阅读(197) 评论(0) 推荐(0) 编辑
摘要:按照本文操作和体会,会对sql优化有个基本最简单的了解,其他深入还需要更多资料和实践的学习: 1. 建表: 复制代码代码如下: create table site_user ( id int IDENTITY(1,1) PRIMARY KEY, [name] varchar(20), code va 阅读全文
posted @ 2017-11-12 20:26 有梦就能实现 阅读(1695) 评论(0) 推荐(0) 编辑
摘要:索引的原理与作用,各种书籍和网络上的介绍可以说是铺天盖地,基本上主流数据库系统的也都是一致的。选择索引字段的原则,比如外键字段、数据类型较小的字段、经常用于查询或排序的字段、表关联的字段等等,在此不做赘述。本人在工作中见到过很多人创建的索引,回想自己以前也会有理论知识空洞的体会,总感觉理论知识无法与 阅读全文
posted @ 2017-11-12 20:13 有梦就能实现 阅读(291) 评论(0) 推荐(0) 编辑
摘要:索引的原理与作用,各种书籍和网络上的介绍可以说是铺天盖地,基本上主流数据库系统的也都是一致的。选择索引字段的原则,比如外键字段、数据类型较小的字段、经常用于查询或排序的字段、表关联的字段等等,在此不做赘述。本人在工作中见到过很多人创建的索引,回想自己以前也会有理论知识空洞的体会,总感觉理论知识无法与 阅读全文
posted @ 2017-11-12 20:05 有梦就能实现 阅读(428) 评论(0) 推荐(0) 编辑
摘要:1.查询的模糊匹配 尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用. 解决办法: 其实只需要对该脚本略做改进,查询速度便会提高近百倍。改进方法如下: a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列 阅读全文
posted @ 2017-11-12 19:41 有梦就能实现 阅读(205) 评论(0) 推荐(0) 编辑
摘要:地址:https://visualvm.dev.java.net/ 连接 1、本地机器的程序直接可以监听到 2、远程机器的程序需要加上JVM参数 -Dcom.sun.management.jmxremote= true -Dcom.sun.management.jmxremote.port= 909 阅读全文
posted @ 2017-11-09 16:36 有梦就能实现 阅读(702) 评论(0) 推荐(0) 编辑
摘要:JDK自带的JAVA性能分析工具。它已经在你的JDK bin目录里了,只要你使用的是JDK1.6 Update7之后的版本。点击一下jvisualvm.exe图标它就可以运行了。 这里是VisualVM 的官方网站:https://visualvm.dev.java.net,资料很全,同时提供Vis 阅读全文
posted @ 2017-11-09 16:33 有梦就能实现 阅读(5506) 评论(0) 推荐(0) 编辑
摘要:一、JVisualVM能做什么 VisualVM 是Netbeans的profile子项目,已在JDK6.0 update 7 中自带(java启动时不需要特定参数,监控工具在bin/jvisualvm.exe),能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看 阅读全文
posted @ 2017-11-09 16:30 有梦就能实现 阅读(7829) 评论(1) 推荐(1) 编辑
摘要:概述 开发大型 Java 应用程序的过程中难免遇到内存泄露、性能瓶颈等问题,比如文件、网络、数据库的连接未释放,未优化的算法等。随着应用程序的持续运行,可能会造成整个系统运行效率下降,严重的则会造成系统崩溃。为了找出程序中隐藏的这些问题,在项目开发后期往往会使用性能分析工具来对应用程序的性能进行分析 阅读全文
posted @ 2017-11-09 16:28 有梦就能实现 阅读(272) 评论(0) 推荐(0) 编辑
摘要:package zs; import java.io.BufferedInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOExce... 阅读全文
posted @ 2017-11-09 14:57 有梦就能实现 阅读(32055) 评论(1) 推荐(1) 编辑
摘要:熟悉Java的朋友应该知道Java有一个叫序列化的技术,即把一个Object转换为可保存,可传输的流数据。相应的,同时存在反序列化,即将流数据转换为Object类,而在转换的过程中,该Object保持者其自身的状态。不会应该序列化或者反序列化而丢失。通常在缓存中,RPC(远程调用),或者长久保存会话 阅读全文
posted @ 2017-11-09 14:50 有梦就能实现 阅读(795) 评论(0) 推荐(0) 编辑
摘要:序列化和反序列化是在应对网络编程最常遇到的问题之一。 序列化就是将Java Object转成byte[];反序列化就是将byte[]转成Java Object。 这里不介绍JDK serializable的序列化方式,而是介绍一个更高效的序列化库-protostuff。 Protostuff简介 P 阅读全文
posted @ 2017-11-09 14:46 有梦就能实现 阅读(433) 评论(0) 推荐(0) 编辑
摘要:目录 背景 测试 环境 工具 说明 结果 结论 xstream简单教程 准备 代码 protobuf简单教程 快速入门 下载.exe编译器 编写.proto文件 利用编译器编译.proto文件生成javabean 引用jar包 直接使用javabean自带的序列化、反序列化、提取属性等方法 prot 阅读全文
posted @ 2017-11-09 14:46 有梦就能实现 阅读(384) 评论(0) 推荐(0) 编辑
摘要:今天用redis存储,发现客户端jedis提供的存储方法中存储的类型只有String和byte数据,没有能够存储对象的,网上发现可以序列化存储对象。这就开始了我第一次序列化之旅。 1 测试类 import redis.clients.RedisClinet; import redis.clients 阅读全文
posted @ 2017-11-08 08:55 有梦就能实现 阅读(881) 评论(0) 推荐(0) 编辑
摘要:Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例。final经常和static一起使用来声明常量,你也会看到final是如何 阅读全文
posted @ 2017-11-08 08:55 有梦就能实现 阅读(478) 评论(0) 推荐(0) 编辑
摘要:一、到目前为止(jedis-2.2.0.jar),在Jedis中其实并没有提供这样的API对对象,或者是List对象的直接缓存,即并没有如下类似的API jedis.set(String key, Object value) jedis.set(String key, List<M> values) 阅读全文
posted @ 2017-11-08 08:54 有梦就能实现 阅读(17856) 评论(2) 推荐(0) 编辑
摘要:转载自:http://www.rigongyizu.com/jvm-max-threads/ 有应用报出这样的异常“java.lang.OutOfMemoryError: unable to create new native thread”。甚至机器上执行shell命令也会报”-bash: for 阅读全文
posted @ 2017-11-08 08:52 有梦就能实现 阅读(2998) 评论(0) 推荐(0) 编辑
摘要:基本功能测试 1、程序基本结构 2、主要类 1)功能类 2)测试类 3、各个功能函数 1)key功能 运行结果: 2)String功能 运行结果: 3)List功能 运行结果: 4)Set功能 运行结果: 5)SortedSet功能(有序集合) 运行结果: 6)Hash功能 运行结果: 三、常用命令 阅读全文
posted @ 2017-11-08 08:52 有梦就能实现 阅读(3469) 评论(0) 推荐(0) 编辑
摘要:Java精确测量代码运行时间: long startTime = System.nanoTime(); //開始時間 for(int i = 0;i<10000;i++){ ; } long consumingTime = System.nanoTime() - startTime; //消耗時間 阅读全文
posted @ 2017-11-08 08:51 有梦就能实现 阅读(1783) 评论(0) 推荐(0) 编辑
摘要:关键词: java 毫秒 微秒 纳秒 System.currentTimeMillis() 误差 在对新写的超快xml解析器和xpath引擎进行效率测试时,为获取执行时间,开始也没多想就用了System.currentTimeMillis() 来做的。由此碰到一个极其诡异的问题,同样的代码循环执行数 阅读全文
posted @ 2017-11-08 08:50 有梦就能实现 阅读(872) 评论(0) 推荐(0) 编辑
摘要:目录 使用synchronized实现同步方法 使用非依赖属性实现同步 在同步块中使用条件(wait(),notify(),notifyAll()) 使用锁实现同步 使用读写锁实现同步数据访问 修改锁的公平性 在锁中使用多条件(Multri Condition) 正文 多个执行线程共享一个资源的情景 阅读全文
posted @ 2017-11-07 10:53 有梦就能实现 阅读(585) 评论(0) 推荐(0) 编辑
摘要:前面一篇博客的IO被称为经典IO,因为他们大多数都是从Java1.0开始就有了的;然后今天这篇博客是关于NIO的,所以的NIO其实就是JDK从1.4开始,Java提供的一系列改进的输入/输出处理的新功能,这些新功能被统称为新IO(New IO ,简称NIO)。另一个概念对象序列化指的是将那些实现了S 阅读全文
posted @ 2017-11-06 22:57 有梦就能实现 阅读(427) 评论(0) 推荐(0) 编辑
摘要:内存映射文件能让你创建和修改那些因为太大而无法放入内存的文件。有了内存映射文件,你就可以认为文件已经全部读进了内存,然后把它当成一个非常大的数组来访问。这种解决办法能大大简化修改文件的代码。fileChannel.map(FileChannel.MapMode mode, long position 阅读全文
posted @ 2017-11-06 22:29 有梦就能实现 阅读(632) 评论(0) 推荐(0) 编辑
摘要:在软件系统中,IO速度比内存速度慢,IO读写在很多情况下会是系统的瓶颈。 在java标准IO操作中,InputStream和OutputStream提供基于流的IO操作,以字节为处理单位;Reader和Writer实现了Buffered缓存,以字符为处理单位。 从Java1.4开始,增加NIO(Ne 阅读全文
posted @ 2017-11-06 22:19 有梦就能实现 阅读(492) 评论(0) 推荐(0) 编辑
摘要:Redis是一个超精简的基于内存的键值对数据库(key-value),一般对并发有一定要求的应用都用其储存session,乃至整个数据库。不过它公自带一个最小化的命令行式的数据库管理工具,有时侯使用起来并不方便。不过Github上面已经有了很多图形化的管理工具,而且都针对REDIS做了一些优化,如自 阅读全文
posted @ 2017-11-06 21:16 有梦就能实现 阅读(402) 评论(0) 推荐(0) 编辑
摘要:网上介绍序列化压缩的用gzip比较多。写个测试代码,测试一下四种序列化方式: 无压缩 zlib压缩 gzip压缩 zip压缩 测例结果显示压缩效果:gzip压缩 > zlib压缩 > zip压缩 > 无压缩 测例结果显示压缩速度:zlib压缩 > gzip压缩 > zip压缩 = 无压缩 确实用gz 阅读全文
posted @ 2017-11-06 16:23 有梦就能实现 阅读(718) 评论(0) 推荐(0) 编辑
摘要:对象的输入输出流 : 主要的作用是用于写入对象信息与读取对象信息。 对象信息一旦写到文件上那么对象的信息就可以做到持久化了 对象的输出流: ObjectOutputStream 对象的输入流: ObjectInputStream 使用: 对象的输出流将指定的对象写入到文件的过程,就是将对象序列化的过 阅读全文
posted @ 2017-11-06 16:20 有梦就能实现 阅读(742) 评论(0) 推荐(0) 编辑
摘要:摘要: 本文大多技术围绕调整磁盘文件 I/O,但是有些内容也同样适合网络 I/O 和窗口输出。 第一部分技术讨论底层的I/O问题,然后讨论诸如压缩,格式化和串行化等高级I/O问题。然而这个讨论没有包含应用设计问题,例如搜索算法和数据结构,也没有讨论系统级的问题,例如文件高速缓冲。 Java语言采取两 阅读全文
posted @ 2017-11-06 15:56 有梦就能实现 阅读(344) 评论(0) 推荐(0) 编辑
摘要:SQLServer性能优化专题 01.SQLServer性能优化之 强大的文件组 分盘存储(水平分库) http://www.cnblogs.com/dunitian/p/5276431.html 02.SQLServer性能优化之 水平分库扩展 http://www.cnblogs.com/dun 阅读全文
posted @ 2017-11-06 14:22 有梦就能实现 阅读(246) 评论(0) 推荐(0) 编辑
摘要:java.io.ObjectOutputStream.writeObject(Object obj) 方法将指定对象写入ObjectOutputStream。该对象的类,类的签名,以及类及其所有超类型的非瞬态和非静态字段的值被写入。默认的序列化的类可以使用writeObject和readObject 阅读全文
posted @ 2017-11-06 14:12 有梦就能实现 阅读(5605) 评论(0) 推荐(0) 编辑
摘要:基本概念 1、网站吞吐量:TPS/每秒的事务数,QPS/每秒的查询数,HPS/每秒的HTTP请求数 2、服务器性能指标:系统负载,内存使用,CPU使用,磁盘使用以及网络I/O等 前端优化方法 1、减少HTTP请求:通过将多个前端资源合并成一个实现减少HTTP请求提高性能。 2、设置响应头字段是部分及 阅读全文
posted @ 2017-11-04 00:50 有梦就能实现 阅读(250) 评论(0) 推荐(0) 编辑
摘要:随着互联网技术以及软硬件技术的快速发展,网络已经成为人们生活中不可或缺的一部分,在长期的互联网冲浪中,网民对网络信息的辨识度日益增进,网络信息提供方也必须与时俱进,抓住用户的要害。 就拿我们淘宝的业务来看,几年前看到最多的是以商品为维度分类、分层;而现在,一切以人为中心,围绕用户做产品,帮助用户挖掘 阅读全文
posted @ 2017-11-04 00:47 有梦就能实现 阅读(541) 评论(0) 推荐(0) 编辑
摘要:上文 《一起来看看淘宝首页的个性化》 中,带大家看了下弥散着个性化味道的新首页,前端面临着: 数据来源多 串行请求渲染一个模块 运营数据和个性化数据匹配和管理 数据兜底容灾 等多个问题。本次淘宝首页改版,虽已不再支持 IE6 和 IE7 等低版本的古董浏览器,但是依然存在多个影响首页性能的因素: 依 阅读全文
posted @ 2017-11-04 00:45 有梦就能实现 阅读(376) 评论(0) 推荐(0) 编辑
摘要:使用Axis2这个框架进行webservice协议通讯,期间出了个问题,我(CLIENT)请求后,当服务端返回符合协议的SOAP异常报文,例如<soap:fault> ... 我的程序直接抛org.apache.axis2.AxisFault异常,导致连服务端给我们的报文都没有接收成功。 --请注意 阅读全文
posted @ 2017-11-03 18:50 有梦就能实现 阅读(14412) 评论(1) 推荐(2) 编辑
摘要:目录: 0×00、什么是Acunetix Web Vulnarability Scanner ( What is AWVS?) 0×01、AWVS安装过程、主要文件介绍、界面简介、主要操作区域简介(Install AWVS and GUI Description) 0×02、AWVS的菜单栏、工具栏 阅读全文
posted @ 2017-11-01 10:40 有梦就能实现 阅读(2113) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示