- 博客(27)
- 收藏
- 关注
转载 垃圾收集器和内存分配策略
垃圾收集器回收哪些虚拟机内存区域java堆和方法区回收什么样的内存区域回收“已死”的对象(即不再使用的对象)占用的内存怎么判断对象“已死”引用计数法做法:给对象中添加一个引用计数器,每当被引用时,计数器就加1;每当引用失效时,计数器就减1;任何时刻计数器为0的对象就是不可能再被使用的。使用:客观上,引用计数法实现简单,判断效率高,在很多情况下都是一个不错的算法...
2019-03-01 11:56:00
109
转载 Java内存区域和内存溢出异常
前言对于java程序员来说,在虚拟机自动内存管理的机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出的问题,由虚拟机管理内存,这一切看起来都很美好。不过,也正是因为java程序员把内存控制的权利交给了java虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会成为一项艰难的工作。所以本篇博...
2019-02-26 20:25:00
139
转载 keepalived介绍
keepalived介绍Keepalived是一个基于VRRP协议来实现的服务高可用方案,可以利用其来避免IP单点故障,类似的工具还有heartbeat、corosync、pacemaker。但是它一般不会单独出现,而是与其它负载均衡技术(如lvs、haproxy、nginx)一起工作来达到集群的高可用。VRRP协议VRRP全称 Virtual Router Redundan...
2019-02-23 13:04:00
154
转载 Nginx + Keepalived实现应用高可用负载均衡功能
说明:此处仅介绍Keepalived 实现nginx负载均衡器的高可用,关于nginx介绍和负载均衡实现可查看我的另两篇博文Nginx负载均衡和Nginx配置了解应用背景:实现高可用,避免单点故障技术实现:使用2台虚拟机通过Keepalived工具来实现 nginx 的高可用(High Avaiability),达到一台nginx入口服务器宕机,另一台备机自动接管服务的效...
2019-02-23 12:39:00
126
转载 Nginx配置了解
安装Nginx常用编译选项说明nginx大部分常用模块,编译时./configure --help查看,以--without开头的都是默认安装。--prefix=PATH 指定nginx的安装目录。默认 /usr/local/nginx--conf-path=PATH 设置nginx.conf配置文件的路径。nginx允许使用不...
2019-02-22 17:03:00
176
转载 Nginx实现负载均衡功能
一、什么是Nginx?Nginx是一款轻量级的Web 服务器、反向代理服务器、电子邮件(IMAP/POP3)代理服务器。二、Nginx的优点:高并发连接:官方测试Nginx能够支撑5万并发连接,实际测试可达到3万左右,每天可以处理亿次访问量;原因是:采用最新epoll(linux2.6内核)和kqueue(freebsd)网络I/O模型,而Apache采用的是传统的sel...
2019-02-22 15:08:00
93
转载 Spring MVC的文件上传和下载
简介:Spring MVC为文件上传提供了直接的支持,这种支持使用即插即用的MultipartResolver实现的。Spring MVC 使用Apache Commons FileUpload技术实现了一个MultipartResolver实现类:CommonsMultipartResolver。因此,Spring MVC的文件上传还需依赖Apache Commons FileUp...
2019-02-20 14:06:00
95
转载 Spring MVC深入学习
一、MVC思想MVC思想简介: MVC并不是java所特有的设计思想,也不是Web应用所特有的思想,它是所有面向对象程序设计语言都应该遵守的规范;MVC思想将一个应用部分分成三个基本部分:Model(模型)、View(视图)和Controller(控制器),这三个部分以最少的耦合协同工作,从而提高应用的可扩展性和可维护性;MVC特点:...
2019-02-19 17:56:00
273
转载 Spring MVC入门
一、springMvc简介 springMvc是一个web层框架;二、springMvc特点:springMvc拥有强大的灵活性、非侵入性和可配置性;springMvc拥有一个前端控制器DispatcherServlet,开发者无需额外开发控制器对象;springMvc分工明确,包括控制器、验证器、命令对象、模型对象、处理程序映射视图解析,等等,每一...
2019-02-19 10:14:00
71
转载 RabbitMQ
前言:RabbitMQ擅长解决多系统、异构系统之间的数据交换(消息通知、通讯问题),也可以应用于系统间服务的相互调用(RPC)。RabbitMQ简介:AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反...
2019-02-18 14:59:00
75
转载 git工具使用说明
一、什么是git? Git是分布式版本控制系统 概念:工作区:就是你在电脑里能看到的目录;暂存区:一般存放在(.git/index)中,所以我们把暂存区有时也叫作索引(index);版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库发布管理;二、集中式vs分布式集中式版本控制系统,版本...
2019-02-14 17:53:00
123
转载 单例模式(3)
简介:单例模式是一种简单的设计模式,但是要在程序设计中使用好单例模式,却需要注意几个地方。单例模式意味着在整个系统中,单例类只能有一个实例对象,且需要自行完成实例化,并始终对外提供同一个实例对象。单例模式实现方式:饿汉模式:public class Singleton { //饿汉模式是最简单的实现方式,在类加载时就创建单例类对象 privat...
2019-02-14 14:36:00
81
转载 数据结构学习前言(1)
数据结构分类:线性结构:数组、链表、栈、队列、哈希表...树形结构:二叉树、二分搜索树、AVL、红黑树、Treap、Splay、堆、Trie、线段树、K-D树、并查集、哈夫曼树...图形结构:邻接矩阵、邻接表...数据结构使用:根据应用的不同,灵活的选择合适的数据结构计算机世界里数据结构的应用:数据库、操作系统、文件压缩数据结构 + 算法 = 程序...
2019-02-13 09:12:00
59
转载 Mybatis框架基础支持层——日志模块(8)
前言:java开发中常用的日志框架有Log4j,Log4j2,Apache Commons Log,java.util.logging,slf4j等,这些工具对外的接口不尽相同。为了统一这些工具的接口,Mybatis定义了一套统一的日志接口供上层调用,并为上述日志框架提供了相应的适配器。在Mybatis的日志模块中,使用了适配器模式。Mybatis调用其他日志模块时,使用了其内部...
2019-02-12 14:14:00
175
转载 适配器模式(2)
适配器模式的定义:将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够一起工作。图解:A、B两个图框代表已经塑模成型的物体A和物体B,现在要求把A和B安装在一起使用,如何安装?两者的接口不一致,是不可能安装在一起使用的,那怎么办?引入一个物体C,如下:引入物体C后,C适应了物体A的接口,同时也适应了物体B的接口,然后三者就可以组...
2019-01-31 10:27:00
82
转载 设计模式之6大设计原则(1)
单一职责原则(Single Responsibility Principle),简称SRP。定义:一个类只负责一件事情;说明:类的单一职责原则受多重因素制约,实际实现起来,需要考虑项目工期、成本、人员技术水平等使用:接口一定要做到单一职责原则,类的设计尽量做到单一职责原则扩展:单一职责原则同样适用于类中的方法,方法一定要职责分明,耦合最低处理里氏替换原则:定义:只...
2019-01-30 15:44:00
96
转载 Mybatis框架基础支持层——反射工具箱之MetaClass(7)
简介:MetaClass是Mybatis对类级别的元信息的封装和处理,通过与属性工具类的结合, 实现了对复杂表达式的解析,实现了获取指定描述信息的功能public class MetaClass { private ReflectorFactory reflectorFactory; private Reflector reflector; ...
2019-01-29 14:26:00
117
转载 Mybatis框架基础支持层——反射工具箱之实体属性Property工具集(6)
本篇主要介绍mybatis反射工具中用到的三个属性工具类:PropertyTokenizer、PropertyNamer、PropertyCopier。PropertyTokenizer:主要用来解析Mybatis使用过程中遇到的类似"order[0].items[0].name"这种由"."和"[ ]"组成的表达式:public class PropertyTokeni...
2019-01-24 10:58:00
115
转载 Mybatis框架基础支持层——反射工具箱之对象工厂ObjectFactory&DefaultObjectFactory(5)...
ObjectFactory官方简介:MyBatis每次创建结果集对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。 默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法,要么在参数映射存在的时候通过参数构造方法来实例化。 如果想覆盖对象工厂的默认行为,则可以通过创建自己的对象工厂来实现。ObjectFactory接口源码:public ...
2019-01-23 16:03:00
224
转载 Mybatis框架基础支持层——反射工具箱之泛型解析工具TypeParameterResolver(4)
简介:TypeParameterResolver是一个工具类,提供一系列的静态方法,去解析类中的字段、方法返回值、方法参数的类型。在正式介绍TypeParameterResolver之前,先介绍一个JDK提供的接口Type,因为TypeParameterResolver的实现会涉及到它的实现;它是所有类型的父接口,在JDK实现中,Type接口拥有四个接口和一个实现类分别代表不同的数据...
2019-01-22 16:40:00
195
转载 java安全管理器SecurityManager介绍
java安全管理器类SecurityManager简单剖析:javadoc介绍:SecurityManager是一个允许应用实现一种安全策略的类。它允许一个应用去明确,在执行一个可能安全或者敏感的操作之前,此操作是否允许在一个安全的上下文中被执行。应用可以同意或者拒绝执行操作。SecurityManager类包含许多以check开头命名的方法。java库中的各种方法在执行...
2019-01-21 16:08:00
202
转载 Mybatis框架基础支持层——反射工具箱之Reflector&ReflectorFactory(3)
说明:Reflector是Mybatis反射工具的基础,每个Reflector对应一个类,在Reflector中封装有该类的元信息,以及基于类信息的一系列反射应用封装APIpublic class Reflector { private static final String[] EMPTY_STRING_ARRAY = new String[0]; ...
2019-01-19 11:21:00
104
转载 Mybatis框架基础支持层——解析器模块(2)
解析器模块,核心类XPathParser/** * 封装了用于xml解析的类XPath、Document和EntityResolver */public class XPathParser { /** * 将xml文件读入内存,并构建一棵树, * 通过树结构对各个节点node进行操作 */ private Doc...
2019-01-17 16:56:00
95
转载 Mybatis框架可视化(1)
Mybatis整体架构视图:接口层SqlSession(定义了Mybatis暴露给应用程序调用的API)核心处理层配置解析(加载核心配置、映射配置、mapper接口注解信息,解析后形成的对象保存至Configuration对象)参数映射SQL解析(动态s...
2019-01-17 13:56:00
152
转载 JDK动态代理简单使用(2)
JDK动态代理使用:使用JDK动态代理步骤:①创建被代理的接口和类;public interface IA { void f1(String param);}public class A implements IA { @Override public void f1(String param) { System...
2019-01-11 16:51:00
88
转载 代理(1)
什么是代理?代理模式是指给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。这种模式有什么用呢?它可以在原对象的基础上增强原对象的功能,比如在原对象调用一个方法的前后进行日志、事务操作等。Spring AOP就使用了代理模式。了解代理入口:静态代理:如何实现代理模式呢?首先来看静态代理。静态代理是指在程序运行前就已经存...
2019-01-11 16:43:00
58
转载 动态代理源码分析(3)
分析入口:Proxy类的newProxyInstance方法:@CallerSensitive public static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, ...
2019-01-11 16:18:00
58
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人