自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

朱智文的专栏

让我们一起放逐我们的青春

  • 博客(83)
  • 资源 (5)
  • 收藏
  • 关注

转载 03Ehcache中储存缓存的方式

Ehcache中储存缓存的方式 目录1     堆内存(MemoryStore)1.1     指定可用内存1.2     驱除策略1.3     元素过期2     非堆内存(BigMemory)3     磁盘(DiskStore)3.1     指定可用容量3.2     元素过期        在Ehcache中对于缓存的存储主要有三种方式:

2015-11-30 22:23:58 504

转载 02 ehcache.xm讲解

ehcache.xml简介        ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信息参数创建CacheManager时,CacheManager将首先在

2015-11-30 22:17:25 1254

原创 Comparator<T> 接口

Comparator接口有两个方法 intcompare(T o1,T o2)           Compares its two arguments for order. booleanequals(Object obj)          Indicates whether some other object is "equal to"

2015-11-29 16:37:40 2279

转载 ORACLE约束的了解

你对ORACLE约束的了解如何?比较模糊还是相当透彻?如果你对下面几个问题了如指掌的话,恭喜你,你已经对约束掌握得比较好了,不用看这篇文章了。ORACLE的约束有啥功能作用? 有哪些类型约束(不同版本ORACLE是否不同)?视图有约束吗?约束是否会影响SQL性能? 约束信息存储在哪些系统视图、数据字典中?约束能否修改名称?能否禁用约束?延迟约束有啥好处....... 约束定义

2015-11-27 09:45:44 543

原创 约束

约束是表级的强制规定有以下五种约束:NOT NULL,UNIQUE ,PRIMARY KEY,FOREIGN KEY,CHECK那什么时候创建约束:见表的同时,见表之后在哪里建立约束?在表级定义约束,或者在列级定义怎样查看约束?可以通过数据字典试图查看约束作用范围:列级约束只能作用在一个列上,而表约束可以作用在多个列上(当然表约束也可以作用在一个列上)。定义方式

2015-11-27 00:06:40 492

原创 对表的一些基本操作

改变对象的名称:执行rename语句改变表,试图,序列,或同义词的名称rename dept to detail _dept 删除表:drop table dept80  删除表语句不能回滚删除列:drop column job_id修改列 名字:alter table dept renma column  old_column_name to new _colum

2015-11-25 22:50:37 432

原创 oracle支持的事物

Oracle 支持的 2 种事务隔离级别:READ COMMITED, SERIALIZABLE. Oracle 默认的事务隔离级别为: READ COMMITED 读已提交可以解决:脏读的问题serializable:序列化,对表进行锁定,可以解决所有的问题,缺点:并发就大大减弱

2015-11-25 22:19:52 509

原创 oracle 中的子查询

子查询 (内查询) 在主查询之前一次执行完成。子查询的结果被主查询使用 (外查询)。子查询要包含在括号内。 将子查询放在比较条件的右侧。单行操作符对应单行子查询,多行操作符对应多行子查询。单行子查询: 只返回一行,使用单行比较操作符 =, =,SELECT last_name, job_id, salaryFROM   employeesWH

2015-11-25 21:48:38 514

原创 多张表表查询

select t.name,r.name from t_sys_user t ,t_sys_role r ,t_sys_user_role ur where t.id=ur.user_id and r.id=ur.role_id用户和角色用了关联表 下面使用join on 将三张表进行管理使用链接join on select t.name,r.nam

2015-11-25 17:23:38 1022

转载 select * from table1 where id =‘1’ for update

select  ---for update ;键字: oracle 的for update行锁   SELECT...FOR UPDATE 语句的语法如下:   SELECT ... FOR UPDATE [OF column_list][WAIT n|NOWAIT][SKIP LOCKED]; 其中:   OF 子句用于指定即将更新的列,即锁定行上的特定列。   

2015-11-24 23:13:11 5550

原创 oracle数据库中 基础篇----||的使用

