- 博客(29)
- 问答 (4)
- 收藏
- 关注
原创 Oracle——关于for update的锁表与解锁
前传:上周工作时,犯了件蠢事,select数据的时候加入了for update却忘记了加条件,测试环境的数据过多,查询时间太长,于是就把这个进程给kill了,结果造成了锁表。结论:for update语句一旦运行就会把表锁住,防止他人和你一同更改,第二个连接进来再进行select 。。。for update会造成阻塞,即第二个连接无法查询出数据。在前传中,我将进程kill了,但是没有提交该事物,所以
2017-10-22 16:16:03
7712
原创 《坚持与自由》——读明朝那些事儿有感
历时两年的时间,中间也读了一些其他感兴趣的书,断断续续的,才看完了《明朝那些事儿》。贪玩了这么多人,这本书是我回过神来坚持读的时间最长的一套书,共九册。有很多话,在这里记录下来。 在历史长河的每个角落里,总有那么一种人,无论时局如何,无论对手多强,无论希望多么渺茫,他们绝不妥协。 而妥协是现实的,退让是有好处的,但坚持往往才是正确的。 可能有人要讲,这是一种对自由的束缚,是一
2017-09-27 01:40:10
773
2
原创 JAVA设计模式——命令模式
一句话解释命令模式,通过理解命令这个词就可以了,我们去命令别人做这件事,而并非自己亲自去执行,那么就叫做命令模式。命令模式通过封装过程为对象——Command类来实现。通常,我们都会使请求直接调用他的处理类,通过命令模式我们可以封装过程,从而可以对这个请求过程进行设定,达到我们想要的结果。例如,对Command类中添加线程池,设定超时时间,熔断机制等。示例/** * 真正对请求做出处理的类(接
2017-09-01 00:20:49
222
原创 缓存击穿
何为缓存击穿缓存击穿,指当一个请求访问我们的应用获取一个在缓存中不存在,在数据库中也不存在的值时,每次都既访问缓存也访问数据库,浪费了响应的时间,也使系统压力大增。有心者可以利用这个BUG来通过一个不存在的key不断请求我们的应用,占用我们的系统资源,造成系统崩溃。解决办法:如果这个数据在数据库中也不存在,就在缓存中创建一个新的对象,那么下次再请求这个数据就会在缓存中先查到,直接返回给对方
2017-08-29 23:08:32
292
原创 Redis学习
Redis介绍PS:视频中在谈链表的时候提到一点关于栈和队列的,形容的非常形象。 栈就好像一个桶,是上通下堵的,所以为先进后出。 而队列是一个没底的桶,上面进下面出,所以先进先出。Redis其实就是NoSQL数据库的一种表现,是一种键值(key-value)数据库。Redis是一个开源的,先进的key-value存储。它通常被称为数据结构服务器,因为键可以包含字符串、哈希、链表
2017-07-10 23:41:34
286
原创 Mybatis学习
一、使用注解配置SQL语句采用注解的方式在接口中就可以写SQL语句了,省略了写mapper映射文件,代码如下public interface UserDao { @Select("select * from t_user where userId = #{id}") public User findUser(User user); public void addUser(User
2017-06-05 17:03:54
285
原创 BUG总结
1. Jquery的jar包发生404错误由于在项目当中使用了springMVC框架,而忽略了springMVC框架会拦截静态资源的原因发而发生了该错误。其实在配置时已经配置了不拦截resources目录下的资源,但是配置当中把locations和mapping的内容写反了,locations应该写/resources,mapping应该写/resources/**
2017-04-17 09:15:09
334
原创 int float double BigDecimal
float和double的区别单精度浮点数(float)与双精度浮点数(double)的区别如下:(1)在内存中占有的字节数不同单精度浮点数在机内占4个字节双精度浮点数在机内占8个字节(2)有效数字位数不同单精度浮点数有效数字8位双精度浮点数有效数字16位(3)所能表示数的范围不同单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38双精度浮点的表示范围:-1.79E+308 ~ +1
2017-04-05 15:42:41
586
转载 HttpServletRequest和ServletRequest
问题: 请问HttpServletRequest和ServletRequest的区别?回答:servlet理论上可以处理多种形式的请求响应形式 http只是其中之一所以HttpServletRequest、 HttpServletResponse分别是ServletRequest和ServletResponse的子类参考阅读:HttpServletRequest和ServletRequest都是
2017-03-25 15:29:43
377
转载 什么是AOP?AOP面向切面编程
面向切面编程AOP(Aspect-Oriented Programming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需 要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左
2017-03-23 00:09:52
2429
原创 Spring事务管理
事务事务的传播机制1、PROPAGATION_REQUIRED:如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是 最常见的选择。 A方法配有这个事务,B方法也配有这个事务,A方法调用B方法的时候,B方法会加入到A方法的事务当中;如果是B方法单独调用就新建一个事务2、 PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。 在
2017-03-21 20:14:06
742
转载 修改struts的扩展名
方法一: 配置struts.xml 文件内容: //注意这里 /test/helloWord.jsp 方法二: 在struts.properties 文件中加入一行配置信息:struts.action.extension=json方法三: 在web.xml文件中给filter加上init-param属性,代码如下所示 struts2 org
2017-03-18 15:55:06
308
原创 关于多线程
进程在了解线程之前,我们要首先了解进程,那么进程是什么呢? 进程,顾名思义,就是进行中的程序,当前正在运行的程序。 当我们同时在运行多个程序的时候,其实,CPU是在一会执行程序1,一会执行程序2,一会执行程序3,CPU在多个程序之间快速的切换执行。再举个例子,例如迅雷,我们可以同时下载多个文件。一个进程当中,有可能会出现多条执行路径。例如,下载一个文件,我们可以把一个文件的下载从五个起点开始,这
2017-02-24 00:09:54
234
原创 Oracle学习阶段总结
呼~因为种种事情吧,原计划一周学完的oracle数据库用了两周的时间,很惭愧啊,这种学校效率真的差劲,通过的oracle的学习,学到了很多关于数据库的底层的一些知识,以前在学习mysql和sqlserver的时候,都只是简单了解了建表和增删改查一类的sql语句,对于底层的东西一窍不通,受益良多,再接再厉啊!下一步,可能就没有那么多的时间去学习自己想学的知识了,还有四天的时间就要去研究所上班了,可能刚
2016-12-21 23:42:41
417
原创 Oracle,day10,让性能更优秀
Oracle初始化参数Oracle数据库系统中起到调节作用的参数叫做初始化参数。在Oracle 8i及以前的版本中,这些初始化参数记录在initSID. ora文件中,此文件又称静态初始化文件。而在Oracle9i及后续版本中,这些参数都记录在spfileSID. ora_进制文件中,此文件又称服务器参数文件。下面我们主要介绍初始化参数的用法与SPFILE文件的关系。
2016-12-18 20:31:28
546
原创 Oracle,day9,游标和触发器
前言:昨天去中移在线面试了,问的东西很底层,回答的并不好,哎,又没戏了赶脚。。而且还晕车了,昨天什么都没有学,讲道理爱学习的我应该是非常懊恼的,但是为什么心里有一种莫名的快感[爽!],哈哈,不能颓废啊,让我们开始吧!游标SQL语言是面向集合的,是对指定列的操作。如果要对列中的指定行进行操作,就必须使用游标。当在PL/SQL块中执行查询语句(select)和数据操纵语句(DML)时,Oracle会为其
2016-12-13 20:16:26
1241
原创 Oracle,day8,开发程序和包
前言:今天早上参加了中移在线的一个线上评测,对于测试题目的反应和思路感觉都不太清晰,哎,思维灵敏度还需要锻炼啊。子程序子程序是指被命名的PL/SQL块,这种块可以带有参数,可以在不同应用中被多次调用,其实也就是可以保存。通过将商业逻辑和企业规则集成到PL/SQL子程序中,可以简化客户端应用的开发和维护,提高应用的性能。PL/SQL有两种类型的子程序:过程和函数。过程就包含了函数。 过程用于执行特定
2016-12-10 19:52:47
262
原创 Oracle,day7,异常处理和事务
异常PL/SQL异常是指通过编译的PL/SQL程序在运行时产生的错误。导致异常的原因较多,如内存用尽、硬件故障、违反表的完整性约束、设计缺陷等。PL/SQL提供了异常错误处理机制,可以帮助实现对错误的捕获和处理。当异常发生时,PL/SQL会自动地捕获异常并将程序控制流程转移到异常处理部分的程序。格式:exception when 异常错误名称1 [or 异常错误名称2] then
2016-12-09 16:39:01
588
原创 Oracle,day6,PL/SQL流程控制
条件控制if形式:if 条件表达式 then 语句段end if;if…else形式:if 条件表达式 then 语句段1else 语句段2end if;多重if…else形式:if 条件表达式1 then 语句段1elsif 条件表达式2 then 语句段2elsif 条件表达式3 then 语句段3......elsif 条件表达式n
2016-12-08 15:51:13
307
原创 Oracle,day5,PL/SQL
PL/SQLPL/SQL是是oracle在标准SQL语言上的过程性扩展 允许嵌入QL语句,定义变量和常量; 允许过程语言结构(条件分支语句和循环语句); 允许使用异常来处理oracle错误; 可以用于创建存储过程、触发器和程序包等; 也可以用于处理业务规则,数据库事件或给SQL命令的执行添加程序逻辑。所有的PL/SQL程序都以块为基本单位; 块中包含过程化语句和SQL的DML语句。这些块
2016-12-07 21:10:57
414
原创 Oracle,day4,函数
函数概要SQL函数就是指,我们在select操作中,可以给DML语句加上的一些函数,来满足我们找到想要的结果的方法。——just my opinionOracle函数分类oracle字符串函数oracle数学函数oracle日期函数oracle转换函数oracle其他函数oracle聚合函数具体的个人就不想再手打了,贴上个链接Oracle函数大全,方便以后查询用。
2016-12-05 23:41:31
284
原创 Oracle,day3
好高兴啊,又可以吃营养快乐了,我擦?我的营养快乐呢?![微笑]又来学习oracle了,高高兴兴的打开电脑,又出错了,装上三天,每天都有不一样的错误,每天都有新感觉[微笑][微笑][微笑]错误代码:ora-01033:oracle initialization or shutdown in progress百度吧,找到一篇博客,问题相同,走一走吧 Oracle ORA-01033: ORACLE in
2016-12-04 15:59:51
300
原创 Oracle,day2,内部结构
大数据的三高高并发,同时支持很多用户的连接高性能高吞吐量,一次性存储或出去大量的数据数据库就像是一个仓库,存储了各类货物;而实例就像出入仓库的搬运工,负责将货物搬出、搬入仓库oracle数据库相当于一个柜子,柜子中的抽屉相当于表空间,抽屉中的文件夹相当于表,文件夹中的纸相当于数据区间,写在纸上的信息相当于数据这里只记录了一些小东西,去看PPT吧。
2016-12-03 20:17:21
236
原创 Oracle,day2,基础
大早起刚坐这连接数据库,发现半天都连不上,没有动静,等了老大一会出来一个弹窗提示“socket read timed out”,气死老夫了,昨天才安装好,今天就不能用了!! 结果,重启了一下oracle的监听程序就好了。。。正文:Oracle四大特点:支持大数据库、多用户、高性能,高并发的事务处理数据安全性和完整性方面性能优越网格计算 ————最显著的特点,oracle 11g之后
2016-12-03 14:33:03
423
原创 Oracle,day1
Oracle,day1一直阻碍我很久的oracle数据库的学习,终于要提上日程了。。 但谁知刚开始就遇到了困难,因为我安装的是12c版本的oracle,在12c版本中,oracle已经删除了scott用户,但我一直以为是我安装过程的问题,真的是绞尽脑汁啊。。。百度后才发现,是因为scott用户被oracle删除了。可是我才刚开始学啊,还是需要一个测试用户的啊![抓狂]之后就是疯狂的查询为什么没有s
2016-12-02 20:31:44
253
转载 关于hibernate性能优化
hibernate性能优化对于大多数典型的 Spring/Hibernate 企业应用而言,其性能表现几乎完全依赖于持久层的性能。确认应用是否受限于数据库我们可以调用VisualVM进行监控,查看应用进程花在等待数据库从网络中返回结果的时间。例如这里,应用等待数据库返回数据的时间占比为56%。 看到数据库查询是导致应用运行缓慢的原因,其实是好兆头,这证明至少我们还有得优化,并且很容易优化。Hibe
2016-11-29 10:20:51
397
原创 一些小手段
1.eval(String)函数var result = req.responseText;eval("var man1=" + result);eval(String);这个函数的功能为:它可以直接执行函数里面的代码。 比如在这里,我们在这里,接收到一个result字符串,然后执行了eval这个函数,里面的函数就直接执行了,我们就把result的值赋给了var man1这个变量,在接下来的代码
2016-11-20 10:52:38
315
原创 Ajax学习笔记
Ajax并不是一种新的语言,他的全称是Asynchronous JavaScript and Xml(异步的javascript和xml),最基础的用法就是在不刷新整个页面的情况下,刷新我们页面的部分内容今天就让我们学习一下Ajax的用法首先,在学习Ajax当中,我们需要了解一个对象,叫做XMLHttpRequest,他是用来接收
2016-11-20 10:47:02
270
转载 关于class.forName().newInstance()的作用
1)Class.forName("");的作用是要求JVM查找并加载指定的类(java里面任何class都要装载在虚拟机上才能运行),如果在类中有静态初始化器的话,JVM必然会执行该类的静态代码段。在加载完成后,一般还要调用Class下的newInstance( )静态方法来实例化对象以便操作。构造函数是在当类被实例化的时候才会执行。Class.forName("")返回的是类2)首先
2016-10-10 16:58:58
1784
空空如也
hibernate一对多查询问题
2016-10-25
hibernate多表联查,如何输出特定的某元素
2016-10-25
关于form表单中的a标签传值问题
2016-09-03
myeclipse每次redeploy服务器的时候报错
2016-08-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人