- 博客(49)
- 收藏
- 关注
转载 Spring当中ContextLoaderListener和DispatcherServlet所加载的context的关系
一.写在前面 上次的ServletContext与WebApplicationContext一文只是梳理清楚ServletContext和由ContextLoaderListener加载的WebApplicationContext的关系,今天再来梳理一下 ContextLoaderList...
2018-02-07 10:40:00
151
转载 ServletContext与WebApplicationContext
一.写在前面 1.ServletContext 这里说的它是J2EE规范里面的 ServletContext 即:Servlet上下文。 2.WebApplicationContext 指的是Spring MVC Web应用上下文,有人也叫它Spring Web容器上下文。 二.二者...
2018-01-18 18:07:00
316
转载 转-Java中的各种锁
一、公平锁/非公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁。 非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现象。 对于Java ReentrantLock而言,通过构造函数指定该锁是否是公平锁,...
2018-01-18 11:21:00
102
转载 Java8新技术
首先盗一张图,这张图上面列出了java8所体现的全部优点: 本次梳理的知识点大概有默认方法、函数式接口、Lambda表达式和方法引用、Stream API 一.接口默认方法 1.什么是接口默认方法? 顾名思义:默认方法就是接口的默认的方法。 2.用法 @Funct...
2018-01-13 22:09:00
328
转载 动态代理
1.java动态代理: 支持目标接口方法的代理,代理类必须实现InvocationHandler接口,来定义处理动态代理方法的具体处理,使用Proxy来生成动态代理对象,强转成目标接口类型,来做调用处理,实际直接调用的是代理类的方法。 普通接口: public interface Su...
2018-01-13 21:53:00
69
转载 Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
下面对上面说的三个辅助类进行一个总结: 1)CountDownLatch和CyclicBarrier都能够实现线程之间的等待,只不过它们侧重点不同: CountDownLatch一般用于某个线程A等待若干个其他线程执行完任务之后,它才执行; 而CyclicBarrie...
2017-12-19 15:21:00
78
转载 Mac UserEventAgent 进程CPU占用率高的解决办法
有两个办法: 1.删除这个文件 /System/Library/UserEventPlugins/AppleHIDMouseAgent.plugin/Contents/MacOS/AppleH IDMouseAgent 2.终端使用如下命令: cd /System/Library/Us...
2017-12-14 13:37:00
797
转载 JAVA8新特性-接口默认方法
1.默认方法的主要优势是提供一种拓展接口的方法,而不破坏现有代码。加入我们有一个已经投入使用接口需要拓展一个新的方法,在JDK8以前,如果为一个使用的接口增加一个新方法,则我们必须在所有实现类中添加该方法的实现,否则编译会出现异常。如果实现类数量少并且我们有权限修改,可能会工作量相对较少。如果...
2017-12-06 19:31:00
113
转载 java nio
http://blog.csdn.net/suifeng3051/article/details/48160753 http://blog.csdn.net/suifeng3051/article/details/48441629 ...
2017-09-28 17:45:00
75
转载 同样底层是基于HDFS,Hbase为什么可以优于Hive可以提供实时查询?
从根本上说,HBase能提供实时计算服务主要原因是由其架构和底层的数据结构决定的,即由LSM-Tree + HTable(region分区) + Cache决定——客户端可以直接定位到要查数据所在的HRegion server服务器,然后直接在服务器的一个region上查找要匹配的数据,并且这...
2017-09-13 17:38:00
882
转载 Java并发:等待事件发生后所有线程继续执行
等待某一个指定的事件发生后,才让多个等待的线程继续执行,以下是我能想到的几个方法,欢迎讨论、指正。 1.闭锁CountDownLatch 闭锁是典型的等待事件发生的同步工具类,将闭锁的初始值设置1,所有线程调用await方法等待,当事件发生时调用countDown将闭锁值减为0,则所有a...
2017-09-08 15:09:00
195
转载 TreeMap和LinkedHashMap
TreeMap和LinkedHashMap 二者的底层存储结构决定了二者的功能。 TreeMap:的实现是红黑树算法的实现。 LinkedHashMap:是采用哈希表+双向循环链表的方式实现的。 LinkedHashMap保存了记录的插入顺序,在用Iterator遍历Linked...
2017-09-08 10:04:00
153
转载 JAVA线程映射为linux内核线程
java语言对外号称一次编写到处运行,平台无关性的一大优点,及其正是因为jdk以及jvm把平台的差异自己封装实现了,提供给java语言使用者或者java应用程序才显示出平台无关性。(一个Native方法往往意味着这个方法没有使用或无法使用平台无关的手段来实现,当然也可能是为了执行效率而使用Na...
2017-09-01 15:29:00
104
转载 zookeeper总结
一.为什么要使用zookeeper? 在分布式系统当中为了解决高可靠性,就需要系统数据多份副本冗余,冗余的同时又带来了新的问题--一致性问题。为了解决分布式系统数据一致性的问题,需要有分布式事务来保证一致性。分布式事务有二阶段提交,三阶段提交,存在的一些缺点和弊端。所以有牛人提出了分布式一致...
2017-08-31 20:15:00
80
转载 Mysql相关
join语句的优化 1. 用小结果集驱动大结果集,尽量减少join语句中的Nested Loop的循环总次数; 2. 优先优化Nested Loop的内层循环,因为内层循环是循环中执行次数最多的,每次循环提升很小的性能都能在整个循环中提升很大的性能; 3. 对被驱动表的join字段上建立...
2017-08-28 20:34:00
67
转载 mybatis 拦截器,改变默认行为
http://zhenghuazhi.iteye.com/blog/1468992 转载于:https://my.oschina.net/st9/blog/707148
2016-07-06 16:04:00
78
转载 mysql事务和锁InnoDB
http://www.cnblogs.com/zhaoyl/p/4121010.htmlhttp://www.cnblogs.com/yelbosh/p/5813865.html 转载...
2016-05-24 22:07:00
65
转载 MYSQL InnoDB的索引和锁
备注:X锁是排它锁(写锁),S锁是共享锁(读锁)mysql中每个表都有一个聚簇索引(clustered index ),除此之外的表上的每个非聚簇索引都是二级索引,又叫辅助索引(secondary indexes)。以InnoDB来说,每个InnoDB表具有一个特殊的索引称为聚集索引。...
2016-05-24 21:50:00
134
转载 浅谈mybatis优缺点
通过上篇介绍mybatis与hibernate区别,我们已经能得出一些mybatis的优缺点,但那只是相对于hibernate的,并不全面,我来继续总结mybatis的优缺点,以便大家对于mybatis的了解能更全面些。但我所说的优缺点,仅是我个人总结并结合使用体验后得出的结果,并不能代表大众...
2016-05-24 20:27:00
88
转载 Struts2 拦截器与Spring AOP的区别
拦截器是AOP的一种实现,struts2 拦截器采用xwork2的interceptor!而spring的AOP基于IoC基础,其底层采用动态代理与CGLIB代理两种方式结合的实现方式。 ...
2016-05-24 20:25:00
88
转载 spring四种依赖注入方式
1. Set注入 创建set方法<!--配置bean,配置后该类由spring管理--> <bean name="springAction" class="com.bless.springdemo.action.SpringAction"> <!--(1)...
2016-05-24 20:12:00
123
转载 JAVA内部用来实现同步的几种方式
1.synchronized修饰的同步方法,当方法是非静态的方法时候,内置锁为当前对象实例,为静态方法时候,是内置锁会锁住整个类。2.synchronized修饰的同步代码块3.使用特殊域变量(volatile)实现线程同步a.volatile关键字为域变量的访问提供了一种免锁机制, ...
2016-05-24 19:51:00
128
转载 MYSQL数据库的隔离级别
Serializable(可串行化)类似于java语言中的synchronized 关键字,每个读的数据行上加上共享锁,强制事务排序。Repeatable Read(可重读)这是MySQL的默认事务隔离级别 在同一个事务里面重复读(在两次的期间有其他线程修改了数据)不会读取到最近修改之...
2016-05-23 21:29:00
69
转载 数据库相关的问题总结二
mysql的性能优化无法一蹴而就,必须一步一步慢慢来,从各个方面进行优化,最终性能就会有大的提升。Mysql数据库的优化技术对mysql优化是一个综合性的技术,主要包括表的设计合理化(符合3NF)添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引...
2016-05-19 16:55:00
106
转载 单例模式的七种写法
单例模式的七种写法第一种(懒汉,线程不安全):public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton ge...
2016-05-19 16:15:00
82
转载 数据库相关的问题总结一
1.联合索引,最左匹配原则 2.索引与order by 1) 如果select 只查询索引字段,order by 索引字段会用到索引,要不然就是全表排列; 2) 如果有where 条件,比如where vtype=1 order by vtype asc . 这样order by 也会用...
2016-05-18 23:28:00
72
转载 Spring的事务传播性与隔离级别
一、事务的四个特性 原子性:一个事务中所有对数据库的操作是一个不可分割的操作序列,要么全做,要么全部做。 一致性:数据不会因为事务的执行而遭到破坏。 隔离性:一个事务的执行,不受其他事务(进程)的干扰。既并发执行的个事务之间互不干扰。 持久性:一个事务一旦提交,它对数据库的改变将是永久的。 ...
2016-05-18 22:00:00
55
转载 Redis集群
Redis集群 1.Redis 集群没有使用一致性hash, 而是引入了哈希槽的概念. Redis 集群有16384个哈希槽,每个key通过CRC16校验后对16384取模来决定放置哪个槽.集群的每个节点负责一部分hash槽。 2.节点的增加和删除可以线上(不停止服务的情况下)各个节点...
2016-05-18 20:07:00
55
转载 RPC框架
1.dubbo 同类的框架有:Thrift,Hessian,PMI,WebService,HSF,JSF 转载于:https://my.oschina.net/st9/blog/67578...
2016-05-16 16:08:00
67
转载 zookeeper的数据类型
public enum CreateMode { /** * 持久节点:节点创建后,会一直存在,不会因客户端会话失效而删除; */ PERSISTENT (0, false, false), /** * 持久顺序节点:基本特性与持久...
2016-05-12 21:56:00
189
转载 线程的运行状态
1、New新状态:线程对象已经创建,还没有在其上调用start()方法。 2、Runnable可运行状态:当线程有资格运行,但调度程序还没有把它选定为运行线程时线程所处的状态。当start()方法调用时,线程首先进入可运行状态。在线程运行之后或者从阻塞、等待或睡眠状态回来后,也返回到可...
2016-05-09 11:20:00
157
转载 java.util.concurrent包下面的工具类实现同步的方式都是基于AQS
AQS : AbstractQueuedSynchronizer 队列同步器,内部的队列是一个虚拟的队列,主要是用Node 的一个双向列表 CAS:compareAndSet JDK乐观锁的实现方式 ,底层是用return unsafe.compareAndSwapInt(th...
2016-05-06 16:04:00
138
转载 LinkedBlockingQueue中各个方法的对比
1.入队:add() offer() put() 2.出队:remove() poll() take() 上面2行的方法的性质是: 1).都是可以对队列原有元素数量的修改(具有本质意义上的写操作) 2).从左到右的顺序操作不符合就抛异常,操作不符合就返回false或者null,...
2016-05-03 15:02:00
296
转载 RandomAccess接口
Java数据集合框架中,提供了一个RandomAccess接口,该接口没有方法,只是一个标记。通常被List接口的实现使用,用来标记该List的实现是否支持Random Access。 一个数据集合实现了该接口,就意味着它支持Random Access,按位置读取元素的平均时...
2016-05-03 13:47:00
65
转载 两个线程,分别打印[1,3,5]和[2,4,6],写一个程序,打印[1,2,3,4,5,6]
两个线程,分别打印[1,3,5]和[2,4,6],写一个程序,打印[1,2,3,4,5,6]。方案1 用synchronized 配合wait notify方案2 用ReentrantLock配合condition方案3 对线程数据取余,直接调用线程的run方法方案1不能实现超过2个线...
2016-05-01 18:00:00
206
转载 JAVA基础知识总结
垃圾收集器并行算法是用多线程进行垃圾回收,回收期间会暂停程序的执行,而并发算法,也是多线程回收,但期间不停止应用执行。 java 集合框架TreeMap java线上程序问题的定位CPU打满1).top查看当前CPU情况2).top -H -p 2023 -H 指显示线程,-p...
2016-04-27 14:23:00
67
转载 基于Quorum投票的冗余控制算法
仲裁算法 算法概述 Quorom 机制,是一种分布式系统中常用的,用来保证数据冗余和最终一致性的投票算法,其主要数学思想来源于鸽巢原理。 在有冗余数据的分布式存储系统当中,冗余数据对象会在不同的机器之间存放多份拷贝。但是同一时刻一个数据对象的多份拷贝只能用于读或者用于写。 该算法可...
2016-04-13 22:10:00
193
转载 分布式系统中, 怎么样生成全局唯一的 ID
一, 问题描述 在分布式系统存在多个 Shard 的场景中, 同时在各个 Shard 插入数据时, 怎么给这些数据生成全局的 unique ID? 在单机系统中 (例如一个 MySQL 实例), unique ID 的生成是非常简单的, 直接利用 MySQL 自带的自增 ID 功能就可以...
2016-03-26 15:46:00
71
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人