自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浮生一梦

逆水行舟 学无止境

  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

转载 java的类加载机制

1、什么是类的加载     类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。 类加载器并不需要等到某个类被“

2017-07-12 14:47:00 447

原创 单例的几种实现方式

单例模式的定义:单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。单例模式的优缺点:  ...

2017-07-06 17:01:20 504

转载 java开发中的23中设计模式

一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式

2017-07-06 15:45:36 424

转载 jvm原理,内存模型及GC机制

目录1. jvm结构JVM方法区结构(内存模型)1.1 程序计数器1.2 虚拟机栈(java栈)1.3 本地方法栈1.4 方法区1.5 堆1.5.1 堆内存与栈内存需要说明总结2.GC机制2.1 引用计数法2.2 可达性分析算法2.3 一般回收算法也有如下几种2.3.1 按照基本回收策略分(1)标记-清除(Mark-sweep)(2)...

2017-07-06 14:21:47 8510 1

转载 java实现定时任务的三种方法

[java] view plain copy/**  * 普通thread  * 这是最常见的,创建一个thread,然后让它在while循环里一直运行着,  * 通过sleep方法来达到定时任务的效果。这样可以快速简单的实现,代码如下:  * @author GT  *  */  public class Task1 {      

2017-07-26 11:22:43 334

转载 SpringMVC的工作原理

SpringMVC的工作原理图:SpringMVC流程1、  用户发送请求至前端控制器DispatcherServlet。2、  DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、  处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet...

2017-07-26 10:30:09 302

转载 java死锁的原因分析及解锁和预防措施

来自:http://blog.163.com/yanenshun@126/blog/static/128388169200982444858590/?fromdm&fromSearch&isFromSearchEngine=yes 进程死锁及解决办法 一、要点提示(1) 掌握死锁的概念和产生死锁的根本原因。(2) 理解产生死锁的必要条件--以下四个条件同时具备:互斥

2017-07-20 17:20:42 310

转载 消息队列的主要应用场景

消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性架构使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景2.1异步处理场景说明:用

2017-07-20 16:58:29 927

转载 ArrayList在遍历时做删除的陷阱

Java中的ArrayList循环遍历并且删除元素时经常不小心掉坑里,昨天又碰到了,感觉有必要单独写篇文章记一下。 先写个测试代码:Java代码  import java.util.ArrayList;    public class ArrayListRemove {        public static void main(Str

2017-07-20 16:04:29 422

转载 redis的缓存穿透和缓存雪崩

缓存穿透和缓存失效的预防和解决缓存穿透:认识缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透。解决办法:对所有可能查询的参数以hash形式存储,在控制层先进行校验,不符合则丢弃。还有最常见的则是采用布隆过滤器,将所有可能存在的数据

2017-07-15 15:32:31 4740 1

转载 nginx实现高并发的原理

Nginx首先要明白,Nginx 采用的是多进程(单线程) & 多路IO复用模型。使用了 I/O 多路复用技术的 Nginx,就成了”并发事件驱动“的服务器。异步非阻塞(AIO)的详解http://www.ibm.com/developerworks/cn/linux/l-async/多进程的工作模式1、Nginx 在启动后,会有一个 master 进程

2017-07-14 17:24:32 27209 4

转载 UML基本概念--类图关系 依赖、关联、泛化、实现

一、概念:UML基本概念介绍:UML:UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。UML的模型图由事物、关系、图构成。1、事物:事物有:构件事物【类、接口、用例、构件、结点等】 行为事物【交互、状态机】

2017-07-14 15:49:30 1804 1

转载 solr-全文检索引擎基本原理

本文主要内容参考自http://www.importnew.com/12707.html场景:小时候我们都使用过新华字典,妈妈叫你翻开第38页,找到“坑爹”所在的位置,此时你会怎么查呢?毫无疑问,你的眼睛会从38页的第一个字开始从头至尾地扫描,直到找到“坑爹”二字为止。这种搜索方法叫做顺序扫描法。对于少量的数据,使用顺序扫描是够用的。但是妈妈叫你查出坑爹的“坑”字在哪一页时,你要是从第

2017-07-14 15:20:50 296

转载 数据库索引的原理、特点及用法

1.数据库索引原理数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入

2017-07-13 00:23:45 1052

转载 线程和进程的区别和联系

1.定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.进程特点:1.进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。2.线程是进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有   一点在

2017-07-12 23:29:09 220

转载 对并发编程的同步/异步,阻塞/非阻塞的理解

在研究nginx和node.js的时候常会遇到异步、非阻塞等,之前自己也经常使用epoll,对其同步与阻塞,异步与非阻塞有了一定的认识,现对参考资料总结下。    首先讨论下使用事件驱动,异步编程的优点:    充分利用了系统资源,执行代码无须阻塞等待某种操作完成,有限的资源可以用于其他的任务。其非常适合于后端的网络服务编程。    在服务器开发中,并发的请求处理是个大问题

2017-07-12 22:59:46 256

原创 Vector,ArrayList,LinkedList的特点和区别

1.Vector简介及特点1、Vector是内部是以动态数组的形式来存储数据的。2、Vector具有数组所具有的特性、通过索引支持随机访问、所以通过随机访问Vector中的元素效率非常高、但是执行插入、删除时效率比较地下、具体原因后面有分析。3、Vector实现了AbstractList抽象类、List接口、所以其更具有了AbstractList和List的功能、前面我们知道Abs

2017-07-11 15:37:00 10301

转载 java线程池原理分析及应用实例

通常情况下,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?在Java中可以通过线程池来达到这

2017-07-07 23:27:44 482

转载 redis支持的数据类型、操作指令及使用场景

数据类型Redis目前支持5种数据类型,分别是:String(字符串)List(列表)Hash(字典)Set(集合)Sorted Set(有序集合)String(字符串)String是简单的 key-value 键值对,value 不仅可以是 String,也可以是数字。String在redis内部存储默认就是一个字符串,被redisObject所引用,当遇

2017-07-07 10:26:47 1039

转载 mysql的事务特性和隔离级别

1.事务的特性如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一致性(Consistency)  一致性是指事务必须使数据库从一个一致性...

2017-07-06 17:33:27 357

转载 spring事务的七种传播属性和五种隔离级别

事务定义事务,就是一组操作数据库的动作集合。事务是现代数据库理论中的核心概念之一。如果一组处理步骤或者全部发生或者一步也不执行,我们称该组处理步骤为一个事务。当所有的步骤像一个操作一样被完整地执行,我们称该事务被提交。由于其中的一部分或多步执行失败,导致没有步骤被提交,则事务必须回滚到最初的系统状态。事务特点1.原子性:一个事务中所有对数据库的操作是一个不可分割的操作序列,

2017-07-06 17:23:34 5720 1

原创 java锁机制,LOCK的实现类

1.synchronized--把代码块声明为 synchronized,有两个重要后果,通常是指该代码具有 原子性(atomicity)和 可见性(visibility)。1.1 原子性--原子性意味着个时刻,只有一个线程能够执行一段代码,这段代码通过一个monitor object保护。从而防止多个线程在更新共享状态时相互冲突。1.2 可见性--可见性则更为微妙,它要对付内

2017-07-06 17:12:02 9110

转载 java内存泄露和内存溢出

1.概念内存泄露:指程序中动态分配内存给一些临时对象,但是对象不会被GC所回收,它始终占用内存。即被分配的对象可达但已无用。内存溢出:指程序运行过程中无法申请到足够的内存而导致的一种错误。内存溢出通常发生于OLD段或Perm段垃圾回收后,仍然无内存空间容纳新的Java对象的情况(OOM)。从定义上可以看出内存泄露是内存溢出的一种诱因,不是唯一因素。为什么要了解内

2017-07-06 16:36:04 1993

转载 java静态代理和动态代理

一、代理概念为某个对象提供一个代理,以控制对这个对象的访问。 代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完请求后的后续处理。图1:代理模式从图中可以看出,代理接口(Subject)、代理类(ProxySubject)、委托类(RealSubject)形成一个“品”字结构

2017-07-06 15:12:12 264

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除