10 2016 档案

摘要:1.spring事物的传播行为,主要是用来解决业务层拥有事物的方法,相互调用的问题。 2.声明事物, 在代码执行前,开启事务。代码执行完,提交事务 3.spring并没有提供事务具体的处理,而只是调用orm框架的事务,connection的事务。 spring只是对底层事务做了一层封装。 4.spr 阅读全文
posted @ 2016-10-25 23:11 跨境电商杂货铺 阅读(2478) 评论(4) 推荐(0) 编辑
摘要:一)spring的事务管理 事务管理并非spring独有,用过JDBC hibernate的朋友都知道,这些api和框架都提供了自己的事务管理机制。那么spring的事务管理又有些什么与众不同支持呢?它的优点又有哪些呢?总结来说大概有以下这么几点: 1' 为不同的事务API提供一致的编程模型,如Ja 阅读全文
posted @ 2016-10-24 19:33 跨境电商杂货铺 阅读(371) 评论(2) 推荐(0) 编辑
摘要:Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。 DataSource、TransactionManager这两部分只是会根据数据访问方式有所变化,比如使用Hib 阅读全文
posted @ 2016-10-24 18:05 跨境电商杂货铺 阅读(498) 评论(1) 推荐(0) 编辑
摘要:所以“<aop:aspect>”实际上是定义横切逻辑,就是在连接点上做什么,“<aop:advisor>”则定义了在哪些连接点应用什么<aop:aspect>。Spring这样做的好处就是可以让多个横切逻辑(即<aop:aspect>定义的)多次使用,提供可重用性。 阅读全文
posted @ 2016-10-24 18:00 跨境电商杂货铺 阅读(223) 评论(0) 推荐(0) 编辑
摘要:【Spring实战】—— 9 AOP环绕通知 假如有这么一个场景,需要统计某个方法执行的时间,如何做呢? 典型的会想到在方法执行前记录时间,方法执行后再次记录,得出运行的时间。 如果采用Spring的AOP,仅仅使用前置和后置方法是无法做到的,因为他们无法共享变量。这样通过环绕通知,就可以快捷的实现 阅读全文
posted @ 2016-10-24 17:41 跨境电商杂货铺 阅读(3671) 评论(5) 推荐(0) 编辑
摘要:使用Restful 这是在构建完整个系统最大的收获,之前使用web api的经验只是为电商系统的移动终端提供数据交互的接口,但是在这次项目之后发现Rest接口的不仅作为我们系统向外部系统提供交互的方式,同时在一些开源工具其暴露出来的接口也是基于rest的,可见全世界的程序员对于json对于rest有 阅读全文
posted @ 2016-10-24 17:27 跨境电商杂货铺 阅读(226) 评论(1) 推荐(0) 编辑
摘要:1.spring aop配置如下: 1.aspect切面是一个具体类,里面包含各种执行的通知方法。切面类也要注册到ioc容器中。 2.切入点pointcut,可以在每个通知里单独配置,即每个通知可以指定自己的切入点,各个通知的切入点不必相同。 3.配置aop的层次关系,切面是个具体类,切面里包含通知 阅读全文
posted @ 2016-10-24 17:27 跨境电商杂货铺 阅读(307) 评论(0) 推荐(0) 编辑
摘要:1.Netty只是网络通信框架,把Java Socket的API又封装了一次,使得你可以用最少的代码来完成网络通信这一任务。 我们可以推断演进一下 1. A B 两个进程之间需要进行数据交换。2.于是我们想出来在某个内存区域划出一个空间,然后向该空间中写入和读取数据。(共享文件也可以)(常见的soc 阅读全文
posted @ 2016-10-24 16:06 跨境电商杂货铺 阅读(347) 评论(0) 推荐(0) 编辑
摘要:1.spring aop两种实现方式,1预编译aspectJ 2运行期间动态代理,利用jdk动态代理,cgllib动态代理 2.典型的切面有,日志记录,事物控制,安全验证 3.spring aop与aspectj不会产生竞争。aspectJ是一个完整的,综合的aop实现方案。 4.spring ao 阅读全文
posted @ 2016-10-20 18:33 跨境电商杂货铺 阅读(144) 评论(0) 推荐(0) 编辑
摘要:1.@bean注解用于注册一个bean到 到ioc容器中。类似于@component注解 2.@configure注解,相当于指明这个类是配置文件 3.@bean还可以指定initMethod,destroyMethod,用来指定bean的初始化方法和销毁方法。 4.AspectJ是独立的sprin 阅读全文
posted @ 2016-10-20 18:12 跨境电商杂货铺 阅读(326) 评论(0) 推荐(0) 编辑
摘要:1.spring @qualifier注解用来在spring按类型装配可能存在多个bean的情况下,@qualifier注解可以用来缩小范围或者指定唯一。 也可以用来指定方法参数 2.@qualifier(name),name指的是具体bean的名称 阅读全文
posted @ 2016-10-20 16:28 跨境电商杂货铺 阅读(1072) 评论(0) 推荐(0) 编辑
摘要:1.autowire注解,可以用来获得applicationContext,ResourceLoader,BeanFactory的注入 autoWire会获得相应资源 2.autoWire注解还可以用来数组/set/list的注入,以提供所有该类型的bean 阅读全文
posted @ 2016-10-20 16:19 跨境电商杂货铺 阅读(358) 评论(0) 推荐(0) 编辑
摘要:1.spring利用注解来定义bean,或者利用注解来注册装配bean。包括注册到ioc中,装配包括成员变量的自动注入。 1.spring会自动扫描所有类的注解,扫描这些注解后,spring会将这些bean注册到ioc容器中。省去了xml文件的书写bean方法。 2.spring会自动扫描这些注解, 阅读全文
posted @ 2016-10-20 00:33 跨境电商杂货铺 阅读(1184) 评论(0) 推荐(0) 编辑
摘要:1.这里的属性自动注入,与注解配置bean是两回事。这里的自动注入,指的是bean属性的自动注入。 bean属性自动注入,包括byNAme和ByType两码事。 2.所有的applicationContext都实现了resourceLoader接口,通过resourceLoader可以获得resou 阅读全文
posted @ 2016-10-20 00:24 跨境电商杂货铺 阅读(873) 评论(0) 推荐(0) 编辑
摘要:嵌套对象,就是相当于一个封装,内存空间里留下一条连续内存 阅读全文
posted @ 2016-10-20 00:05 跨境电商杂货铺 阅读(312) 评论(0) 推荐(0) 编辑
摘要:1.实现了相应的aware接口,这个类就获取了相应的资源。 2.spring中有很多aware接口,包括applicationContextAware接口,和BeanNameAware接口。 实现了这些接口的类,然后,这类中就包含了applicationContext对象的引用。BeanNameAw 阅读全文
posted @ 2016-10-20 00:04 跨境电商杂货铺 阅读(864) 评论(0) 推荐(0) 编辑
摘要:1.只要分层,就涉及到接口来连接。各层之间只通过接口来向外暴露功能。 2.spring中service层调用dao层时候,service层声明接口变量,具体接口实现可以ioc注入 阅读全文
posted @ 2016-10-19 20:27 跨境电商杂货铺 阅读(1314) 评论(0) 推荐(0) 编辑
摘要:2.外键可以是一对一的,一个表的记录只能与另一个表的一条记录连接,或者是一对多的,一个表的记录与另一个表的多条记录连接。 1.一对多,在多的一方建立外键(外键指向一的主键) 阅读全文
posted @ 2016-10-19 13:59 跨境电商杂货铺 阅读(19157) 评论(0) 推荐(4) 编辑
摘要:1.符合数据库三范式 2.字段选择合适的数据类型 3.注意表之间的联系,一对多,多对多,一对一 4.拆分表,把不常用的字段单独成表。 5.建立索引,哪些字段建立索引?建立索引的原则?最左前缀原则,where子句原则 mysql优化包括: 1.选择合适的存储引擎 2.合适的建表 3.sql语句的书写, 阅读全文
posted @ 2016-10-19 13:43 跨境电商杂货铺 阅读(484) 评论(0) 推荐(0) 编辑
摘要:1范式:表中的每个字段都是原子的,表中的字段不能再拆分。 如:讲师代课表:讲师姓名(P)、性别、班级(P)、教室、代课时间(天)、代课时间段(开始--结束) 不满足1NF,代课时间段需要拆分解决方案:将代课时间段拆分成开始和结束 讲师代课表:讲师姓名(P)、性别、班级(P)、教室、代课时间(天)、开 阅读全文
posted @ 2016-10-19 01:06 跨境电商杂货铺 阅读(258) 评论(0) 推荐(0) 编辑
摘要:一对一 一张表的一条记录一定只能与另外一张表的一条记录进行对应,反之亦然。 学生表:姓名,性别,年龄,身高,体重,籍贯,家庭住址,紧急联系人 其中姓名、性别、年龄、身高,体重属于常用数据,但是籍贯、住址和联系人为不常用数据 如果每次查询都是查询所有数据,不常用的数据就会影响效率,实际又不用 常用信息 阅读全文
posted @ 2016-10-19 00:59 跨境电商杂货铺 阅读(936) 评论(0) 推荐(0) 编辑
摘要:1.数据库中的多对多关联关系一般需采用中间表的方式处理,将多对多转化为两个一对多。 2.通过表的关系,来帮助我们怎样建表,建几张表。 阅读全文
posted @ 2016-10-19 00:51 跨境电商杂货铺 阅读(16427) 评论(1) 推荐(2) 编辑
摘要:1.1、MySQL中“键”和“索引”的定义相同,所以外键和主键一样也是索引的一种。不同的是MySQL会自动为所有表的主键进行索引,但是外键字段必须由用户进行明确的索引。用于外键关系的字段必须在所有的参照表中进行明确地索引,InnoDB不能自动地创建索引。 2.2、外键可以是一对一的,一个表的记录只能 阅读全文
posted @ 2016-10-19 00:50 跨境电商杂货铺 阅读(329) 评论(0) 推荐(0) 编辑
摘要:1.mysql级联更新有两种方式:触发器更新和外键更新. 2.触发器更新和外键更新的目的都是为了保证数据完整性。 我们通常有这样的需求:删除表Table 1中记录,需要同时删除其它表中与Table 1有关的若干记录。 举个例子: 现有2个实体- 麻将机 学生、课程,1种联系- 成绩 分别创建 学生表 阅读全文
posted @ 2016-10-19 00:44 跨境电商杂货铺 阅读(6992) 评论(0) 推荐(0) 编辑
摘要:CREATE TABLE `comment` ( `c_id` int(11) NOT NULL auto_increment COMMENT '评论ID', `u_id` int(11) NOT NULL COMMENT '用户ID', `name` varchar(50) NOT NULL de 阅读全文
posted @ 2016-10-19 00:43 跨境电商杂货铺 阅读(3777) 评论(0) 推荐(0) 编辑
摘要:MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引。在创建索引的时候,可以指定在删除、更新父表时,对子表进行的相应操作,包括RESTRICT、NO ACTION、SET NULL和CASCADE。其中RESTRICT和 阅读全文
posted @ 2016-10-19 00:36 跨境电商杂货铺 阅读(5417) 评论(0) 推荐(0) 编辑
摘要:首先,目前在产品环境可用的MySQL版本(指4.0.x和4.1.x)中,只有InnoDB引擎才允许使用外键,所以,我们的数据表必须使用InnoDB引擎。 下面,我们先创建以下测试用数据库表: 注意: 1、必须使用InnoDB引擎; 2、外键必须建立索引(INDEX); 3、外键绑定关系这里使用了“  阅读全文
posted @ 2016-10-19 00:33 跨境电商杂货铺 阅读(575) 评论(0) 推荐(0) 编辑
摘要:1.只有InnoDB引擎才允许使用外键,所以,我们的数据表必须使用InnoDB引擎。 2.注意: 1、必须使用InnoDB引擎; 2、外键必须建立索引(INDEX); 3、外键绑定关系这里使用了“ ON DELETE CASCADE”,意思是如果外键对应数据被删除,将关联数据完全删除, 3.更新的操 阅读全文
posted @ 2016-10-19 00:32 跨境电商杂货铺 阅读(398) 评论(0) 推荐(0) 编辑
摘要:1.它是一种解释语言:写一句执行一句,不需要整体编译执行。 2。1.没有“ ”,字符串使用‘ '包含 3.一个表只有一个主键,但是一个主键可以是由多个字段组成的 组合键 4.实体完整性:实体就是指一条记录。这种完整性就是为了保证每一条记录不是重复记录。是有意义的 5.目前关系数据库最常用的四种范式分 阅读全文
posted @ 2016-10-19 00:21 跨境电商杂货铺 阅读(273) 评论(0) 推荐(0) 编辑
摘要:1.一个Netty程序开始于一个Bootstrap类 2.Netty中设计了Handlers来处理特定的“event”和设置Netty中的事件,从而来处理多个协议和数据。可以自定义Handler用来将Obeject转换成byte[],或者将byte[]转换成Object,或者定义handler处理异 阅读全文
posted @ 2016-10-19 00:08 跨境电商杂货铺 阅读(167) 评论(0) 推荐(0) 编辑
摘要:Netty是什么? 相对于Tomcat这种Web Server(顾名思义主要是提供Web协议相关的服务的),Netty是一个Network Server,是处于Web Server更下层的网络框架,也就是说你可以使用Netty模仿Tomcat做一个提供HTTP服务的Web容器。简而言之,Netty通 阅读全文
posted @ 2016-10-19 00:05 跨境电商杂货铺 阅读(695) 评论(0) 推荐(0) 编辑
摘要:方法阻塞,方法一直阻塞,意味着这个程序卡在这里,一直不向下运行。知道这个阻塞方法执行完毕,有返回值。程序才继续向下执行. 2.// 采用轮询的方式监听selector上是否有需要处理的事件,如果有,则进行处理 Client 阅读全文
posted @ 2016-10-18 23:58 跨境电商杂货铺 阅读(2889) 评论(1) 推荐(0) 编辑
摘要:也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步IO 阅读全文
posted @ 2016-10-18 23:41 跨境电商杂货铺 阅读(330) 评论(0) 推荐(0) 编辑
摘要:1.一般来说,可以通过多线程的方式来实现异步 2.同步和异步着重点在于多个任务的执行过程中,一个任务的执行是否会导致整个流程的暂时等待; 3.而阻塞和非阻塞着重点在于发出一个请求操作时,如果进行操作的条件不满足是否会返会一个标志信息告知条件不满足。 阅读全文
posted @ 2016-10-18 23:40 跨境电商杂货铺 阅读(179) 评论(0) 推荐(0) 编辑
摘要:1.NIO是Java 4里面提供的新的API,目的是用来解决传统IO的问题。是用来解决传统io的问题的。 用来解决传统io的问题的。用来解决传统io的问题。阻塞的。 2.传统IO中,Stream是单向的,比如InputStream只能进行读取操作,OutputStream只能进行写操作。而Chann 阅读全文
posted @ 2016-10-18 23:35 跨境电商杂货铺 阅读(313) 评论(0) 推荐(0) 编辑
摘要:管道(Pipe) (本部分原文链接,作者:Jakob Jenkov,译者:黄忠,校对:丁一) Java NIO 管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。 这里是Pipe原理的图示: 创建管道 通过Pipe. 阅读全文
posted @ 2016-10-18 23:12 跨境电商杂货铺 阅读(373) 评论(0) 推荐(0) 编辑
摘要:Buffer的基本用法 使用Buffer读写数据一般遵循以下四个步骤: 写入数据到Buffer 调用flip()方法 从Buffer中读取数据 调用clear()方法或者compact()方法 当向buffer写入数据时,buffer会记录下写了多少数据。一旦要读取数据,需要通过flip()方法将B 阅读全文
posted @ 2016-10-18 23:08 跨境电商杂货铺 阅读(447) 评论(0) 推荐(0) 编辑
摘要:而一个NIO的实现会有所不同,下面是一个简单的例子: Java代码 ByteBuffer buffer = ByteBuffer.allocate(48); int bytesRead = inChannel.read(buffer); Java代码 Java代码 注意第二行,从通道读取字节到Byt 阅读全文
posted @ 2016-10-18 23:04 跨境电商杂货铺 阅读(573) 评论(0) 推荐(0) 编辑
摘要:Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。 Asynchrono 阅读全文
posted @ 2016-10-18 22:59 跨境电商杂货铺 阅读(200) 评论(0) 推荐(0) 编辑
摘要:什么是jsp? JSP(Java Server Pages)是指: 在HTML中嵌入Java脚本代码 由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码 然后将生成的整个页面信息返回给客户端 Jsp和html的区别:jsp动态网页,可以传递数据html:静态网页,获取不到数据 JSP执行过 阅读全文
posted @ 2016-10-18 16:42 跨境电商杂货铺 阅读(1781) 评论(0) 推荐(0) 编辑
摘要:HTTP协议的特点 HTTP协议是无状态的协议,发送的请求不记录用户的状态,不记录用户的信息。就相当于它被访问了2次,不知道是哪两人访问的,或者是一个人访问两次。 正是因为HTTP协议的这一特点,用户的活动发生在多个请求和响应之中,作为web服务器,必须能够采用一种机制来唯一地标识一个用户,同时记录 阅读全文
posted @ 2016-10-18 16:29 跨境电商杂货铺 阅读(1601) 评论(0) 推荐(0) 编辑
摘要:HTTP请求信息: 请求的组成部分: (1).请求行:由3个标记方法组成,请求方法,请求URL和HTTP版本,用空格分隔 (2).请求头域:有关键字/值对组成,每行一对,关键字和值用冒号分开。 (3).空行:最后一个请求头标之后是一个空行 (4).请求数据:使用Post传送数据,最长使用的是Cont 阅读全文
posted @ 2016-10-18 14:41 跨境电商杂货铺 阅读(271) 评论(0) 推荐(0) 编辑
摘要:1.tomcat就是一个容器而已,一个软件,运行在java虚拟机。 2.tomcat是一种能接收http协议的软件,java程序猿自己也可以写出http解析的服务器啊。 3.tomcat支持servlet,tomcat有自己写好的java jar包,java.servlet.*jar包,只需要咱们编 阅读全文
posted @ 2016-10-17 22:20 跨境电商杂货铺 阅读(584) 评论(0) 推荐(0) 编辑
摘要:3、用线程池实现TCP服务器端时,首先创建一个ServerSocket实例,然后创建N个线程,每个线程反复循环,从(共享的)ServerSocket实例接收客户端连接。当多个线程同时调用一个ServerSocket实例的accept()方法时,它们都将阻塞等待,直到一个新的连接成功建立,然后系统选择 阅读全文
posted @ 2016-10-17 21:38 跨境电商杂货铺 阅读(260) 评论(0) 推荐(0) 编辑
摘要:bufferedinputstream和bufferedoutputstream:这两个类是在inputstream和outputstream的基础上增加了一个buffer的缓冲区,从而使数据不直接写入到流中,而是先写入buffer然后再一次性flush到流中,相信对于大多数人来说,不难理解buff 阅读全文
posted @ 2016-10-17 21:15 跨境电商杂货铺 阅读(421) 评论(0) 推荐(0) 编辑
摘要:IO流实现的目标就是从程序外(文件,网路等)读取数据到程序中以及从程序中输出数据到程序外。然而我们经常用到的IO流往往不止于这两个,比如inputstream,outputstream,fileinputstream,fileoutputstream,bufferedinputstream,buff 阅读全文
posted @ 2016-10-17 21:13 跨境电商杂货铺 阅读(222) 评论(0) 推荐(0) 编辑
摘要:1.路径分隔符问题: 因为java有跨平台行,而在windows和linux中的目录分隔符是不同的。windows是"\" 而linux是"/" 所以必须想办法解决。在java的File的方法中我们发现了public static final String separator 这样系统就会根据系统信 阅读全文
posted @ 2016-10-17 21:10 跨境电商杂货铺 阅读(401) 评论(0) 推荐(0) 编辑
摘要:买书的例子 程序应该将图书数量的操作和更新account用户余额的操作作为一个事务来处理,只有这两个操作都完成的情况下,才能提交事务,否则就回滚事务。 本文转自http://blog.chinaunix.net/uid-26284395-id-3037410.html,感谢作者 (2)设置事务回滚点 阅读全文
posted @ 2016-10-17 20:58 跨境电商杂货铺 阅读(188) 评论(0) 推荐(0) 编辑
摘要:Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent, 阅读全文
posted @ 2016-10-17 19:21 跨境电商杂货铺 阅读(253) 评论(0) 推荐(0) 编辑
摘要:连接池的管理用了了享元模式,这里对连接池进行简单设计。 一、设计思路 1.连接池配置属性DBbean:里面存放可以配置的一些属性 2.连接池接口IConnectionPool:里面定义一些基本的获取连接的一些方法 3.接口实现ConnectionPool:对上面操作进行实现,并加入一些其他方法 4. 阅读全文
posted @ 2016-10-17 18:55 跨境电商杂货铺 阅读(376) 评论(0) 推荐(0) 编辑
摘要:八、Java编程建议 根据GC的工作原理,我们可以通过一些技巧和方式,让GC运行更加有效率,更加符合应用程序的要求。一些关于程序设计的几点建议: 1)最基本的建议就是尽早释放无用对象的引用。大多数程序员在使用临时变量的时候,都是让引用变量在退出活动域(scope)后,自动设置为 null.我们在使用 阅读全文
posted @ 2016-10-17 18:22 跨境电商杂货铺 阅读(351) 评论(0) 推荐(0) 编辑
摘要:基本数据类型是放在栈中还是放在堆中,这取决于基本类型声明的位置。 一:在方法中声明的变量,即该变量是局部变量,每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法中声明的变量就放在方法栈中,当方法结束系统会释放方法栈,其对应在该方法中声明的变量随着栈的销毁而结束,这就局部变量只能在方法中有 阅读全文
posted @ 2016-10-17 18:13 跨境电商杂货铺 阅读(18739) 评论(1) 推荐(5) 编辑
摘要:数据类型可以分为两大类: 1)基本类型; 2)扩展类型。 先来看一下Java语言的基本数据类型。它包括 类型 描述 取值范围 Boolean 布尔型 只有两个值true、false Char 字符型 Byte 8位带符号整数 -128到127之间的任意整数 Short 16位无符号整数 -32768 阅读全文
posted @ 2016-10-17 18:12 跨境电商杂货铺 阅读(1730) 评论(0) 推荐(0) 编辑
摘要:数组扩容可以通过新建一个数组长度设大点,然后通过 System.arraycopy(a1,0,a2,0,a.length)这种方式扩容,其他方式貌似没有。。。 这是一个Java数组实例,对一个顺序数组插入一个数。很明显直接插入是不行的,因为java中数组是固定的,不变是不能动态扩容的,想要插入一个数 阅读全文
posted @ 2016-10-17 17:41 跨境电商杂货铺 阅读(3255) 评论(0) 推荐(0) 编辑
摘要:60. 下面那些情况可以终止当前线程的运行? 正确答案: B 你的答案: A (错误) 当一个优先级高的线程进入就绪状态时 抛出一个异常时 当该线程调用sleep()方法时 当创建一个新线程时 B 当一个优先级高的线程进入就绪状态时,它只是有较高的概率能够抢到CPU的执行权,不是一定就能抢到执行权, 阅读全文
posted @ 2016-10-17 17:27 跨境电商杂货铺 阅读(3660) 评论(2) 推荐(0) 编辑
摘要:1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难; 链表 链表存储区间离散,占用内存比较宽松,故空间复杂度 阅读全文
posted @ 2016-10-17 17:24 跨境电商杂货铺 阅读(346) 评论(0) 推荐(0) 编辑
摘要:threadlocal精髓是为每一个线程保证一个共享对象,保证一个,保证同一个线程中是同一个共享对象。 如果是静态变量是共享的话,那必须同步,否则尽管有副本,还是会出错,故C错 阅读全文
posted @ 2016-10-17 17:08 跨境电商杂货铺 阅读(438) 评论(0) 推荐(0) 编辑
摘要:,byte和short型在计算时会自动转换为int型计算,结果也是int 型。所以a1*a2的结果是int 型的。 byte+byte=int,低级向高级是隐式类型转换,高级向低级必须强制类型转换,byte<char<short<int<long<float<double 阅读全文
posted @ 2016-10-17 16:44 跨境电商杂货铺 阅读(722) 评论(0) 推荐(0) 编辑
摘要:1.hashmap是通过存放对象的hash算法进行对象的存储的,其查询,put,get方法均是。 所以将对象存储进hashmap,set啥时候,要重写hashcode方法。 2.hash算法存储,查询元素,效率很高。因为其通过hash算法进行的 阅读全文
posted @ 2016-10-14 17:24 跨境电商杂货铺 阅读(190) 评论(1) 推荐(0) 编辑
摘要:http://blog.csdn.net/cutesource/article/details/5710645 http://www.jb51.net/article/38953.htm http://blog.csdn.net/cnweike/article/details/33736429 ht 阅读全文
posted @ 2016-10-14 01:27 跨境电商杂货铺 阅读(353) 评论(0) 推荐(0) 编辑
摘要:读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。 为什么要分库、分表、读写分? 单表的数据量限制,当单表数据量到一定条数之后数据库性能会显著下降。数 阅读全文
posted @ 2016-10-14 01:25 跨境电商杂货铺 阅读(5257) 评论(0) 推荐(1) 编辑
摘要:现在大型的电子商务系统,在数据库层面大都采用读写分离技术,就是一个Master数据库,多个Slave数据库。Master库负责数据更新和实时数据查询,Slave库当然负责非实时数据查询。因为在实际的应用中,数据库都是读多写少(读取数据的频率高,更新数据的频率相对较少),而读取数据通常耗时比较长,占用 阅读全文
posted @ 2016-10-14 01:23 跨境电商杂货铺 阅读(210) 评论(0) 推荐(0) 编辑
摘要:http://blog.chinaunix.net/uid-20586655-id-291471.html 阅读全文
posted @ 2016-10-14 01:21 跨境电商杂货铺 阅读(276) 评论(0) 推荐(0) 编辑
摘要:重点介绍HashMap。首先介绍一下什么是Map。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value。在下文中会有例子具体说明。 再来看看HashMap和TreeMap有什么区别。HashMap通过hashcod 阅读全文
posted @ 2016-10-14 01:20 跨境电商杂货铺 阅读(90537) 评论(0) 推荐(1) 编辑
摘要:http://bbs.csdn.net/topics/391814418?page=1 1.第一次启动的时候肯定是把所有文章加载到缓存里的,每次点击动态更新的是缓存中的值,用定时任务最后更新到数据库中,我们是这么做的 2.PV有多少?大部分的情况用Redis之类的缓存就能够满足你的需求吧如果Redi 阅读全文
posted @ 2016-10-14 01:17 跨境电商杂货铺 阅读(2815) 评论(0) 推荐(0) 编辑
摘要:1.写后台线程,心跳机制等判断用户是否在线。 2.利用session 每次用户登录会产生一个session 因为考虑到一台电脑多个浏览器之间session不共享也就是可能会形成这样一个概念,你的同一个用户名在服务器中打开了两个不同版本的浏览器因此保存了2个session,也就造成了不准确的因素所以你 阅读全文
posted @ 2016-10-14 01:13 跨境电商杂货铺 阅读(14611) 评论(1) 推荐(0) 编辑
摘要:再次,站在开发(设计)人员角度去考虑。 1、 架构设计是否合理2、 数据库设计是否合理3、 代码是否存在性能方面的问题4、 系统中是否有不合理的内存使用方式5、 系统中是否存在不合理的线程同步方式6、 系统中是否存在不合理的资源竞争 二、软件性能的几个主要术语 1、响应时间:对请求作出响应所需要的时 阅读全文
posted @ 2016-10-14 01:01 跨境电商杂货铺 阅读(283) 评论(0) 推荐(0) 编辑
摘要:如:用户在大数据量查询时,我们可以将先提取出来的数据展示给用户,在用户看的过程中继续进行数据检索,这时用户并不知道我们后台在做什么。 ajax异步 阅读全文
posted @ 2016-10-14 01:00 跨境电商杂货铺 阅读(574) 评论(0) 推荐(0) 编辑
摘要:PS:下面是性能测试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。 系统吞吐量几个重要参数:QPS(TPS 阅读全文
posted @ 2016-10-14 00:41 跨境电商杂货铺 阅读(688) 评论(0) 推荐(0) 编辑
摘要:1.线程池或者数据库连接池,都有最大限制。如果超出了限制数量,则新进来的申请连接都要放入额外的队列里,以便池空出来时,从队列中取出连接放进池里。 所以,线程池和数据库连接池中,都有自己的队列数据结构。当然,池本身也是一种集合数据结构,即hashmap或者list。 2.这也就是cocurrent包中 阅读全文
posted @ 2016-10-14 00:01 跨境电商杂货铺 阅读(461) 评论(0) 推荐(0) 编辑
摘要:1.线程调度知识:线程类Thread的了解,几个thread的方法。thread.sleep(),thread.join()。(调用join方法的那个线程会立刻执行)。 object.wait()方法,notifyAll()方法。 2.线程间通信知识(共享资源):synchronized,volat 阅读全文
posted @ 2016-10-13 23:50 跨境电商杂货铺 阅读(663) 评论(1) 推荐(0) 编辑
摘要:http://blog.csdn.net/yanghua_kobe/article/details/7296156 原文不错。 服务器支持的并发连接数,就是要开多少个线程,每个线程里一个socket监听服务器端口。等待连接。 阅读全文
posted @ 2016-10-13 23:30 跨境电商杂货铺 阅读(905) 评论(0) 推荐(0) 编辑
摘要:在网络服务器上,并发是指同一时刻能处理的连接数,比如,服务器能建立1000个TCP连接,即服务器同时维护了1000个socket,这个服务器的并发量就是1000,但是服务器可能只有单核或者8核,16核等,总之对这1000个socket连接的处理也是分时来做的。每个socket服务器处理的时间如果是1 阅读全文
posted @ 2016-10-13 23:17 跨境电商杂货铺 阅读(1553) 评论(0) 推荐(0) 编辑
摘要:这篇博文我们主要介绍J2EE中的一个重要规范JMS,因为这个规范在企业中的应用十分的广泛,也比较重要,我们主要介绍JMS的基本概念和它的模式,消息的消费以及JMS编程步骤。 基本概念 JMS是java的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输。 消息模型 即点对点和发布订阅模 阅读全文
posted @ 2016-10-13 19:23 跨境电商杂货铺 阅读(223) 评论(0) 推荐(0) 编辑
摘要:来个个人通俗的解释吧。消息队列,顾名思义 首先是个队列。队列的操作有入队和出队 也就是你有一个程序在产生内容然后入队(生产者) 另一个程序读取内容,内容出队(消费者) 我想你应该是缺乏一个使用场景。 当你不需要立即获得结果,但是并发量又不能无限大的时候,差不多就是你需要使用消息队列的时候。 比如你写 阅读全文
posted @ 2016-10-13 18:25 跨境电商杂货铺 阅读(758) 评论(0) 推荐(0) 编辑
摘要:1.注:先不看阻塞与否,这ReentrantLock的使用方式就能说明这个类是线程安全类。 2.线程安全的类,BlockingQueue,ConcurrentLinkedQueue。这些都是线程安全的集合类 在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提 阅读全文
posted @ 2016-10-13 18:20 跨境电商杂货铺 阅读(1458) 评论(0) 推荐(0) 编辑
摘要:作者 方腾飞 发布于 2013年12月23日 | 被首富的“一个亿”刷屏?不如定个小目标,先把握住QCon上海的优惠吧!2 讨论 分享到:微博微信FacebookTwitter有道云笔记邮件分享 稍后阅读 我的阅读清单 分享到:微博微信FacebookTwitter有道云笔记邮件分享 1. 什么是F 阅读全文
posted @ 2016-10-13 18:11 跨境电商杂货铺 阅读(363) 评论(0) 推荐(0) 编辑
摘要:asyn4j 是一个java异步方法调用框架,基于消费者与生产者模式。包括了异步方法执行,异步回调执行,异步工作缓存模块.支持Spring. 让我们写异步方法不再写很多的相关多线程代码。用asyn4j轻松搞定异步方法调用.提高程序的响应能力. 阅读全文
posted @ 2016-10-13 18:10 跨境电商杂货铺 阅读(1095) 评论(0) 推荐(0) 编辑
摘要:1:同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用 2:回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口; 3:异步调用:一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方 阅读全文
posted @ 2016-10-13 18:06 跨境电商杂货铺 阅读(12749) 评论(0) 推荐(0) 编辑
摘要:1、 什么时候必须同步?什么叫同步?如何同步? 要跨线程维护正确的可见性,只要在几个线程之间共享非 final 变量,就必须使用 synchronized(或 volatile)以确保一个线程可以看见另一个线程做的更改。 为了在线程之间进行可靠的通信,也为了互斥访问,同步是必须的。这归因于java语 阅读全文
posted @ 2016-10-13 17:57 跨境电商杂货铺 阅读(258) 评论(0) 推荐(0) 编辑
摘要:线程池 要知道在计算机中任何资源的创建,包括线程,都需要消耗系统资源的。在WEB服务中,对于web服 务器的响应速度必须要尽可能的快,这就容不得每次在用户提交请求按钮后,再创建线程提供服务 。为了减少用户的等待时间,线程必须预先创建,放在线程池中,线程池可以用HashTable这种数 据结构来实现, 阅读全文
posted @ 2016-10-13 17:45 跨境电商杂货铺 阅读(1681) 评论(0) 推荐(0) 编辑
摘要:1.多线程并发时,多个线程同时请求同一个资源,必然导致此资源的数据不安全,A线程修改了B线 程的处理的数据,而B线程又修改了A线程处理的数理。显然这是由于全局资源造成的,有时为了解 决此问题,优先考虑使用局部变量,退而求其次使用同步代码块,出于这样的安全考虑就必须牺牲 系统处理性能 2. 出于这样的 阅读全文
posted @ 2016-10-13 17:41 跨境电商杂货铺 阅读(5255) 评论(0) 推荐(0) 编辑
摘要:1.异步操作过程实例: A.开启一个线程一直执行耗时操作 B.通过每隔多长多件轮询线程是否实行完毕,thread.isCompleted() C.执行完毕后,通过回调函数返回真实信息 一个调用者在调用耗时操作,不能立即返回数据时,先返回一个取货凭证.然后在过一断时间后凭取货凭证来获取真正的数据. 所 阅读全文
posted @ 2016-10-13 17:27 跨境电商杂货铺 阅读(1292) 评论(0) 推荐(0) 编辑
摘要:阻塞就是干不完不准回来,一直处于等待中,直到事情处理完成才返回; 非阻塞就是你先干,我先看看有其他事没有,一发现事情被卡住,马上报告领导。 回调函数就是通知,回调函数就是通知!!!! 我们拿最常用的send和recv两个函数来说吧... 比如你调用send函数发送一定的Byte,在系统内部send做 阅读全文
posted @ 2016-10-13 17:20 跨境电商杂货铺 阅读(451) 评论(0) 推荐(0) 编辑
摘要:读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,这是由jvm自己控制的,你只要上好相应的锁即可。如果你的代码只读数据,可以很多人同时读,但不能同时写,那就上读锁;如果你的代码修改数据,只能有一个人在写,且不能同时读取,那就上写锁。总之,读的时候上读锁,写的时候上写锁! 三个线程读数据,三个线 阅读全文
posted @ 2016-10-13 17:12 跨境电商杂货铺 阅读(669) 评论(0) 推荐(0) 编辑
摘要:Java线程调度是Java多线程的核心,只有良好的调度,才能充分发挥系统的性能,提高程序的执行效率。这里要明确的一点,不管程序员怎么编写调度,只能最大限度的影响线程执行的次序,而不能做到精准控制。线程休眠的目的是使线程让出CPU的最简单的做法之一,线程休眠时候,会将CPU资源交给其他线程,以便能轮换 阅读全文
posted @ 2016-10-13 17:08 跨境电商杂货铺 阅读(1635) 评论(0) 推荐(0) 编辑
摘要:线程的合并的含义就是将几个并行线程的线程合并为一个单线程执行,应用场景是当一个线程必须等待另一个线程执行完毕才能执行时可以使用join方法。 join为非静态方法,定义如下:void join(): 等待该线程终止。 void join(long millis): 等待该线程终止的时间最长为 mil 阅读全文
posted @ 2016-10-13 17:03 跨境电商杂货铺 阅读(2305) 评论(0) 推荐(0) 编辑
摘要:本文转自http://www.cnblogs.com/linjiqin/p/3210004.html 感谢作者 守护线程与普通线程写法上基本没啥区别,调用线程对象的方法setDaemon(true),则可以将其设置为守护线程。 Daemon的作用是为其他线程的运行提供服务,比如说GC线程。其实Use 阅读全文
posted @ 2016-10-13 17:00 跨境电商杂货铺 阅读(561) 评论(0) 推荐(0) 编辑
摘要:1.java多线程加锁是对谁加锁? 答:当然是对共享资源加锁啊,对谁进行访问修改,就对象进行加锁。以便使多线程按序访问此共享对象 比如: 在具体的Java代码中需要完成一下两个操作:把竞争访问的资源类Foo变量x标识为private;同步哪些修改变量的代码,使用synchronized关键字同步方法 阅读全文
posted @ 2016-10-13 16:55 跨境电商杂货铺 阅读(3059) 评论(0) 推荐(0) 编辑
摘要:Java语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。 public volatile boolean exit = false;在 阅读全文
posted @ 2016-10-13 16:53 跨境电商杂货铺 阅读(6690) 评论(0) 推荐(0) 编辑
摘要:Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序,线程部分的新增内容显得尤为重要。有关Java5线程新特征的内容全部在java.util.concu 阅读全文
posted @ 2016-10-13 16:49 跨境电商杂货铺 阅读(356) 评论(0) 推荐(0) 编辑
摘要:本文转自http://www.cnblogs.com/linjiqin/p/3213809.html 感谢作者 在Java5之前,线程是没有返回值的,常常为了“有”返回值,破费周折,而且代码很不好写。或者干脆绕过这道坎,走别的路了。现在Java终于有可返回值的任务(也可以叫做线程)了。可返回值的任务 阅读全文
posted @ 2016-10-13 16:46 跨境电商杂货铺 阅读(10954) 评论(0) 推荐(0) 编辑
摘要:尽量使用读写锁,提高并发量。 不要使用单一锁 读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,这是由jvm自己控制的,你只要上好相应的锁即可。如果你的代码只读数据,可以很多人同时读,但不能同时写,那就上读锁;如果你的代码修改数据,只能有一个人在写,且不能同时读取,那就上写锁。总之,读的时候上 阅读全文
posted @ 2016-10-13 16:44 跨境电商杂货铺 阅读(149) 评论(0) 推荐(0) 编辑
摘要:在上文中提到了Lock接口以及对象,使用它,很优雅的控制了竞争资源的安全访问,但是这种锁不区分读写,称这种锁为普通锁。为了提高性能,Java提供了读写锁,在读的地方使用读锁,在写的地方使用写锁,灵活控制,在一定程度上提高了程序的执行效率。 在上文中提到了Lock接口以及对象,使用它,很优雅的控制了竞 阅读全文
posted @ 2016-10-13 16:42 跨境电商杂货铺 阅读(200) 评论(0) 推荐(0) 编辑
摘要:在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在java.util.concurrent.locks 包下面,里面有三个重要的接口Condition、Lock、ReadWriteLock。 Condition: Condition 阅读全文
posted @ 2016-10-13 16:40 跨境电商杂货铺 阅读(473) 评论(0) 推荐(0) 编辑
摘要:锁(locking) 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算 处理中,我们希望针对某个cut-off时间点的数据进行处理,而不希望在结算进行过程中 (可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被 阅读全文
posted @ 2016-10-13 16:32 跨境电商杂货铺 阅读(1525) 评论(0) 推荐(0) 编辑
摘要:1.锁定这个问题,是mysql自动产生的,不用程序猿自己加锁 答:默认情况下,档执行insert/update操作时,mysql会自动进行表锁定。从而此时读取操作只能等待。 2.mysql, 需要添加一列的时候,mysql会锁表,期间所有的读写操作只能等待。所以进行分表操作,将大表分成很多小表 3. 阅读全文
posted @ 2016-10-13 16:27 跨境电商杂货铺 阅读(510) 评论(0) 推荐(0) 编辑
摘要:1.对集合/共享对象的读写方法同一个锁,故无法实现读写并行。典型的就是arrayblockingQueue.数组阻塞队列 2.对同一个数据的读写方法采用分离锁,则可以实现读写并行。典型的就是linkBlockingQueue,链表阻塞队列 3.总结:同一个锁,读写穿行处理。分离锁,能读写并行。 阅读全文
posted @ 2016-10-13 16:07 跨境电商杂货铺 阅读(1011) 评论(0) 推荐(0) 编辑
摘要:1.在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。 2.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。 阅读全文
posted @ 2016-10-13 16:04 跨境电商杂货铺 阅读(7069) 评论(0) 推荐(0) 编辑
摘要:1.什么是阻塞? 答:不满足条件的线程会处于等待状态就叫阻塞。标准的就是生产者消费者存储模型。不满足条件的生产者/消费者要阻塞。 2.什么是队列? 答:队列是先进先出的数据结构, 3.什么是阻塞队列? 答:阻塞队列(BlockingQueue)支持两个操作,添加和取出:在队列为空时,获取元素的线程会 阅读全文
posted @ 2016-10-13 15:44 跨境电商杂货铺 阅读(520) 评论(0) 推荐(0) 编辑
摘要:本文转自http://www.cnblogs.com/linjiqin/p/3217050.html 感谢作者 实际上,准确说应该是“生产者-消费者-仓储”模型,离开了仓储,生产者消费者模型就显得没有说服力了。 对于此模型,应该明确一下几点:1、生产者仅仅在仓储未满时候生产,仓满则停止生产。2、消费 阅读全文
posted @ 2016-10-13 15:29 跨境电商杂货铺 阅读(293) 评论(0) 推荐(0) 编辑
摘要:1.第一范式(确保每列保持原子性) 2.第二范式(确保表中的每列都和主键相关) 3.第三范式(确保每列都和主键列直接相关,而不是间接相关) 第一范式是不可拆分第二是完全依赖第三消除传递依赖 数据库设计三大范式 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规 阅读全文
posted @ 2016-10-13 15:28 跨境电商杂货铺 阅读(159) 评论(0) 推荐(0) 编辑
摘要:1.SQL语言,FROM子句最先被处理,SELECT最后被处理。 2. 每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入。这些虚拟表对调用者(客户端应用程序或者外部查询)不可用。 只是最后一步生成的表才会返回 给调用者 3.执行顺序是:from->on->where->group by-> 阅读全文
posted @ 2016-10-13 15:19 跨境电商杂货铺 阅读(204) 评论(0) 推荐(0) 编辑
摘要:1.记住,永远记住:表与表之间关联的唯一手段就是外键 表与表之间相关联只能通过外键。 2.所以数据库表与表之间的,一对多,多对多关系。说白了就是怎样建立外键的关系,在哪个表建立外键。 通过外键维持各种表之间的关系。 3. l 一对一:例如t_person表和t_card表,即人和身份证。这种情况需要 阅读全文
posted @ 2016-10-12 17:15 跨境电商杂货铺 阅读(3716) 评论(0) 推荐(0) 编辑
摘要:1.MySQL的数据存储目录为data,data目录通常在C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data位置。在data下的每个目录都代表一个数据库。 2.启动和关闭mysql服务器 l 阅读全文
posted @ 2016-10-12 16:46 跨境电商杂货铺 阅读(1057) 评论(0) 推荐(0) 编辑
摘要:通常,mysql的最大连接数默认是100, 最大可以达到16384。1、查看最大连接数:show variables like '%max_connections%';2、修改最大连接数方法一:修改配置文件。推荐方法一进入MySQL安装目录 打开MySQL配置文件 my.ini 或 my.cnf查找 阅读全文
posted @ 2016-10-12 15:28 跨境电商杂货铺 阅读(297) 评论(0) 推荐(0) 编辑
摘要:4. 用mysqlbinlog 工具来显示记录的二进制结果,然后导入到文本文件,为了以后的恢复。 详细过程如下:bin>mysqlbinlog --start-position=4 --stop-position=106 mysqlbin-log.000001 > D:\\test1.txt 或者全 阅读全文
posted @ 2016-10-12 15:23 跨境电商杂货铺 阅读(21237) 评论(0) 推荐(0) 编辑
摘要:mysqldump常用于MySQL数据库逻辑备份。 1、各种用法说明 A. 最简单的用法: 上述命令将指定数据库备份到某dump文件(转储文件)中,比如: 生成的test.dump文件中包含建表语句(生成数据库结构哦)和插入数据的insert语句。 B. --opt 如果加上--opt参数则生成的d 阅读全文
posted @ 2016-10-12 15:18 跨境电商杂货铺 阅读(324) 评论(0) 推荐(0) 编辑
摘要:http://www.jb51.net/article/70530.htm 七、MySQL数据库Schema设计的性能优化高效的模型设计 适度冗余-让Query尽两减少Join 大字段垂直分拆-summary表优化 大表水平分拆-基于类型的分拆优化 统计表-准实时优化 合适的数据类型 微博句法树库\ 阅读全文
posted @ 2016-10-12 15:17 跨境电商杂货铺 阅读(221) 评论(0) 推荐(0) 编辑
摘要:http://www.jb51.net/article/50180.htm show [session|global] status 可以根据需要加上参数“ session ”或者“ global ”来显示 session 级(当前连接)的统计结果和 global 级(自数据库上次启动至今)的统计结 阅读全文
posted @ 2016-10-12 15:16 跨境电商杂货铺 阅读(567) 评论(0) 推荐(0) 编辑
摘要:http://www.jb51.net/article/50427.htm 七.性能优化1.显示(explicit) inner join VS 隐式(implicit) inner join 如: 复制代码代码如下: select * fromtable a inner join table bo 阅读全文
posted @ 2016-10-12 15:14 跨境电商杂货铺 阅读(352) 评论(0) 推荐(0) 编辑
摘要:1、分库分表 很明显,一个主表(也就是很重要的表,例如用户表)无限制的增长势必严重影响性能,分库与分表是一个很不错的解决途径,也就是性能优化途径,现在的案例是我们有一个1000多万条记录的用户表members,查询起来非常之慢,同事的做法是将其散列到100个表中,分别从members0到member 阅读全文
posted @ 2016-10-12 15:09 跨境电商杂货铺 阅读(529) 评论(0) 推荐(0) 编辑
摘要:1.表的垂直分割 “垂直分割”是一种把数据库中的表按列变成几张表的方法,这样可以降低表的复杂度和字段的数目,从而达到优化的目的。(以前,在银行做过项目,见过一张表有100多个字段,很恐怖) 示例一:在Users表中有一个字段是家庭地址,这个字段是可选字段,相比起,而且你在数据库操作的时候除了个人信息 阅读全文
posted @ 2016-10-12 14:35 跨境电商杂货铺 阅读(246) 评论(0) 推荐(0) 编辑
摘要:Elasticsearch基础教程 翻译:潘飞(tinylambda@gmail.com) 基础概念 Elasticsearch有几个核心概念。从一开始理解这些概念会对整个学习过程有莫大的帮助。 接近实时(NRT) Elasticsearch是一个接近实时的搜索平台。这意味着,从索引一个文档直到这个 阅读全文
posted @ 2016-10-12 14:27 跨境电商杂货铺 阅读(232) 评论(0) 推荐(0) 编辑
摘要:1.通过引入Search(Lucene、Solr、ElasticSearch),利用搜索引擎高效的全文索引和分词算法,以及高效的数据检索实现,来解决数据库和传统的Cache软件完全无法解决的全文模糊搜索、分类统计查询等功能。 2.ES集群:如果想做自己的搜索引擎,ElasticSearch将是不二之 阅读全文
posted @ 2016-10-12 14:25 跨境电商杂货铺 阅读(8188) 评论(0) 推荐(0) 编辑
摘要:触发器:trigger, 枪击,扳击,引线的意思 一触即发, 作用: 监视某种情况并触发某种操作. 观察以下场景: 一个电子商城, 商品表, g 主键 商品名 库存 1 电脑 28 2 自行车 12 订单表, o 订单主键 商品外键 购买数量 1 2 3 2 1 5 完成下单与减少库存的逻辑 Ins 阅读全文
posted @ 2016-10-12 14:07 跨境电商杂货铺 阅读(200) 评论(0) 推荐(0) 编辑
摘要:1.视图在mysql中的内部管理机制:视图的记录都保存在information_schema数据库中的一个叫views的表中。具体某个视图的定义代码以及属于哪个数据库等信息可以从里面看到 2.行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。 视图中的数据是实时的,因为引用视图时会 阅读全文
posted @ 2016-10-12 14:02 跨境电商杂货铺 阅读(205) 评论(0) 推荐(0) 编辑
摘要:1.数据库主从数据库,只配置一个主,多个slave从数据库。 如果需要多主的话,可以用环形配置,这样任意一个节点的修改都可以同步到所有节点。 2. 缓存通常都是以动态方式实现的,如果缓存设置不正确而大量使用缓存的话则会出现内存溢出的后果,因此需要将所使用的内存容量与检索数据的速度加以平衡。 常用的解 阅读全文
posted @ 2016-10-11 17:31 跨境电商杂货铺 阅读(177) 评论(0) 推荐(0) 编辑
摘要:1.表关联是可以利用两个表的索引的,如果是用子查询,至少第二次查询是没有办法使用索引的。 2. 为了给主查询提供数据而首先执行的查询被叫做子查询 3.如果WHERE子句的查询条件里使用了函数(WHERE DAY(column) = …),MySQL也将无法使用索引。 4.多表查询没有指定连接条件,会 阅读全文
posted @ 2016-10-11 17:23 跨境电商杂货铺 阅读(281) 评论(0) 推荐(0) 编辑
摘要:1、 内存溢出的原因是什么? 内存溢出是由于没被引用的对象(垃圾)过多造成JVM没有及时回收,造成的内存溢出。如果出现这种现象可行代码排查: 一)是否App中的类中和引用变量过多使用了Static修饰 如public staitc Student s;在类中的属性中使用 static修饰的最好只用基 阅读全文
posted @ 2016-10-11 15:59 跨境电商杂货铺 阅读(577) 评论(0) 推荐(0) 编辑
摘要:1.类加载时类的初始化和创建实例时的初始化顺序 1、虚拟机在首次加载Java类时,会对静态初始化块、静态成员变量、静态方法进行一次初始化 2、只有在调用new方法时才会创建类的实例 3、类实例创建过程:按照父子继承关系进行初始化,首先执行父类的初始化块部分,然后是父类的构造方法;再执行本类继承的子类 阅读全文
posted @ 2016-10-11 00:33 跨境电商杂货铺 阅读(1787) 评论(0) 推荐(0) 编辑
摘要:1.什么叫聚集索引和非聚集索引? 答: 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物理顺序。 聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓 阅读全文
posted @ 2016-10-11 00:21 跨境电商杂货铺 阅读(737) 评论(0) 推荐(0) 编辑
摘要:事务四大特性(简称ACID) 1、原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行。 2、一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致。 3、隔离性(Isolation):事务的执行不受其他事务的 阅读全文
posted @ 2016-10-09 15:36 跨境电商杂货铺 阅读(203) 评论(0) 推荐(0) 编辑
摘要:1. Which lines of the following will produce an error? 1 2 3 4 1. byte a1 = 2, a2 = 4, a3; 2. short s = 16; 3. a2 = s; 4. a3 = a1 * a2; Which lines of 阅读全文
posted @ 2016-10-09 15:12 跨境电商杂货铺 阅读(396) 评论(0) 推荐(0) 编辑
摘要:1.java把表示范围大的数转换为表示范围小的数,需要强制类型转换。 Java中,数据类型分为基本数据类型(或叫做原生类、内置类型)和引用数据类型。原生类型为基本数据类型int和布尔值可以相互转换吗???不可以,这里是Java,不是C,boolean不能和其他类型互换。 2.另外,JVM运行程序主要 阅读全文
posted @ 2016-10-09 14:59 跨境电商杂货铺 阅读(992) 评论(0) 推荐(0) 编辑
摘要:1. 在 myjsp.jsp 中,关于下面的代码说法错误的是: ( ) <%@ page language="java" import="java.util.*" errorPage="error.jsp" isErrorPage="false" %> 在 myjsp.jsp 中,关于下面的代码说法 阅读全文
posted @ 2016-10-09 01:00 跨境电商杂货铺 阅读(487) 评论(0) 推荐(0) 编辑
摘要:抽象类无法实例化,无法创建对象。现实生活中也有抽象类的类子,比如说人类是一个抽象类,无法创建一个叫人类的对象,人继承人类来创建对象。况且抽象类中的抽象方法只有声明,没有主体,如果实例化了,又如何去实现调用呢? Java中的多线程是一种抢占式的机制,而不是分时机制。抢占式的机制是有多个线程处于可运行状 阅读全文
posted @ 2016-10-09 00:16 跨境电商杂货铺 阅读(11896) 评论(0) 推荐(0) 编辑
摘要:1.ResultSet中记录行的第一列索引为? : 正确答案: C 你的答案: B (错误) -1 0 1 以上都不是 ResultSet跟普通的数组不同,索引从1开始而不是从0开始,ResultSet结果集读取数据的方法主要是getXXX() ,他的参数可以使整型表示第几列(是从1开始的),还可以 阅读全文
posted @ 2016-10-08 22:00 跨境电商杂货铺 阅读(658) 评论(0) 推荐(0) 编辑
摘要:1. int i, sum=0; for(i=0;i<10;++i,sum+=i); i 的最终结果是? 答:10 如果问最终sum的值是多少,则选: D i = 10; sum = 55; sum这里的执行范围是1-10,而不是0-9,因为sum+=i,是在++i后面执行的。 如果问最终sum的值 阅读全文
posted @ 2016-10-08 20:46 跨境电商杂货铺 阅读(693) 评论(0) 推荐(0) 编辑
摘要:set是无序集合,放入set中的元素通过iterator输出时候是无序的 输出结果:是乱序的 1.hashmap遍历方法: Set ss=hm.entrySet() ;//返回Map.Entry 接口实现 printElements(ss); //输出键值对 利用迭代器 Iterator i=ss. 阅读全文
posted @ 2016-10-08 16:42 跨境电商杂货铺 阅读(609) 评论(0) 推荐(0) 编辑
摘要:读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。 为什么要分库、分表、读写分? 单表的数据量限制,当单表数据量到一定条数之后数据库性能会显著下降。数 阅读全文
posted @ 2016-10-08 14:27 跨境电商杂货铺 阅读(2436) 评论(0) 推荐(0) 编辑
摘要:为了确保数据库产品的稳定性,很多数据库拥有双机热备功能。也就是,第一台数据库服务器,是对外提供增删改业务的生产服务器;第二台数据库服务器,主要进行读的操作。 原 理:让主数据库处理事务性增、改、删操作,而从数据库处理SELECT查询操作 第一台数据库服务器,是对外提供增删改查业务的生产服务器;第二台 阅读全文
posted @ 2016-10-08 14:19 跨境电商杂货铺 阅读(233) 评论(0) 推荐(0) 编辑
摘要:我们平时写程序需要经常用到集合类,比如ArrayList、HashMap等,但是这些集合不能够实现并发运行机制,这样在服务器上运行时就会非常的消耗资源和浪费时间,并且对这些集合进行迭代的过程中不能进行操作,否则会出现错误,例如下面程序: 程序在执行过程中会报错, 因为定义了一个ArrayList类型 阅读全文
posted @ 2016-10-08 14:07 跨境电商杂货铺 阅读(207) 评论(0) 推荐(0) 编辑
摘要:1.由于jdbc连接的繁琐性,故很多公司封装了jdbc框架,比如spring jdbc 2.比如spring jdbc框架中,用jdbctemplate, 通过jdbcTemplate 提供 int update(String sql, Object... args) 实现增加 、修改 、删除 代替 阅读全文
posted @ 2016-10-08 13:38 跨境电商杂货铺 阅读(5202) 评论(0) 推荐(0) 编辑
摘要:1.只要是多线程,势必涉及到共享资源读写问题。 2.只要是在写,就不能读。否则数据混乱 3.多个写,也要按序写,不能同时进行 4.线程可能只执行一半,cpu就调度其他线程执行了。所以线程的执行过程中是很有可能被中断的。 4.读写锁,要么设置同一个synchronized锁,要么设置读写锁。readw 阅读全文
posted @ 2016-10-08 13:34 跨境电商杂货铺 阅读(307) 评论(0) 推荐(0) 编辑
摘要:1.dao层要有connection 2.dao层进行分页,mysql limit关键字 3.dao层进行结果集转换为java bean 4.dao层queryforlist 阅读全文
posted @ 2016-10-08 13:31 跨境电商杂货铺 阅读(257) 评论(0) 推荐(0) 编辑
摘要:2. 通过数据库机制进行分页 很多数据库自身都提供了分页机制,如SQL Server中提供的top关键字,MySQL数据库中提供的limit关键字,它们都可以设置数据返回的记录数。 通过各种数据库的分页机制实现分页查询,其优点是减少数据库资源的开销,提高程序的性能;缺点是只针对某一种数据库通用。 阅读全文
posted @ 2016-10-01 19:01 跨境电商杂货铺 阅读(326) 评论(0) 推荐(0) 编辑