- 博客(104)
- 资源 (86)
- 收藏
- 关注
原创 多线程-ThreadPoolExecutor
/** * ThreadPoolExecutor相关参数以及四种拒绝策略(根据业务要求可自定义重写策略) * 参考:https://www.cnblogs.com/dafanjoy/p/9729358.html */package com.wk.cn.thread;import java.util.concurrent.*;public class ExecutorsSamples { /** * 合理分配线程池相关大小以及数组队列 */ public.
2020-10-31 11:20:10
179
1
原创 面试题
1 spring相关SpringMvc与DispatchServlet加载spring mvc配置,例如:全局拦截器(实现HandlerInterceptor),配置文件,扫描controller,MVC注解驱动,视图,适配,上传文件等https://www.imooc.com/article/68923oms项目对应文件 web.xml加载https://blog.c...
2018-10-31 11:42:31
1175
转载 java单例模式双重检验锁的优缺点?还有哪些实现方式?列举一些使用场景
本文来源: https://blog.csdn.net/imobama/article/details/810933942018年7月18日,在项目代码中看到单例模式,总结一下单例模式的知识点.单例模式的概念:在应用程序的生命周期中,在任意时刻,引用某个类的实例都是同一个.在一个系统中有些类只需要有一个全局对象,统一管理系统行为和执行某些操作.例如在使用hibernate时,sess...
2018-09-20 17:04:34
1635
5
转载 dubbo 熔断,限流,降级
1 写在前面 1.1 名词解释consumer表示服务调用方 provider标示服务提供方,dubbo里面一般就这么讲。下面的A调用B服务,一般是泛指调用B服务里面的一个接口。 1.2 拓扑图大写字母表示不同的服务,后面的序号表示同一个服务部署在不同机器的实例。 2 从微观角度思考 2.1 超时(timeout)在接口调用过程中,consu...
2018-08-17 16:49:16
997
原创 Jvm总结与应用
Jvm调优:http://www.importnew.com/19275.html Jvm内存模型:https://www.jianshu.com/p/c9ac99b87d56 JVM垃圾回收器:Serial,Parallel,CMS,G1:https://blog.csdn.net/xzhthu2011/article/details/78601831 jvm...
2018-08-02 18:44:38
184
转载 Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore
在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。以下是本文目录大纲:一.CountDownLatch用法二.CyclicBarrier用法三.Semaphore用法一.CountDownLatch用法CountDownLatch类...
2018-07-27 17:00:47
130
转载 分布式锁的几种实现方式
分布式锁的几种实现方式目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场...
2018-07-02 16:25:00
236
转载 Spring MVC原理及配置详解
【spring】Spring MVC原理及配置1.Spring MVC概述:Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。
2017-08-23 14:15:47
324
转载 springIOC与AOP
在面试中,经常会问,说说你对spring IOC和AOP的理解,问题很宽泛,似乎不知道从何说起。回答思路:1.先用通俗易懂的话解释下何为IOC和AOP---------》2.各自的实现原理-----------》3.自己的项目中如何使用以下是个人的一些总结,仅供参考。1.IOC许多应用都是通过彼此间的相互合作来实现业务逻辑的,如类A要调用类B的方法,以前我们都是在类A中,通
2017-08-23 11:20:05
363
转载 接口和抽象类的异同——加入Java8的特性
Java中,抽象类和接口有相似的地方。下面我们就来细说说接口和抽象类的异同。首先是相同的地方:1. 接口和抽象类都能定义方法和属性。2. 接口和抽象类都是看作是一种特殊的类。大部分的时候,定义的方法要子类来实现3. 抽象类和接口都可以不含有抽象方法。接口没有方法就可以作为一个标志。比如可序列化的接口Serializable,没有方法的接口称为空接口。没有抽象方法
2017-08-21 11:55:22
216
转载 B-tree/B+tree/B*tree
B~树 1.前言:动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树 (Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低
2017-08-17 13:29:29
255
转载 DK1.8源码分析之HashMap & LinkedHashMap迭代器(三)
【集合框架】JDK1.8源码分析之HashMap & LinkedHashMap迭代器(三)一、前言 在遍历HashMap与LinkedHashMap时,我们通常都会使用到迭代器,而HashMap的迭代器与LinkedHashMap迭代器是如何工作的呢?下面我们来一起分析分析。二、迭代器继承图 三、HashMap迭代器 3.1 HashIter
2017-08-16 16:33:26
283
转载 JDK1.8源码分析之LinkedHashMap(二)
【集合框架】JDK1.8源码分析之LinkedHashMap(二)一、前言 前面我们已经分析了HashMap的源码,已经知道了HashMap可以用在哪种场合,如果这样一种情形,我们需要按照元素插入的顺序来访问元素,此时,LinkedHashMap就派上用场了,它保存着元素插入的顺序,并且可以按照我们插入的顺序进行访问。二、LinkedHashMap用法
2017-08-16 16:32:22
245
转载 JDK1.8源码分析之HashMap
【集合框架】JDK1.8源码分析之HashMap(一)一、前言 在分析jdk1.8后的HashMap源码时,发现网上好多分析都是基于之前的jdk,而Java8的HashMap对之前做了较大的优化,其中最重要的一个优化就是桶中的元素不再唯一按照链表组合,也可以使用红黑树进行存储,总之,目标只有一个,那就是在安全和功能性完备的情况下让其速度更快,提升性能。好~下面就开始分析源
2017-08-16 16:31:02
379
转载 Java8系列之重新认识HashMap
简介Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示:下面针对各个实现类的特点做一些说明:(1) HashMap:它根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但
2017-08-16 16:29:01
277
转载 关系型数据的分布式处理系统MyCAT(1)—概述和基本使用教程
关系型数据的分布式处理系统MyCAT——概述和基本使用教程日期:2014/12/24文:阿蜜果1、 MyCAT概述1.1 背景随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上。这时集中式数据库系统表现出它的不足:(1)集中式处理,势必造成性能瓶颈;(2)应用程序集中在一
2017-08-04 13:59:24
331
转载 mybatis拦截器实现数据库表水平切分
9月份参加软件架构师大会,京东老师提到了他们解决数据库水平切分用的mybatis拦截器来实现,目前所做的项目用的是mybatis,而恰好也需要这个功能,研究了下基本实现了拦截器根据配置自动切分数据表来进行访问。新老代码的改造很简单,加几个配置即可。 一、具体使用配置 1.1、拦截器配置 在mybatis-config.xml里面配置拦截
2017-08-04 13:56:18
2758
1
转载 Spring+mybatis分库分表
分库分表一直是潮流,我这边简单介绍一下我实现分库、主从分离的一些实践经验。1、实现分库:首先在配置文件中配置多个数据源其次自定义数据源定向类继承spring提供的AbstractRoutingDataSource,复写determineCurrentLookupKey方法,设置数据源:在定义数据源拦截器类,获取指向的数据源:接着我们再根据增删改查功能不同
2017-08-04 13:55:37
317
转载 IntelliJ IDEA快捷键
1. Ctrl + Space完成类、方法、变量名称的自动输入2. Ctrl + N(Ctrl + Shift + N)跳转到指定的Java文件(其它文件)3. Ctrl + B跳转到定义处4. Ctrl + Alt + T用if、while、try catch来围绕选中的代码行5. Ctrl + Alt + B跳转到方法
2017-07-13 10:28:34
180
转载 Java中ExecutorService和CompletionService区别
ExecutorService:等所有submit对象执行完,才会返回get值;CompletionService:只要notEmpty,就会返回get值.(阻塞针对的是尾部full会阻塞,头部empty会阻塞)而CompletionService的实现是维护一个保存Future对象的BlockingQueue。只有当这个Future对象状态是结束的时候,才会加入到这个Queue中,take(
2017-07-08 16:33:45
395
转载 ExecutorService中submit()和execute()的区别
ExecutorService中submit()和execute()的区别 在使用java.util.concurrent下关于线程池一些类的时候,相信很多人和我一样,总是分不清submit()和execute()的区别,今天从源码方面分析总结一下。 通常,我们通过Executors这个工具类提供多种方法来创建适合不同场景的线程池,这里就不一一介绍了。
2017-07-08 11:39:23
11737
转载 Java并发编程:Callable、Future和FutureTask
Java并发编程:Callable、Future和FutureTaskJava并发编程:Callable、Future和FutureTask 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量
2017-07-08 11:04:12
264
转载 MySQL 调优/优化的 100 个建议
MySQL是一个强大的开源数据库。随着MySQL上的应用越来越多,MySQL逐渐遇到了瓶颈。这里提供 101 条优化 MySQL 的建议。有些技巧适合特定的安装环境,但是思路是相通的。我已经将它们分成了几类以帮助你理解。MySQL监控MySQL服务器硬件和OS(操作系统)调优:1、有足够的物理内存,能将整个InnoDB文件加载到内存里 —— 如果访问的文件在内存里,而不是在
2017-06-05 18:24:53
288
转载 MySQL性能优化总结
一、MySQL的主要适用场景1、Web网站系统2、日志记录系统3、数据仓库系统4、嵌入式系统二、MySQL架构图: 三、MySQL存储引擎概述1)MyISAM存储引擎MyISAM存储引擎的表在数据库中,每一个表都被存放为三个以表名命名的物理文件。首先肯定会有任何存储引擎都不可缺少的存放表结构定义信息的.frm文件,另外
2017-06-05 18:22:49
339
转载 MySQL 性能优化
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。 1.
2017-06-05 18:21:36
373
转载 使用druid连接池的超时回收机制排查连接泄露问题
在工程中使用了druid连接池,运行一段时间后系统出现异常:[html] view plain copyCaused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is c
2017-02-13 10:29:19
1069
转载 使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件
出处:http://www.cnblogs.com/lichenwei/p/4145696.htmlMybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。 1、相关文件关于Mybatis-Generator的下载可以到这个地址:htt
2016-10-20 14:31:03
271
转载 IntelliJ IDEA 快捷键和设置
IntelliJ IDEA 使用总结http://my.oschina.net/xianggao/blog/97539IntelliJ IDEA 问题解决:1.乱码,主要是快捷键的字样显示乱码 中文字体显示乱码?2.菜单项等的字体太小,怎么能设置下? ------------------------------------------------
2016-09-23 13:30:57
2322
转载 IntelliJ IDEA 基本配置入门
前言:今天下载安装IntelliJ IDEA,随手创建了一个项目,执行Build提示错误。与大多数用于开发JAVA的IDE类似,不做任何配置,编译是不会成功的。因此我尝试对IDEA的配置进行了一点初步探索,顺手记下供同行参考。1.JDK环境目前大多数IDE都没有集成JDK环境,IDEA也是一样,在使用IDEA之前首先要安装JDK,并且配置环境变量。与其他IDE不同之处在于,IDEA不会
2016-09-23 10:45:09
2025
转载 23种设计模式全解析
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式
2016-09-19 08:17:40
468
原创 Spring MVC源码分析
. 概述对于Web开发者,MVC模型是大家再熟悉不过的了,SpringMVC中,满足条件的请求进入到负责请求分发的DispatcherServlet,DispatcherServlet根据请求url到控制器的映射(HandlerMapping中保存),HandlerMapping最终返回HandlerExecutionChain,其中包含了具体的处理对象handler(也即我们编
2016-09-13 00:45:07
382
转载 mysql乐观锁应用与实践
上一篇文章《MySQL悲观锁总结和实践》谈到了MySQL悲观锁,但是悲观锁并不是适用于任何场景,它也有它存在的一些不足,因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时间过长,其他用户长时间无法访问,影响了程序的并发访问性,同时这样对数据库性能开销影响也很大,特别是对长事务而言,这样的开销往往无法承受。所以与悲观锁相对的,我们有了乐观锁,具体参见下面介绍:
2016-09-12 19:29:04
457
1
转载 mysql悲观锁应用与实践
最近学习了一下数据库的悲观锁和乐观锁,根据自己的理解和网上参考资料总结如下: 悲观锁介绍(百科):悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制
2016-09-12 19:17:27
284
转载 Spring事务管理
Spring事务管理Spring是SSH中的管理员,负责管理其它框架,协调各个部分的工作。今天一起学习一下Spring的事务管理。Spring的事务管理分为声明式跟编程式。声明式就是在Spring的配置文件中进行相关配置;编程式就是用注解的方式写到代码里。下面先说声明式:Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、Transac
2016-09-12 15:14:59
206
原创 linux 在 cpu/内存 使用率
cpu:ps aux|head -1;ps -aux|sort -k3nr|head -3内存:ps aux|head -1;ps -aux|sort -k4nr|head -3说明:ps -aux中(a指代all——所有的进程,u指代userid——执行该进程的用户id,x指代显示所有程序,不以终端机来区分) ps -aux的输出格
2016-09-12 02:18:43
412
转载 Tomcat(JVM)监控方法
Tomcat(JVM)监控方法1、Tomcat自带的监控页面 配置详见Tomcat安装配置监控一文,如图所示为监控页面: 2、LoadRunner编写脚本实现Tomcat监控 采用编写VuGen脚本访问Tomcat的Status页面的方式获取性能数据(利用了关联和lr_user_data_poi
2016-09-11 22:34:49
5910
转载 Hibernate与 MyBatis的比较
最近做了一个Hibernate与MyBatis的对比总结,希望大家指出不对之处。第一章 Hibernate与MyBatisHibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分。 Mybatis 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。MyBatis 参考资料官网:
2016-09-11 22:31:37
260
jsf培训教程
2013-07-02
java数据结构和算法.(第二版)
2012-09-23
ApWiFi最新正式绿色无限制版
2012-08-17
数据结构与算法(JAVA语言版).pdf
2012-08-17
[深入浅出Ext.JS].徐会生等.扫描版(超级完整版)
2012-06-27
官网最新struts的jar包:struts-2.3.3-all.zip
2012-05-09
输入法五笔口诀教程
2012-05-02
spring官网spring-framework最新spring的jar包
2012-04-03
apache-tomcat-7.0.26-windows-x86.zip
2012-03-30
最新hibernate -jar包:hibernate-release-4.1.1.Final.zip
2012-03-29
mysql-connector-java-3.1.13-bin
2012-03-26
HAproxy 1.4.20 发布
2012-03-11
Toad-for-MySQL-Freeware Toad-for-MySQL-Freeware
2012-03-07
html5 html5 教程 html5 html5
2011-12-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人