近期由于工作的需求,需要补充一下Oracle DB的知识;
oracle-xe-11g是Oracle推出的一款免费产品,可惜只有rpm包; 由于习惯于使用界面更加友好的Ubuntu,但是Google了很久,在Ubuntu上安装oracle-xe-11g确实是件痛苦的事情。另外,为了趁此机会学习一下时髦的Docker,决定使用docker-oracle-xe-11g。
多系统之间调用超时问题处理多系统之间调用超时问题处理
如系统A调用系统B服务,系统B需要处理大量数据(或耗时较长的DB call),设计出现超时情况,如何处理?
(系统B事务回滚、系统A重试机制、aop等)
控制service最大并发量
(容器级别、单一service级别、线程池)
1亿条数据中查找1条数据,查询时间响应问题,可能解决方案
(硬件、index、表分片、分布式DB)
Class.getResource(path)
当path以’/’开头时,从ClassPath根目录下获取资源;否则是该类所在的包下获取资源.
ClassLoader.getResource(path)
path不能以’/’开头,是从ClassPath根目录下获取资源.this.getClass.getResource("/") == this.getClass.getClassLoader.getResource("")
今天面试的一道题目,惭愧ing,java开发近2年,对于这2个单词,最熟悉不过,也知道其中的含义,但是如何二者的区别和联系是什么?
JDK: Java Development Kit
JRE: Java Runtime Environment
JRE是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。
JDK是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。
无连接,无状态 详细说明见: + 如何理解HTTP协议的 “无连接,无状态” 特点?
本文摘自:https://nkcoder.github.io/2014/03/13/spring-aop-example/
依赖注入(DI)有助于应用对象之间的解耦,而面向切面编程(AOP)有助于横切关注点与所影响的对象之间的解耦。所谓横切关注点,即影响应用多处的功能,这些功能各个应用模块都需要,但又不是其主要关注点,常见的横切关注点有日志、事务和安全等。
将横切关注点抽离形成独立的类,即形成了切面。切面主要由切点和通知构成,通知定义了切面是什么,以及何时执行何种操作;切点定义了在何处执行通知定义的操作。
下面以简单的日志作为切面,分别介绍通过xml配置和注解实现AOP。
因为Spring AOP用到AspectJ的相关对象和注解,需要添加AspectJ的依赖:
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.7.4</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.7.4</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>