06 2017 档案

深入理解JAVA虚拟机 虚拟机执行子系统
摘要:class类文件的结构 java的class类文件中存在两种结构:无符号数和表。最小的存储单元是8个字节。 无符号数是基本的数据类型,用来描述数字,UTF-8编码的字符串,索引引用。 表示多个无符号数构成的复杂数据结构。 其中: magic 表示魔数,并且魔数占用了4个字节,魔数到底是做什么的呢?它 阅读全文

posted @ 2017-06-29 08:54 张小贱1987 阅读(300) 评论(0) 推荐(0)

深入理解JAVA虚拟机 虚拟机性能监控和故障处理工具
摘要:jre的bin目录下的工具,都非常小。它都是tools.jar下面的代码的一层封装而已。tools.jar不是java标准,是Hotspot实现的。 名称 作用 jps JVM Process Status Tool,现实指定系统内所有的HotSpot虚拟机进程 jstat JVM Statisti 阅读全文

posted @ 2017-06-27 21:46 张小贱1987 阅读(387) 评论(0) 推荐(0)

深入理解JAVA虚拟机 垃圾收集器和内存分配策略
摘要:引用计数算法 很多教科书判断对象是否存活的算法是这样的:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器都为0的对象就是不可能再被使用的。 客观地说,引用计数算法(Reference Counting)的实现简单,判定效率也很高,在大部 阅读全文

posted @ 2017-06-27 01:47 张小贱1987 阅读(324) 评论(0) 推荐(0)

深入理解JAVA虚拟机 自动内存管理机制
摘要:运行时数据区域 其中右侧三个一起的部分是每个线程一份,左侧两个是所有线程共享的。 程序计数器(Program Counter Register) 英文名称叫Program Counter Register。如果翻译为程序寄存器更加合理。 因为这块内存区域很小,功能也类似于寄存器。所以还是翻译寄存器比 阅读全文

posted @ 2017-06-26 22:57 张小贱1987 阅读(185) 评论(0) 推荐(0)

