
java
c630210991
当实力撑不起野心,或者迷茫无助的时候,看书学习吧
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java多线程并发图谱
原创 2018-10-11 21:15:30 · 319 阅读 · 0 评论 -
jmx简单说明
近期在项目上需要添加一些功能,想把一个开源工程整合进来,虽说是整合,但是觉得跟开发有查不了多少,要让这个开源工程的编码风格和设计方式与我们的工程保持一致,其中涉及到应用程序的监控和管理,不可避免的要使用JMX,之前简单的了解过JMX,但是没有动力深入去了解其中的原理和编码,由于项目需要,这次针对JMX要深入总结一下,关于监控的内容,之前写过一篇系统监控之SNMP协议理解,纯属是科普文章,也没有编程...转载 2018-11-14 21:56:15 · 333 阅读 · 0 评论 -
ApplicationContextAware接口的作用
在Web应用中,Spring容器通常采用声明式方式配置产生:开发者只要在web.xml中配置一个Listener,该Listener将会负责初始化Spring容器,MVC框架可以直接调用Spring容器中的Bean,无需访问Spring容器本身。在这种情况下,容器中的Bean处于容器管理下,无需主动访问容器,只需接受容器的依赖注入即可。 但在某些特殊的情况下,Bean需要实现某个功能,但该功能必...转载 2018-11-14 21:13:02 · 175 阅读 · 0 评论 -
B树和B+树
维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度运行进行查找、顺序读取、插入和删除的数据结构。B树,概括来说是一个节点可以拥有多于2个子节点的二叉查找树。与自平衡二叉查找树不同,B-树为系统最优化大块数据的读和写操作。B-tree算法减少定位记录时所经历的中间过程,从而加快存取速度。普遍运用在数据...转载 2018-11-05 15:30:54 · 165 阅读 · 0 评论 -
nginx修改配置后reload原理初探
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/u012811805/article/details/76849668 前言 nginx启动时,会启动两个进程: 一个是Master进程和worker进程。 改变配置后nginx做的事 1)改变了nginx配置之后,HUP signal的信号需要发送给主进程。 2)主进程首先会检测新配置的语法有...转载 2018-11-02 19:53:34 · 526 阅读 · 0 评论 -
MySQL存储引擎中的MyISAM和InnoDB区别详解
Mysql有两种存储引擎:InnoDB与Myisam,下表是两种引擎的简单对比 MyISAM InnoDB 构成上的区别: 每个MyISAM在磁盘上存储成三个文件。第一个 文件的名字以表的名字开始,扩展名指出文件类型。 .frm文件存储表定义。 数据文件的扩 展名为.MYD (MYData)。 索引文件的扩 展名是.MYI (MYIndex)。 ...转载 2018-11-02 19:50:50 · 270 阅读 · 0 评论 -
mysql中InnoDB表为什么要建议用自增列做主键
mysql中InnoDB表为什么要建议用自增列做主键 InnoDB引擎表的特点 1、InnoDB引擎表是基于B+树的索引组织表(IOT) 关于B+树 (图片来源于网上) B+ 树的特点: (1)所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关键字恰好是有序的; (2)不可能在非叶子结点命中; (3)非叶子结点相当于是叶子结点的索引(稀疏索引),叶子结点相当于是存储(...转载 2018-11-02 19:37:45 · 611 阅读 · 0 评论 -
CountDownLatch、CyclicBarrier和Semaphore
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。 以下是本文目录大纲: 一.CountDownLatch用法 二.CyclicBarr...转载 2018-11-02 18:54:27 · 136 阅读 · 0 评论 -
深入理解Java集合框架
《深入理解Java集合框架》系列文章 Introduction 关于C++标准模板库(Standard Template Library, STL)的书籍和资料有很多,关于Java集合框架(Java Collections Framework, JCF)的资料却很少,甚至很难找到一本专门介绍它的书籍,这给Java学习者们带来不小的麻烦。我深深的不解其中的原因。虽然JCF设计参考了STL,但其定...转载 2018-11-01 20:31:29 · 229 阅读 · 0 评论 -
ConcurrentHashMap的锁分离技术(源码)
ConcurrentHashMap的锁分离技术 concurrenthashmap是一个非常好的map实现,在高并发操作的场景下会有非常好的效率。实现的目的主要是为了避免同步操作时对整个map对象进行锁定从而提高并发访问能力。 ConcurrentHashMap 类中包含两个静态内部类 HashEntry 和 Segment。HashEntry 用来封装映射表的键...转载 2018-10-31 16:51:09 · 394 阅读 · 0 评论 -
悲观锁,乐观锁,行锁,表锁,页锁,共享锁,排他锁
悲观锁: 顾名思义,很悲观,就是每次拿数据的时候都认为别的线程会修改数据,所以在每次拿的时候都会给数据上锁。上锁之后,当别的线程想要拿数据时,就会阻塞,直到给数据上锁的线程将事务提交或者回滚。传统的关系型数据库里就用到了很多这种锁机制,比如行锁,表锁,共享锁,排他锁等,都是在做操作之前先上锁。 行锁: 下面演示行锁,打开两个mysql命令行界面,两个线程分别执行如下操作:(左...转载 2018-10-31 14:24:48 · 123 阅读 · 0 评论 -
线程池详解
在了解线程池之前,要先理解一个问题 为什么要使用线程池 a.线程池可以更加有效的利用cpu资源,减少创建线程,销毁线程带来的多余的开销 b.线程池能控制线程的并发数目,管理线程并发问题 c.线程池用一些其他的特性,延时调度执行,例如:scheduleThreadPool能使线程定时调度执行 我们先看下线程池的构造方法: int corePoolSize => 该线程池中...原创 2018-10-10 18:54:35 · 315 阅读 · 0 评论 -
Java之JNDI详解
JNDI的基本应用 JNDI是Java Naming and Directory Interface(JAVA命名和目录接口)的英文简写,它是为JAVA应用程序提供命名和目录访问服务的API(Application Programing Interface,应用程序编程接口)。 1.命名的概念与应用 JNDI中的命名(Naming),就是将Java对象以某个名称...转载 2018-11-20 15:37:24 · 707 阅读 · 0 评论