||在oracle 中是作为拼接字符串用的连接符:把列与列,列与字符连接在一起。用 ‘||’表示。可以用来‘合成’列。如:select   last_name || 'is a '|| job_id as "Employ Details" from employees(as 后面是别名,别名使用双引号)

2015-11-24 22:45:12 1661

转载 JVM性能参数调优实践,不会执行Full GC,网站无停滞

JVM参数调优是个很头痛的问题,设置的不好,JVM不断执行Full GC,导致整个系统变得很慢,网站停滞时间能达10秒以上,这种情况如果没隔几分钟就来一次,自己都受不了。这种停滞在测试的时候看不出来,只有网站pv达到数十万/天的时候问题就暴露出来了。 要想配置好JVM参数,需要对年轻代、年老代、救助空间和永久代有一定了解,还要了解jvm内存管理逻辑,最终还要根据自己的应用来做调整。关于JV

2015-11-24 09:02:53 1910 4

转载 线程TLAB区域的深入剖析

(1) 堆是JVM中所有线程共享的,因此在其上进行对象内存的分配均需要进行加锁,这也导致了new对象的开销是比较大的(2) Sun Hotspot JVM为了提升对象内存分配的效率,对于所创建的线程都会分配一块独立的空间TLAB(Thread Local Allocation Buffer),其大小由JVM根据运行的情况计算而得,在TLAB上分配对象时不需要加锁,因此JVM在给线程的对象分

2015-11-23 15:55:20 4169

转载 jdk 命令行工具

表 Sun JDK监控和故障处理工具名称主要功能jpsJVM Process Status Tool,显示指定系统内所有HotSpot虚拟机进程jstatJVM Statistics Minitoring Tool,用于收集HotSpot虚拟机各方面的运行数据jinfoConfiguration I

2015-11-23 15:44:30 497

原创 空间分配担保

在发生Minor GC 时,虚拟机会检测之前每次晋升到老年代的平均大小是否大于老年代的剩余空间大小,如果大于,则进行一次full Gc ,如果小于,则查看HandlePromotionFailure 设置是否允许打包失败;如果允许,那只会进行MinorGC; 如果不允许,则也要改为进行一次Full GC

2015-11-23 09:26:48 1864

原创 对象怎样有新生代转到年老代

自动内存管理即:给对象分配内存以及分配给对象的内存现在探讨给内存分配对象的那点事首先:对象内存分配都分配到那个地方?堆上分配,但也可能经过jIT编译后被拆散为标量类型并间接地在栈上分配1:对象优先在Eden分配,当Eden区没有足够的空间进行分配时,虚拟机将发起一次Minor GC:+查看收集器日志:-XX:+PrintGCDetails 告诉虚拟机在发生垃圾收集行为时打印内存

2015-11-22 23:18:39 4381

转载 jvm参数,分析

不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同

2015-11-22 23:15:22 321

转载 垃圾回收条件,以及减少GC开销的措施

2.触发主GC(Garbage Collector)的条件  JVM进行次GC的频率很高,但因为这种GC占用时间极短,所以对系统产生的影响不大。更值得关注的是主GC的触发条件,因为它对系统影响很明显。总的来说,有两个条件会触发主GC:  ①当应用程序空闲时,即没有应用线程在运行时,GC会被调用。因为GC在优先级最低的线程中进行,所以当应用忙时,GC线程就不会被调用,但以下条件除外。

2015-11-22 22:47:13 1134

原创 java虚拟机--jvm client模式与server模式的区别

JVM client模式和Server模式JVM Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升。JVM如果不显式指定是-Server模式还是-client模式,JVM工作在Server模式可以大大提高性能,但应用的启动会比client模式慢大概10%。当该参数不指定时,虚拟机启动检测主机是否为服务

2015-11-22 22:04:55 3991

转载 java 虚拟机--新生代与老年代GC

java 虚拟机--新生代与老年代GC 1. Java堆中各代分布:图1:Java堆中各代分布Young:主要是用来存放新生的对象。Old:主要存放应用程序中生命周期长的内存对象。Permanent:是指内存的永久保存区域,主要存放

2015-11-22 21:54:03 454

转载 minor GC major Gc full Gc 的理解