oracle pl/sql 程序设计 历史笔记整理
摘要:20131016 周三 oracle pl/sql 程序设计 第2章 创建并运行pl/sql代码 sqlplus yjkhecc/yjkhecc@10.85.23.92:1521/orcl 在java中调用存储过程: create or replace procedure t_p(l_in in o 阅读全文

posted @ 2017-06-26 01:46 张小贱1987 阅读(302) 评论(0) 推荐(0)

oracle sql 高级编程 历史笔记整理
摘要:20130909 周一 oracle sql 开发指南 第7章 高级查询 1.层次化查询select level,ttt.*,sys_connect_by_path(ttt.col1,',') from ttt start with .. Connect by prior …因为先建立树,再进行wh 阅读全文

posted @ 2017-06-26 01:45 张小贱1987 阅读(502) 评论(0) 推荐(0)

JAVA并发编程的艺术 Java并发容器和框架
摘要:ConcurrentHashMap ConcurrentHashMap是由Segment数组结构和HashEntry数组结构组成。 一个ConcurrentHashMap里包含一个Segment数组,Segment的结构和HashMap类似,是一种数组和链表结构, 一个Segment里包含一个Has 阅读全文

posted @ 2017-06-26 00:40 张小贱1987 阅读(249) 评论(0) 推荐(0)

JAVA并发编程的艺术 JMM内存模型
摘要:锁的升级和对比 java1.6为了减少获得锁和释放锁带来的性能消耗,引入了"偏向锁"和"轻量级锁"。 偏向锁 偏向锁为了解决大部分情况下只有一个线程持有锁的情况。 大概逻辑是:每次获得锁时,在锁的对象头信息中存储了当前线程的ID,下次获取锁的时候,不需首先使用CAS竞争锁,只需要去对象头里查看是否是 阅读全文

posted @ 2017-06-25 21:50 张小贱1987 阅读(277) 评论(0) 推荐(0)

Java并发编程实战 第16章 Java内存模型
摘要:什么是内存模型 JMM(Java内存模型)规定了JVM必须遵循一组最小保证,这组保证规定了对变量的写入操作在何时将对其他线程可见。 JMM为程序中所有的操作定义了一个偏序关系,称为Happens-Before。两个操作缺乏Happens-Before关系,则Jvm会对它们进行任意的重排序。 Happ 阅读全文

posted @ 2017-06-25 00:51 张小贱1987 阅读(191) 评论(0) 推荐(0)

Java并发编程实战 第15章 原子变量和非阻塞同步机制
摘要:非阻塞的同步机制 简单的说,那就是又要实现同步,又不使用锁。 与基于锁的方案相比,非阻塞算法的实现要麻烦的多,但是它的可伸缩性和活跃性上拥有巨大的优势。 实现非阻塞算法的常见方法就是使用volatile语义和原子变量。 硬件对并发的支持 原子变量的产生主要是处理器的支持,最重要的是大多数处理器架构都 阅读全文

posted @ 2017-06-25 00:13 张小贱1987 阅读(207) 评论(0) 推荐(0)

Java并发编程实战 第14章 构建自定义的同步工具
摘要:状态依赖性 定义:只有满足特定的状态才能继续执行某些操作(这些操作依赖于固定的状态,这些状态需要等待别的线程来满足)。 FutureTask,Semaphroe,BlockingQueue等,都是状态依赖性的类。 条件队列 条件对列:条件对列就是由于不满足继续的条件而被wait操作阻塞的线程队列。他 阅读全文

posted @ 2017-06-24 22:43 张小贱1987 阅读(183) 评论(0) 推荐(0)

Java并发编程实战 第13章 显式锁
摘要:接口Lock的实现类: ReentrantLock, ReentrantReadWriteLock.ReadLock, ReentrantReadWriteLock.WriteLock ReentrantLock java5.0之前只有synchronize和volatile,ReentrantLo 阅读全文

posted @ 2017-06-24 20:37 张小贱1987 阅读(171) 评论(0) 推荐(0)

Java并发编程实战 第11章 性能与可伸缩性
摘要:关于性能 性能的衡量标准有很多,如: 服务时间,等待时间用来衡量程序的"运行速度""多快"。 吞吐量,生产量用于衡量程序的"处理能力",能够完成"多少"工作。 多快和多少有时候是互相矛盾的。 关于可伸缩性 可伸缩性:当增加计算资源(CPU 内存 存储 带宽)时,程序的吞吐量或者处理能力能够相应的增加 阅读全文

posted @ 2017-06-24 18:58 张小贱1987 阅读(146) 评论(0) 推荐(0)

Lock的await/singal 和 Object的wait/notify 的区别(转载)
摘要:在使用Lock之前,我们都使用Object 的wait和notify实现同步的。举例来说,一个producer和consumer,consumer发现没有东西了,等待,producer生成东西了,唤醒。 线程consumer 线程producer synchronize(obj){ obj.wait 阅读全文

posted @ 2017-06-24 00:53 张小贱1987 阅读(225) 评论(0) 推荐(0)

线程阻塞和挂起(网络收集)
摘要:线程阻塞 线程在运行的过程中因为某些原因而发生阻塞,阻塞状态的线程的特点是:该线程放弃CPU的使用,暂停运行,只有等到导致阻塞的原因消除之后才回复运行。或者是被其他的线程中断,该线程也会退出阻塞状态,同时抛出InterruptedException。 一般线程中的阻塞: A、线程执行了Thread. 阅读全文

posted @ 2017-06-24 00:46 张小贱1987 阅读(1752) 评论(0) 推荐(1)

Java并发编程实战 第10章 避免活跃性危险
摘要:死锁 经典的死锁:哲学家进餐问题。5个哲学家 5个筷子 如果没有哲学家都占了一个筷子 互相等待筷子 陷入死锁 数据库设计系统中一般有死锁检测,通过在表示等待关系的有向图中搜索循环来实现。 JVM没有死锁检测。 锁顺序死锁 典型的列子:LeftRightDeadLock,多个线程尝试去获取左右的锁。这 阅读全文

posted @ 2017-06-23 21:02 张小贱1987 阅读(210) 评论(0) 推荐(0)

Java并发编程实战 第8章 线程池的使用
摘要:合理的控制线程池的大小: 下面内容来自网络。不过跟作者说的一致。不想自己敲了。留个记录。 要想合理的配置线程池的大小,首先得分析任务的特性,可以从以下几个角度分析: 任务的性质:CPU密集型任务、IO密集型任务、混合型任务。 任务的优先级:高、中、低。 任务的执行时间:长、中、短。 任务的依赖性:是 阅读全文

posted @ 2017-06-23 01:09 张小贱1987 阅读(870) 评论(0) 推荐(0)

Java并发编程实战 第6章 任务并行 第7章 取消与关闭
摘要:ExecutorCompletionService CompletionService用来接收一个Executor的执行结果,将已经完成任务,放置在可使用 take 访问的队列上。 大概用法: Executor e = Executors. newCachedThreadPool(); Comple 阅读全文

posted @ 2017-06-23 01:08 张小贱1987 阅读(167) 评论(0) 推荐(0)

Java并发编程实战 第5章 构建基础模块
摘要:同步容器类 Vector和HashTable和Collections.synchronizedXXX 都是使用监视器模式实现的。 暂且不考虑性能问题,使用同步容器类要注意: 只能保证单个操作的同步。 这会引起两个问题: 第一个问题: 如果有一个功能,需要计算得到最后一个的值,有这个方法: list. 阅读全文

posted @ 2017-06-23 01:07 张小贱1987 阅读(240) 评论(0) 推荐(0)

Java编程思想 第21章 并发
摘要:这是在2013年的笔记整理。现在重新拿出来,放在网上,重新总结下。 package thread; /** * * @author zjf * @create_time 2013-12-18 * @use测试基本的两种线程的实现方式 * 测试中断 */ public class BasicThrea 阅读全文

posted @ 2017-06-20 23:01 张小贱1987 阅读(613) 评论(0) 推荐(0)

Java并发编程实战 第4章 对象的组合
摘要:Java监视器模式 java监视器模式就是在将共享的数据封装在一个类里面,然后然后所有访问或者修改这些数据的方法都标注为synchronize。 车辆追踪模拟: 使用监视器模式: CarTracker对象维护了一个所有汽车坐标的Map,这个Map是竞争资源,线程会同时对它进行更新和读取。所以才每个方 阅读全文

posted @ 2017-06-20 19:59 张小贱1987 阅读(213) 评论(0) 推荐(0)

Java并发编程实战 第3章 对象的共享
摘要:可见性 可见性是由于java对于多线程处理的内存模型导致的。这似乎是一种失败的设计,但是JVM却能充分的利用多核处理器的强大性能,例如在缺乏同步的情况下,Java内存模型允许编译器对操作顺序进行重排序,并将数值缓存在寄存器中,同时,它还允许CPU对操作顺序进行重排序,并将数值缓存在处理器的特定缓存中 阅读全文

posted @ 2017-06-20 15:56 张小贱1987 阅读(172) 评论(0) 推荐(0)

Java并发编程实战 第2章 线程安全性
摘要:编写线程安全的 代码,核心在与对共享的和可变的对象的状态的访问。 如果多个线程访问一个可变的对象时没有使用同步,那么就会出现错误。在这种情况下,有3中方式可以修复这个问题: 不在线程之间共享该状态变量 将状态变量修改为不可变的变量 在访问状态变量时使用同步 线程安全性的定义: 在多个线程访问某个类时 阅读全文

posted @ 2017-06-20 14:45 张小贱1987 阅读(242) 评论(0) 推荐(0)

Java 集合类库
摘要:java类库的基本结构 Iterable public interface Iterable<T> 实现这个接口允许对象成为 "foreach" 语句的目标。 也就是说,只有实现了Iterable接口的类才能使用foreache语法。 其实java在编译的时候讲foreach编译成了iterator 阅读全文

posted @ 2017-06-19 18:30 张小贱1987 阅读(447) 评论(0) 推荐(0)

Java 泛型
摘要:泛型的作用 使用泛型机制编写的程序代码要比那些杂乱地使用Object变量,然后再进行强制类型转换的代码具有更好的安全性和可读性.泛型对于集合类尤其有用. 说白了就是减少类型转换,增加可读性,同时避免代码中大量的Objcet的使用带来的转换安全隐患。 简单泛型类的定义 一个泛型类(generic cl 阅读全文

posted @ 2017-06-19 14:32 张小贱1987 阅读(308) 评论(0) 推荐(0)

使用Spring MVC统一异常处理实战(转载)
摘要:原文地址:http://blog.csdn.net/ufo2910628/article/details/40399539 1 描述 在J2EE项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的、不可预知的异常需要处理。每个过程都单独 阅读全文

posted @ 2017-06-19 00:17 张小贱1987 阅读(165) 评论(0) 推荐(0)

java 异常
摘要:异常 java的异常层次结构 Error类层次结构描述了Java运行时系统的内部错误和资源耗尽错误.引用程序不应该抛出这种类型的对象.如果出现了这样的内部错误,除了通告给用户,并尽力使程序安全地终止之外,再也无能为力了. 在设计Java程序时,需要关注Exception层次结构.这个层次结构又分解为 阅读全文

posted @ 2017-06-18 23:50 张小贱1987 阅读(314) 评论(0) 推荐(0)

Java 接口和内部类
摘要:接口的方法默认死public,接口的属性默认为public static final。 为什么要接口,而不是使用抽象类。一个对象只能继承一个类,却可以实现多个接口。 clone: Object的浅拷贝 Object类的默认拷贝机制是浅拷贝:对于拷贝对象的属性:基本类型属性,拷贝值,对象属性,拷贝引用 阅读全文

posted @ 2017-06-18 22:30 张小贱1987 阅读(300) 评论(0) 推荐(0)

JAVA 继承
摘要:访问权限 可以使用super来访问超类的public属性或者protect属性。 子类不能使用超类的私有对象和私有方法。 super: this是当前对象的引用,super只是一个指示编译器去调用超类方法的关键字,不能把super作为参数传递。 使用super调用超类构造器的语句,必须是子类构造器的 阅读全文

posted @ 2017-06-18 11:08 张小贱1987 阅读(340) 评论(0) 推荐(0)

Linux中profile(转载)
摘要:原文地址:http://www.cnblogs.com/mmfzmd517528/archive/2012/07/05/2577988.html 标黄是个人批注。 环境变量就是一个系统变量,系统配置一个key-value,然后其他程序可以读取到这个key-value,作为配置。 Linux /etc 阅读全文

posted @ 2017-06-18 00:11 张小贱1987 阅读(320) 评论(0) 推荐(0)

java 对象与类
摘要:类与类之间的关系 一、继承关系 继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性。在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子 阅读全文

posted @ 2017-06-17 21:51 张小贱1987 阅读(181) 评论(0) 推荐(0)

Java基本的程序结构设计 数组
摘要:声明数组: int[] a; int a[]; 两种方式。一般选择第一种,比较一目了然。 初始化,必须指定长度: int[] a = new int[10]; int[] a = {1,2,3}; 初始化: package com.zjf; import java.util.Arrays; impo 阅读全文

posted @ 2017-06-17 20:20 张小贱1987 阅读(244) 评论(0) 推荐(0)

Java基本的程序结构设计 大数操作
摘要:大数操作 BigInteger 不可变的任意精度的整数。所有操作中,都以二进制补码形式表示 BigInteger(如 Java 的基本整数类型)。BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。另外,BigInteger 还提 阅读全文

posted @ 2017-06-17 19:20 张小贱1987 阅读(305) 评论(0) 推荐(0)

Java基本的程序结构设计 控制流程
摘要:控制流程 java的控制流程和C和C++基本一致,只是不能使用goto语句,不过break语句可以带标签,实现从内层循环跳出的目的。标签可以放在for或者while前面。如下: package com.zjf; import java.io.Console; import java.util.Sca 阅读全文

posted @ 2017-06-17 19:19 张小贱1987 阅读(435) 评论(0) 推荐(0)

Java基本的程序结构设计 基本类型的输入输出
摘要:读取输入: java.util.Scanner 一个可以使用正则表达式来分析基本类型和字符串的简单文本扫描器。 了解: Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。 例如,以下代码使用户能够从 阅读全文

posted @ 2017-06-17 19:18 张小贱1987 阅读(293) 评论(0) 推荐(0)

Java基本的程序结构设计 字符类型
摘要:char类型 char是2个字节,和short一样。 char用单引号来表示。 char可以通过数字来表示,也可以通过字母来表示,也可以通过unicode编码单元来表示,特殊字符还可以通过\+字符来表示。如下: package com.zjf; public class Test { public 阅读全文

posted @ 2017-06-17 19:16 张小贱1987 阅读(301) 评论(0) 推荐(0)

Java基本的程序结构设计 整形和浮点型
摘要:整形: int 4字节 short 2字节 long 8字节 byte 1字节 int 4字节 short 2字节 long 8字节 byte 1字节 int的大小差不多是20亿。 整形计算 如果两个int进行加减乘除数学运算的时候,最终的结果仍然是int,有可能出现了溢出,那么结果就不是我们想要的 阅读全文

posted @ 2017-06-16 17:20 张小贱1987 阅读(993) 评论(0) 推荐(0)

SOA,Webservice,SOAP,REST,RPC,RMI,JMS的区别与联系(转载)
摘要:原文地址:http://blog.csdn.net/pcceo1/article/details/51245249 SOA面向服务的软件架构(Service Oriented Architecture) 是一种计算机软件的设计模式,主要应用于不通应用组件中通过某种协议来互操作 它的基本设计原理是:服 阅读全文

posted @ 2017-06-16 15:30 张小贱1987 阅读(395) 评论(0) 推荐(0)

spring AspectJ的Execution表达式(转载)
摘要:原文:http://blog.csdn.net/peng658890/article/details/7223046 在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut"切入点" 例如定义切入点表达式 execution(* com.sample 阅读全文

posted @ 2017-06-16 14:15 张小贱1987 阅读(1543) 评论(0) 推荐(0)

spring事务配置,声明式事务管理和基于@Transactional注解的使用(转载)
摘要:原文地址:http://blog.csdn.net/bao19901210/article/details/41724355 事务管理对于企业应用来说是至关重要的,好使出现异常情况,它也可以保证数据的一致性。 spring支持编程式事务管理和声明式事务管理两种方式。 编程式事务管理使用Transac 阅读全文

posted @ 2017-06-16 14:03 张小贱1987 阅读(217) 评论(0) 推荐(0)

Spring MVC使用AOP实现审计日志
摘要:先定一个注解,用于在Controller方法上记录每个方法的用途。 package com.zjf.spring.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; 阅读全文

posted @ 2017-06-16 13:03 张小贱1987 阅读(2920) 评论(0) 推荐(1)

Spring AOP 在XML中声明切面
摘要:转载地址:http://www.jianshu.com/p/43a0bc21805f 在XML中将一个Java类配置成一个切面: AOP元素 用途 <aop:advisor> 定义AOP通知器 <aop:after> 定义一个后置通知(不管目标方法是否执行成功) <aop:after-returni 阅读全文

posted @ 2017-06-16 01:10 张小贱1987 阅读(255) 评论(0) 推荐(0)

Spring AOP 使用注解定义切面(转载)
摘要:原文地址:http://www.jianshu.com/p/6f40dddd71a5 1.定义切面 下面我们就来定义一场舞台剧中观众的切面类Audience: package com.spring.aop.service.aop; import org.aspectj.lang.Proceeding 阅读全文

posted @ 2017-06-16 01:04 张小贱1987 阅读(419) 评论(0) 推荐(0)

java动态代理(JDK和cglib)(转载)
摘要:原文地址:http://www.cnblogs.com/jqyp/archive/2010/08/20/1805041.html 高亮部分是我的理解。 JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把 阅读全文

posted @ 2017-06-15 23:26 张小贱1987 阅读(208) 评论(0) 推荐(0)

Spring AOP 面向切面编程
摘要:AOP 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对 阅读全文

posted @ 2017-06-15 22:49 张小贱1987 阅读(261) 评论(0) 推荐(0)

Spring装配bean
摘要:创建对象之间协作关系的行为通常称为装配(wiring),这也是DI的本质。Spring提供了三种主要的装配机制。 在XML中进行显式配置。 在Java中进行显式配置。 隐式的bean发现机制和自动装配。 隐式的bean发现机制和自动装配 Spring从两个角度来实现自动化装配: 组件扫描(compo 阅读全文

posted @ 2017-06-15 16:48 张小贱1987 阅读(278) 评论(0) 推荐(0)

Spring的DI和AOP
摘要:Spring 为了降低Java开发的复杂性,Spring采取了以下4种关键策略:* 基于POJO的轻量级和最小入侵性编程;* 通过依赖注入和面向接口实现松耦合;* 基于切面和惯例进行声明式编程;* 通过切面和模板减少样板式代码; 几乎Spring所做的任何事情都可以追溯到上面一条或者多条策略。 DI 阅读全文

posted @ 2017-06-15 15:41 张小贱1987 阅读(269) 评论(0) 推荐(0)

spring+mybatis事务配置(转载)
摘要:原文地址:http://blog.csdn.net/wgh1015398431/article/details/52861048 申明式事务配置步骤 1、xml文件头部需要添加spring的相关支持: [html] view plain copy <beans xmlns="http://www.s 阅读全文

posted @ 2017-06-15 15:28 张小贱1987 阅读(441) 评论(0) 推荐(0)

Mybatis 动态sql(转载)
摘要:原文地址:http://www.cnblogs.com/dongying/p/4092662.html 传统的使用JDBC的方法,相信大家在组合复杂的的SQL语句的时候,需要去拼接,稍不注意哪怕少了个空格,都会导致错误。Mybatis的动态SQL功能正是为了解决这种问题,其通过 if, choose 阅读全文

posted @ 2017-06-15 00:46 张小贱1987 阅读(183) 评论(0) 推荐(0)

mapper映射文件配置之select、resultMap(转载)
摘要:原文地址:http://www.cnblogs.com/dongying/p/4073259.html 先看select的配置吧: <select <!-- 1. id (必须配置) id是命名空间中的唯一标识符,可被用来代表这条语句。 一个命名空间(namespace) 对应一个dao接口, 这个 阅读全文

posted @ 2017-06-15 00:02 张小贱1987 阅读(2635) 评论(0) 推荐(0)

mapper映射文件配置之insert、update、delete(转载)
摘要:原文地址:http://www.cnblogs.com/dongying/p/4048828.html 在mapper文件中,以mapper作为根节点,其下面可以配置的元素节点有: select, insert, update, delete, cache, cache-ref, resultMap 阅读全文

posted @ 2017-06-14 23:54 张小贱1987 阅读(5628) 评论(0) 推荐(0)

MyBatis主配置文件(转载)
摘要:原文地址:http://limingnihao.iteye.com/blog/1060764 其中高亮字体是我的理解。 在定义sqlSessionFactory时需要指定MyBatis主配置文件: Xml代码 <bean id="sqlSessionFactory" class="org.mybat 阅读全文

posted @ 2017-06-14 23:21 张小贱1987 阅读(305) 评论(0) 推荐(0)

Mybatis的体系结构(转载)
摘要:原文:http://blog.csdn.net/hupanfeng/article/details/9068003/ MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改 阅读全文

posted @ 2017-06-14 22:31 张小贱1987 阅读(1556) 评论(0) 推荐(0)

Spring mvc 搭建Mybatis
摘要:本文建立在spring mvc已经搭建起来的基础上。 首先看要引入的jar包,其中高亮的是为了mybatis新引入的。 <properties> <spring.webmvc.version>4.3.0.RELEASE</spring.webmvc.version> <junit.version>4 阅读全文

posted @ 2017-06-14 18:04 张小贱1987 阅读(238) 评论(0) 推荐(0)

@Autowired与@Resource的区别(转载)
摘要:原文地址:http://bhdweb.iteye.com/blog/1663907 1、@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上。 2、@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必须要求依赖对象必 阅读全文

posted @ 2017-06-14 15:53 张小贱1987 阅读(137) 评论(0) 推荐(0)

Spring MVC文件上传下载(转载)
摘要:原文地址: http://www.cnblogs.com/WJ-163/p/6269409.html 上传参考 http://www.cnblogs.com/lonecloud/p/5990060.html 下载参考 一、关键步骤 ①引入核心JAR文件 SpringMVC实现文件上传,需要再添加两个 阅读全文

posted @ 2017-06-14 12:37 张小贱1987 阅读(211) 评论(0) 推荐(0)

Spring mvc数据转换 格式化 校验(转载)
摘要:原文地址:http://www.cnblogs.com/linyueshan/p/5908490.html 数据绑定流程 1. Spring MVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinderFactory 实例,以创建 DataBinder  阅读全文

posted @ 2017-06-14 12:09 张小贱1987 阅读(421) 评论(0) 推荐(0)

JSTL标签(转载)
摘要:JSTL标签是一个实现web功能的定制标签库,包括输出功能,条件判断,循环等,使用JSTL标签,为动态编写WEB应用程序提供了很大的方便性,能很好的和Java语言和HTML进行结合。下面我们看看jstl标签的用法 1.环境搭建 下载jar包 http://archive.apache.org/dis 阅读全文

posted @ 2017-06-14 11:20 张小贱1987 阅读(161) 评论(0) 推荐(0)

Spring mvc项目的web.xml以及注释
摘要:web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w 阅读全文

posted @ 2017-06-13 23:49 张小贱1987 阅读(1615) 评论(0) 推荐(0)

Spring + Mybatis 企业应用实战 第3章 Sping MVC的常用注解
摘要:注解(annotation) @Controller @Controller是扩展的@Component的,可以说基本一样,就是作为一种标志。 @RequestMapping value: 指定请求的实际地址,指定的地址可以是URI Template 模式(后面将会说明); method: 指定请求 阅读全文

posted @ 2017-06-13 21:02 张小贱1987 阅读(351) 评论(0) 推荐(0)

web.xml中url-pattern中/和/*的区别(来自网络)
摘要:其中/和/*的区别: < url-pattern > / </ url-pattern > 不会匹配到*.jsp,即:*.jsp不会进入spring的 DispatcherServlet类 。 < url-pattern > /* </ url-pattern > 会匹配*.jsp,会出现返回jsp 阅读全文

posted @ 2017-06-13 19:59 张小贱1987 阅读(3387) 评论(0) 推荐(0)

Spring + Mybatis 企业应用实战 第1章 Java EE应用
摘要:Java EE应用的分层模型: Domain Object 领域对象层。就是一些pojo。 DAO(data access object) 数据访问对象 Service 业务逻辑层 Controller 控制器层 View 表现层 ORM(object relation mapping) 如:EJB 阅读全文

posted @ 2017-06-13 18:49 张小贱1987 阅读(137) 评论(0) 推荐(0)

maven项目编译报错:Type Dynamic Web Module 3.0 requires Java 1.6 or newer.
摘要:在maven的pom.xml文件中增加: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3. 阅读全文

posted @ 2017-06-13 18:02 张小贱1987 阅读(142) 评论(0) 推荐(0)

高性能mysql 第11章 可扩展的mysql
摘要:可扩展性的定义:当增加资源以获得执行更多的工作系统能获得划算的同等提升。 向上扩展(垂直扩展):提升服务器的硬件性能。 向外扩展(水平扩展):一般都是复制,拆分,数据分片(sharding)。 复制:如主从复制分担读的压力。 拆分:如按照功能拆分,将不同的表放在不同的库上。 数据分片(shardin 阅读全文

posted @ 2017-06-11 21:48 张小贱1987 阅读(207) 评论(0) 推荐(0)

高性能mysql 第10章 复制
摘要:复制功能不仅能够构建高可用的应用,同时也是高可用性,可扩展性,灾难恢复,备份以及数据仓库等工作的基础。 mysql支持两种复制方式:基于语句的复制和基于行的复制。基于语句的复制(也成为逻辑复制)是早期版本提供的功能,基于行的复制是5.1版本加入的。这两种方式都是通过在主库上记录二进制日志,在从库上重 阅读全文

posted @ 2017-06-11 21:46 张小贱1987 阅读(159) 评论(0) 推荐(0)

mysql和oracle的语法差异(网络收集)
摘要:oracle没有offet,limit,在mysql中我们用它们来控制显示的行数,最多的是分页了。oracle要分页的话,要换成rownum。 oracle建表时,没有auto_increment,所有要想让表的一个字段自增,要自己添加序列,插入时,把序列的值,插入进去。 oracle有一个dual 阅读全文

posted @ 2017-06-10 21:05 张小贱1987 阅读(200) 评论(0) 推荐(0)

谨慎使用mysql的replace into(转载)
摘要:MySQL 对 SQL 有很多扩展,有些用起来很方便,但有一些被误用之后会有性能问题,还会有一些意料之外的副作用,比如 REPLACE INTO。 MySQL 在数据冲突时实际上是删掉了旧记录,再写入新记录,这是使用 REPLACE INTO 时最大的一个误区,拿之前的例子来说,执行完 REPLAC 阅读全文

posted @ 2017-06-10 18:14 张小贱1987 阅读(622) 评论(0) 推荐(0)

高性能mysql 第7章 mysql高级特性之分区表
摘要:分区表: 分区表是一个独立的逻辑表,底层通过多个物理表实现。 mysql实现分区表的方式是对底层表的封装。这意味着没有全局索引,索引是建立在底层的每个表上的(跟ORACLE不一样)。 用到分区表的几种情况: 数据量非常大,无法全部放到内存中。 只有部分数据是热点数据,其他数据是历史数据。 限制: 一 阅读全文

posted @ 2017-06-10 15:41 张小贱1987 阅读(285) 评论(0) 推荐(0)

高性能mysql 附录D explain执行计划详解
摘要:EXPLAIN: extended关键字:在explain后使用extended关键字,可以显示filtered列和warning信息。在较旧的MySQL版本中,扩展信息是使用EXPLAIN EXTENDED生成的。 该语法仍然被识别为向后兼容,但扩展输出现在默认启用,因此EXTENDED关键字是多 阅读全文

posted @ 2017-06-09 22:35 张小贱1987 阅读(480) 评论(0) 推荐(0)

mysql5.6新功能索引条件下推(转载)
摘要:原文地址:http://www.cnblogs.com/zengkefu/p/5684101.html 一什么是"索引条件下推" "索引条件下推",称为 Index Condition Pushdown (ICP),这是MySQL提供的用某一个索引对一个特定的表从表中获取元组",注意我们这里特意强调 阅读全文

posted @ 2017-06-08 17:38 张小贱1987 阅读(713) 评论(0) 推荐(0)

高性能mysql 第5章 创建高可用的索引
摘要:b-tree索引 一定程度上说,mysql只有b-tree索引。他没有bitmap索引。还有一个叫hash索引的,只在Memory存储引擎中才有。 b-tree索引跟oracle中的大同小异。 mysql中关于b-tree的限制: 只有做全值拼配或者根据左前缀匹配。我猜测是因为mysql没有基于co 阅读全文

posted @ 2017-06-08 16:12 张小贱1987 阅读(263) 评论(0) 推荐(0)

高性能mysql 第4章 Schema与数据类型优化
摘要:基本原则: 更小的通常更好:占用更少的磁盘 内存和cpu缓存。如varchar(2)和varchar(100)。 简单就好:比如整形比字符型代价更低。使用日期型来存储日期而不是字符串。使用整形存储ip地址。 尽量避免null:如果可以 加上not null约束。因为可以null的列使索引,索引统计, 阅读全文

posted @ 2017-06-08 00:20 张小贱1987 阅读(251) 评论(0) 推荐(0)

高性能mysql 第1章 mysql架构与历史
摘要:mysql逻辑架构图: 第一层 客户端 第二层(服务层):针对所有类型的存储引擎可以公共提取的部分。将存储引擎抽离之后的其他部分都在这里。如:查询解析,分析优化,内置函数,存储过程,触发器,视图。 第三层(存储引擎层):存储引擎负责mysql数据的存储和提取。服务器通过API与存储引擎进行通信。这些 阅读全文

posted @ 2017-06-07 21:41 张小贱1987 阅读(191) 评论(0) 推荐(0)

关于客户端连接mysql的授权问题
摘要:mysql远程连接 Host * is not allowed to connect to this MySQL server的错误。 是因为mysql需要授权才能访问。授权方式: 授权给某一个ip: GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1. 阅读全文

posted @ 2017-06-07 00:35 张小贱1987 阅读(384) 评论(0) 推荐(0)

分布式中 CAP BASE ACID 理解(转载)
摘要:概念理解(CAP,BASE, ACID) CAP CAP: Consistency, Availability, Partition-tolerance 强一致性(Consistency)。系统在执行过某项操作后仍然处于一致的状态。在分布式系统中,更新操作执行成功后所有的用户都应该读取到最新的值,这 阅读全文

posted @ 2017-06-06 13:55 张小贱1987 阅读(217) 评论(0) 推荐(0)

关于Mongodb的Cap理论的思考(转载)
摘要:大约在五六年前,第一次接触到了当时已经是hot topic的NoSql。不过那个时候学的用的都是mysql,Nosql对于我而言还是新事物,并没有真正使用,只是不明觉厉。但是印象深刻的是这么一张图片(后来google到图片来自这里): 这张图片是讲数据库(包括传统的关系型数据库和NOSQL)与CAP 阅读全文

posted @ 2017-06-06 13:10 张小贱1987 阅读(780) 评论(0) 推荐(0)

使用rpm安装mysql5.6(简单安装 实验使用)
摘要:[root@localhost mysql]# cd /usr [root@localhost mysql]# mkdir mysql [root@localhost mysql]# cd mysql [root@localhost mysql]# wget https://cdn.mysql.co 阅读全文

posted @ 2017-06-06 12:34 张小贱1987 阅读(1995) 评论(1) 推荐(2)

关于Mongodb的其他知识
摘要:Mongodb支持的数据类型 数据类型描述 String 字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。 Integer 整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。 Boolean 布尔值。用于存储布尔值(真/假)。 D 阅读全文

posted @ 2017-06-05 21:23 张小贱1987 阅读(273) 评论(0) 推荐(0)

Spring MVC + Mongodb
摘要:在maven的pom.xml中增加引用: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http 阅读全文

posted @ 2017-06-05 01:21 张小贱1987 阅读(460) 评论(0) 推荐(0)

关于log4j的配置文件
摘要:因为要在spring中添加Mongodb,在网上查阅资料的时候我发现有人在web.xml中添加如下代码: <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:config/proper 阅读全文

posted @ 2017-06-04 19:16 张小贱1987 阅读(316) 评论(0) 推荐(0)

Mongodb的mapreduce
摘要:简单的看了一下mapreduce,我尝试不看详细的api去做一个group效果,结果遇到了很多问题,罗列在这里,如果别人也遇到了类似的bug,可以检索到结果。 //先看person表的数据 > db.person.find(); { "_id" : ObjectId("593011c8a924979 阅读全文

posted @ 2017-06-03 13:49 张小贱1987 阅读(1245) 评论(1) 推荐(1)

Mongodb中的js语法
摘要:定义一个变量 > var len = 10; For循环 这里的db和data都可以作为对象 save是方法 接收一个临时定义的对象 > for(var i = 0; i < len; i++){db.data.save({x:i})}; WriteResult({ "nInserted" : 1 阅读全文

posted @ 2017-06-02 22:46 张小贱1987 阅读(1914) 评论(0) 推荐(0)

Mongodb的聚合和管道
摘要:MongoDB 聚合 MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。 aggregate() 方法 MongoDB中聚合的方法使用aggregate()。 语法 aggregate() 方法的基本语法格式如下所示: >db.COLLEC 阅读全文

posted @ 2017-06-01 22:57 张小贱1987 阅读(391) 评论(0) 推荐(0)

Mongodb文档查询
摘要:MongoDB 查询数据的语法格式如下: db.collection.find(query, projection) query :可选,使用查询操作符指定查询条件 projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。 比较操作: 操 阅读全文

posted @ 2017-06-01 21:44 张小贱1987 阅读(593) 评论(0) 推荐(0)

Mongodb的基本操作-数据库 集合 文档的增删改查
摘要:数据库操作: //查看有哪些数据库 > show dbs local 0.078GB mydb 0.078GB //use操作将切换到一个数据库 如果数据库存在将直接切换 如果不存在 那么会在切换之后,第一次执行新增修改操作的时候去创建这个数据库 > use newdb switched to db 阅读全文

posted @ 2017-06-01 20:10 张小贱1987 阅读(301) 评论(0) 推荐(0)

Linux下Mongodb的安装
摘要:[root@localhost usr]# cd /usr //创建Mongodb目录 用于存放Mongodb的程序 [root@localhost usr]# mkdir mongodb [root@localhost usr]# cd /usr/mongodb [root@localhost u 阅读全文

posted @ 2017-06-01 16:10 张小贱1987 阅读(224) 评论(0) 推荐(0)

mongdb的优势和不足
摘要:l 面向文档的数据库。 l 一个介于关系型数据库和非关系型数据库之间的产品,是非关系系数据库中功能最丰富,最像关系型数据库的。 l 特征是模式自由,schema-free。无需定义表结构。 l Mongodb在保存数据的时候,会把数据本身和数据的结构一起,按照一定的格式(BSON,JSON的二进制话 阅读全文

posted @ 2017-06-01 13:20 张小贱1987 阅读(359) 评论(0) 推荐(0)

使用maven简单搭建Spring mvc + redis缓存
摘要:注:此文参考并整合了网上的文章 《spring缓存机制》:http://blog.csdn.net/sidongxue2/article/details/30516141 《配置 Spring4.0 注解Cache+Redis缓存》:http://blog.csdn.net/ouyhong123/a 阅读全文

posted @ 2017-06-01 12:41 张小贱1987 阅读(3301) 评论(0) 推荐(0)

关于maven的repositories
摘要:在maven repositories视图中,有local repositories和global repositories两种。 local repositories是本地的库,默认目录在C:\Users\用户名\.m2\repository目录下。如果没有特殊配置,只有使用pom.xml的dep 阅读全文

posted @ 2017-06-01 12:04 张小贱1987 阅读(4394) 评论(0) 推荐(0)

java没有配置环境变量却可以生效的问题
摘要:最近在家里的电脑上安装了eclipse,安装完成后尝试打开eclipse的时候,我内心估计是要报错的。我期待看到的是,这个eclipse需要安装jdk才能运行,并且会告诉我需要的jdk版本。 结果eclipse直接运行成功了。我怀疑是新版的eclipse难道自带了jdk,结果在eclipse的目录下 阅读全文

posted @ 2017-06-01 12:02 张小贱1987 阅读(2889) 评论(0) 推荐(0)

使用maven构建web项目
摘要:l 新建一个maven项目,注意此处的选择如下图创建一个简单项目,不适用archetype selection。 下一步: 然后finish,项目就建好了。使用Navigator视图来查看现在建好的目录的结构如下: 此时查看Project Facets的配置,关于Project Facets的作用, 阅读全文

posted @ 2017-06-01 12:02 张小贱1987 阅读(156) 评论(0) 推荐(0)

linux下redis 安装
摘要:--获取redis [redis@localhost ~]$ wget http://download.redis.io/releases/redis-2.8.7.tar.gz --2017-05-29 09:58:56-- http://download.redis.io/releases/red 阅读全文

posted @ 2017-06-01 12:01 张小贱1987 阅读(525) 评论(0) 推荐(0)

关于nmap扫描端口
摘要:nmap查看一个服务器的端口,是通过扫描来实现的。所以在本机执行nmap扫描的端口有可能被防火墙阻止,在外部是访问不了的。 如:开启ORACLE监听后,在本机使用nmap 127.0.0.1是可以扫描到1521端口的,实际上,在局域网内部的其他机器上,可能访问不了,需要配置防火墙才可以。 可以在不是 阅读全文

posted @ 2017-06-01 12:00 张小贱1987 阅读(1114) 评论(0) 推荐(0)

oracle的监听控制
摘要:来自网络: listener control 监听控制 因为你在键入 lsnrctl 回车之后,就进入到监听控制界面。 在启动、关闭或者重启oracle监听器之前确保使用lsnrctl status命令检查oracle监听器的状态: 1、$lsnrctl status:检查当前监听器的状态 2、$l 阅读全文

posted @ 2017-06-01 11:56 张小贱1987 阅读(179) 评论(0) 推荐(0)

关于ORACLE的串行化隔离级别--来自ORACLE概念手册
摘要:为了描述同时执行的多个事务如何实现数据一致性,数据库研究人员定义了被 称为串行化处理(serializability)的事务隔离模型(transaction isolation model)。当所有事务都采取串行化的模式执行时,我们可以认为同一时间只有 一个事务在运行(串行的),而非并发的 以串行化 阅读全文

posted @ 2017-06-01 11:54 张小贱1987 阅读(1833) 评论(0) 推荐(0)

Linux下的启动oracle服务 启动监听 开放端口操作
摘要:尝试登录oracle 使用root用户将没有sqlplus命令 [root@localhost ~]# sqlplus /nolog bash: sqlplus: 未找到命令... [root@localhost ~]# su oracle [oracle@localhost root]$ sqlp 阅读全文

posted @ 2017-06-01 11:43 张小贱1987 阅读(3050) 评论(0) 推荐(0)

constant read 和 current read
摘要:来自网络,并且在本机实验完成: onsistent read :我的理解,就是通过scn来读取。 读取的过程中要保证 scn是一致的。举个例子,一个SELECT 语句在SCN=100的时刻开始读取一系列数据块。在执行的过程中,他发现一个数据块的SCN变成了101,也就是说这个数据块被更改过了。那么S 阅读全文

posted @ 2017-06-01 11:41 张小贱1987 阅读(376) 评论(0) 推荐(0)

关于ORACLE事务处理的一些笔记
摘要:这是2013年在看ORACLE概念手册的时候的一些笔记,现在整理如下(可能跟其他一些文章的内容有重复): 20131012 周六 oracle概念手册中文版 第4章 事务管理 事务具有原子性,要么全部提交,要么全部回滚。 事务开始于第一条可执行的sql语句,结束语commit或者rollback操作 阅读全文

posted @ 2017-06-01 11:40 张小贱1987 阅读(242) 评论(0) 推荐(0)

关系型数据库的隔离级别 读一致性
摘要:来自网络: 三种可防止的现象: 脏读(dirty read):事务可以读取其他事务还没有提交的修改; 不可重复读(nonrepeatable read):事务读取先前曾读取过的数据,发现其他的已提交事务修改或删除了要读取的数据; 幻象读(phantom read):事务再次执行一个查询,发现其他已提 阅读全文

posted @ 2017-06-01 11:39 张小贱1987 阅读(390) 评论(0) 推荐(0)

简单了解Oracle的回滚段
摘要:因为上一次研究了Oracle的事务一致性,中间查阅资料的时候,看到这个地方与回滚段有关。所以就罗列了以下简单的知识。更为深层次的就不再深挖了,个人感觉对于事务的一致性和隔离级别是开发经理应该了解的,但是回滚段的具体机制应该是DBA的学习范畴了。 回滚段(ROLLBACK SEGMENT)的作用: 回 阅读全文

posted @ 2017-06-01 11:37 张小贱1987 阅读(5256) 评论(0) 推荐(1)

更换Red Hat Enterprise Linux 7 64位的yum为centos的版本
摘要:查看redhat原有的yum包有哪些: 查看redhat原有的yum包有哪些: [root@localhost ~]# rpm -qa|grep yum yum-utils-1.1.31-24.el7.noarch yum-langpacks-0.4.2-3.el7.noarch yum-metad 阅读全文

posted @ 2017-06-01 11:36 张小贱1987 阅读(452) 评论(0) 推荐(0)

VMware中的桥接模式--来自网络
摘要:在桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一独立的主机,它可以访问网内任何一台机器。不过你需要多于一个的IP地址,并且需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。 如果你想利用VMware在局域网内新建一个虚拟服务器 阅读全文

posted @ 2017-06-01 11:35 张小贱1987 阅读(148) 评论(0) 推荐(0)

VMware中Red Hat Enterprise Linux 7 配置桥接模式局域网
摘要:在VMware中将虚拟机的网络连接设置为桥接模式。 在Red Hat中,找到应用程序--杂项--网络连接。 修改以太网下面的网络连接,在IPV4设置中,将方法改为“手动”,添加地址,子网掩码,网管,DNS服务器等信息。其中IP地址与主机地址在同一个网段,其他要跟主机一模一样。 之后就可以上网,也可以 阅读全文

posted @ 2017-06-01 11:35 张小贱1987 阅读(594) 评论(0) 推荐(0)

vmware的32位和64位的问题
摘要:想安装一个vmware的64位版本,在网上下载了64位版本之后,安装目录仍然在C:\Program Files (x86)目录下,上网查询之后得知,vmware12的主程序是32位的,但是主要的系统服务模块是64位的。所以安装包不用区分32位和64位。 阅读全文

posted @ 2017-06-01 11:34 张小贱1987 阅读(922) 评论(0) 推荐(0)

NoSQL数据库技术实战-第1章 NoSQL与大数据简介 NoSQL数据库的类型
摘要:键值存储数据库临时性:如Memcached。临时性的键值数据库把数据存储在内存中,在两种情况下会造成上数据的丢失,一是断电,而是数据内容超出内存大小。这种处理的好处是非常快。永久型:如Tokyo Tyrant 、Flare和ROMA两者兼有型:Redis。Redis首先把数据存在内存中,然后在满足特 阅读全文

posted @ 2017-06-01 11:33 张小贱1987 阅读(247) 评论(0) 推荐(0)

NoSQL数据库技术实战-第1章 NoSQL的数据一致性 传统关系型数据库的ACID
摘要:在看着章节的时候,我简单的回顾了一下关系型数据库的事务处理的ACID原则,其中原子性和持久性比较好理解。由于以前没有深入去研究。关于一致性和隔离性上我产生了疑问,在整理后分析如下: 一致性:书中所说的一致性是指数据库要保证事务处理前后,数据从一种一致的状态转移到另外一种一致的状态。书中举的例子是银行 阅读全文

posted @ 2017-06-01 11:33 张小贱1987 阅读(495) 评论(0) 推荐(0)

NoSQL数据库技术实战-第1章 NoSQL与大数据简介 NoSQL产生的原因
摘要:NoSQL产生的原因: 关系型数据库不擅长的操作,是NoSQL应运而生的原因: 大量的数据写入操作书上写的是“大量数据的写入操作“,我理解的应该是“大量的数据写入操作”,因为大量的数据写入操作才会引起并发,并发和锁是关系型数据库的瓶颈,NoSQL将表拆分到不同的节点上,可以将写入操作分发到各个节点上 阅读全文

posted @ 2017-06-01 11:32 张小贱1987 阅读(375) 评论(0) 推荐(0)

导航