在 Plumbr 从事 GC 暂停检测相关功能的工作时,我被迫用自己的方式,通过大量文章、书籍和演讲来介绍我所做的工作。在整个过程中,经常对 Minor、Major、和 Full GC 事件的使用感到困惑。这也是我写这篇博客的原因,我希望能清楚地解释这其中的一些疑惑。文章要求读者熟悉 JVM 内置的通用垃圾回收原则。堆内存划分为 Eden、Survivor 和 Tenured/Old 空间

2015-11-22 21:04:24 461

原创 几种垃圾收集器(7中)

第一种:serial(串行)

2015-11-21 23:54:52 756

原创 垃圾回收机制的几种算法

第一种:标记-清除法直接在内存里标记无用的对象,然后直接回收;缺点:形成内存碎片第二种:复制算法:将内存划分为大小相等的两块,当一块的内存用完了,就讲还存活的对象复制到另外一块上面,然后将之前的那块清理掉缺点:浪费内存太多(对老年代的使用,效率低)第三种:标记-整理算法将存活的对象都向一端移动,然后直接清理掉端边界以外的内存第四种:分代收集算法:(当前商业虚拟机

2015-11-21 23:47:17 3688

原创 判断java虚拟机内存里的对象已死两种方式

第一种:引用计数饭:给对象添加一个引用计数器,每当有一个地方需要引用它的时候  ,计数器的值就加1,否则就减1,计数器的值为0的时候,就说明对象已死缺点:如果该对象被外一个引用指着,前一个引用永远不会再被利用了,但是她的计数器不为零,则那个对象永远不会被认为死掉,实际上,虚拟机还是会回收他们的,所以,虚拟机不是用这种方式回收他们的,第二种:根搜索算法:通过一系列的名为“gc roots

2015-11-21 23:35:57 724

原创 对象访问时如何进行的

首先最简单的访问也需要设计三个内存区:java栈,java堆,方法区java栈:存放存放引用java堆:存放实例、方法区:包含能查找到此对象类型数据(如对象类型,父类,实现的借口,方法等)的地址信息不同的虚拟机实现的对象访问方式会有所不同,主流的访问方式有两种,使用句柄,和直接指针1:句柄方式访问:java堆中将会划分出一块内存来作为句柄池,,reference中存储的

2015-11-20 10:05:55 462

原创 java虚拟机管理的内存

1:程序计数器:每个线程都有一个独立的程序计数器,用来记录当前线程所执行字节码的行号指示器,如果切换线程执行其他的线程的时候,字节码解释器就是通过这个计数器的值来制定下一个处理的字节码指令,2:java虚拟栈:它是线程私有的,生命周期与线程相同,描述的 java方法的内存模型,每个方法被执行的时候都会创建一个栈帧(stack frame),用来存放局部变量,每个方法被调用到执行完的过程,都

2015-11-19 23:31:52 498

原创 js 里的escape() 函数

escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。escape(string)参数描述string必需。要被转义或编码的字符串。返回值已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。说明该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点

2015-11-19 11:06:02 493

转载 数据结构的栈和堆

原文: http://student.csdn.net/link.php?url=http://www.top-e.org%2Fjiaoshi%2Fhtml%2F427.html在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就

2015-11-19 09:52:19 617 2

转载 数据库索引的优点与缺点

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。数据库索引什么是索引  数据库索引好比是一本书前面的目录,能加快数据库的查询速度。  例如这样一个查询:select * from table1 where id=44。如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引

2015-11-18 23:05:32 3309

转载 hibernate缓存

1.什么是缓存? 缓存是介于物理数据源与应用程序之间,是对数据库中的数据复制一份临时放在内存中的容器,其作用是为了减少应用程序对物理数据源访问的次数,从而提高了应用程序的运行性能。Hibernate在进行读取数据的时候,根据缓存机制在相应的缓存中查询,如果在缓存中找到了需要的数据(我们把这称做“缓存命 中"),则就直接把命中的数据作为结果加以利用,避免了大量发送SQL语句到数据库查询的性能

2015-11-18 22:52:08 428

原创 hibernate.hbm.xml 中对多对多双向关联的 中inverse镜像的使用

1.3.5.  双向关联接下来我们将映射双向关联(bi-directional association)- 在Java里让person和event可以从关联的任何一端访问另一端。当然,数据库schema没有改变,我们仍然需要多对多的阶数。一个关系型数据库要比网络编程语言 更加灵活,所以它并不需要任何像导航方向(navigation direction)的东西 - 数据可以用任何

2015-11-18 22:11:39 1871 2

原创 hibernate.hbm.xml对值类型的集合的配置

1.3.4.  值类型的集合我们把一个值类型对象的集合加入Person实体中。我们希望保存email地址,所以使用String类型,而且这次的集合类型又是Set:private Set emailAddresses = new HashSet();public Set getEmailAddresses() { return emailAddresses;

2015-11-18 22:09:04 447

原创 hibernate.hbm.xml

d对于多对多的情况,配置文件书写方式1.3.2.  单向Set-based的关联我们将向Person类增加一连串的events。那样,通过调用aPerson.getEvents(),就可以轻松地导航到特定person所参与的events,而不用去执行一个显式的查询。我们使用Java的集合类(collection):Set,因为set 不包含重复的元素及与

2015-11-18 21:33:38 461

原创 session 讲解

一个Session就是个单一的工作单元。我们暂时让事情简单一些,并假设HibernateSession和数据库事务是一一对应的。为了让我们的代码从底层的事务系统中脱离出来(此例中是JDBC,但也可能是JTA),我们使用HibernateSession中的Transaction API。sessionFactory.getCurrentSession()是干什么的呢?首先,只要你持有Se

2015-11-18 21:23:44 534

原创 优化sql 语句的几种方式

1、 首先要搞明白什么叫执行计划?执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个 10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用 “全表扫描”方式。可见,执行计划并不是固定的,它是“个性化的”。

2015-11-17 18:10:25 5031

转载 oracle 左右内和完全链接

数据表的连接有: 1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 2、外连接: 包括 (1)左外连接 (左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制) 3、自连接(连接发生在一 张基表内) sql标准语法:select table1.column,table2.columnfrom table1

2015-11-17 16:02:39 966 2

转载 分组报文,协议和Socket的概念

http://www.cnblogs.com/lwzz/archive/2011/06/30/2095104.html这篇随笔是我接着上篇《字节和字符,对信息进行编码》继续写的内容,看过上篇随笔能更好的理解这篇内容。我想从基础的开始说起,一直说到Asp.net,WCF为止。信息是指由程序创建和建设的“字节序列”。在网络环境中,这些字节序列被称作“分组报文”。一组

2015-11-15 23:02:35 2009

转载 字节流,和字符流

二进制字节流,优点:方便,不用转换。缺点,不能跨平台。字符流,优点:可以跨平台,但是需要转换成二进制。

2015-11-15 22:23:42 395

转载 B+树,聚集索引,非聚集索引(辅助索引) 之一

B+树,聚集索引,非聚集索引(辅助索引) 之一B+树,由二叉树和双向链表引申出来的一种数据结构。 通常数据库的索引是通过B+树来实现的。聚集索引和非聚集索引都是B+树的结构。聚集索引不但描述了数据是如何组织的,聚集索引其实就是数据本身。数据存放在“叶页”上,叶页也就是数据页,和下文的索引页需要区分开来。下面是从网上找来的我认为比较通俗易懂的关于B+树的讲解:B树      

2015-11-15 21:49:13 3590

转载 正则表达式案例

众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。 大 家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配

2015-11-14 23:05:01 306

springsecurty 快速配置,及理解含义

轻松理解springsecurity配置文件里几个节点的含义,快速上手

2015-11-10

libxslt-1.1.26.tar.gz

libxslt-1.1.26.tar.gz

2015-01-31

cmake-2.8.5.tar.gz

cmake-2.8.5.tar.gz

2015-01-30

软件工程师考试300题

做做这300题,你会有不一样的改变.

2014-04-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除