自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (5)
  • 收藏
  • 关注

原创 java 垃圾回收机制

怎样判断是对象否为垃圾?引用计数法引用计数法是为对象添加一个引用计数器,然后用一块额外的内存区域来存储每个对象被引用的次数。 当对象每有一个地方引用它时,那我们对该对象的引用计数就会加1,反之每有一个引用失效时,我们对该对象的引用计数就会减1。 当对象的被引用次数为0时,那么我们可以认为这个对象是不会被再次使用了,通过这种方式我们能快速直观的定位到这些已死的对象,从而进行清理。引用计数法的缺陷需要额外的空间记录对象的引用次数,并且需要动态的维护这个统计数。无法解决循环引用的问题,当两

2020-06-02 15:55:15 375

原创 创建对象过程

首先看下类的生命周期 :对象的创建其实包含了初始化和实例化两个阶段,我们在使用一个对象时,JVM首先会检查相关类型是否已经加载并初始化,如果没有,则JVM立即进行加载并调用类构造器完成类的初始化。在类初始化过程中或初始化完毕后,根据具体情况才会去对类进行实例化。实例化时候,java虚拟机就会为其分配内存来存放自己及其从父类继承过来的实例变量。在为这些实例变量分配内存的同时,这些实例变量先会被赋予默认值(零值)。在内存分配完成之后,Java虚拟机才会对新创建的对象赋予我们程序员给定的值创.

2020-05-26 15:51:40 246

原创 jvm 总结

一、JVM 内存区域Java虚拟机在运行时,会把内存空间分为若干个区域,根据《Java虚拟机规范(Java SE 7 版)》的规定,Java虚拟机所管理的内存区域分为如下部分:方法区、堆内存、虚拟机栈、本地方法栈、程序计数器。1、方法区方法区主要用于存储虚拟机加载的类信息、常量、静态变量,以及编译器编译后的代码等数据。在jdk1.7及其之前,方法区是堆的一个“逻辑部分”(一片连续的堆空间),但为了与堆做区分,方法区还有个名字叫“非堆”,也有人用“永久代”(HotSpot对方法区的...

2020-05-19 18:08:07 135

原创 阿里巴巴 easyExcel 遇到的问题

1、easyExcel pom文件中的 POI 的版本要和 easyExcel 中的POI版本一致2、异常信息com.alibaba.excel.exception.ExcelGenerateException: Can not close IO. at com.alibaba.excel.context.WriteContextImpl.finish(WriteCont...

2020-05-07 15:07:13 4886

原创 springMVC 简单实现

在Spring MVC中,将一个普通的java类标注上Controller注解之后,再将类中的方法使用RequestMapping注解标注,那么这个普通的java类就够处理Web请求,示例代码如下:/** 2 * 使用Controller注解标注LoginUI类 3 *//** * 使用Controller注解标注LoginUI类 */@Controllerpu...

2020-01-07 17:31:59 94

原创 自己动手实现springMVC框架

首先,SpringMVC简单来说就是一个前端控制器,通过RequestMapping和Controller注解去完成一个控制层的编写,再和我们的DAO层和Service层进行交互完成页面的展示和数据的持久化首先说一下SpringMVC的运行流程向服务器发送HTTP请求,请求被前端控制器 DispatcherServlet 捕获。DispatcherServlet 根据 <servl...

2019-12-17 17:45:23 159

原创 spring 源码分析 - 3

1、测试主类入口AnnotationConfigApplicationContext可以实现基于Java的配置类(包括各种注解)加载Spring的应用上下文。避免使用application.xml进行配置。相比XML配置,更加便捷。public class Test { public static void main(String[] args) { Annot...

2019-12-03 14:52:41 76

原创 spring 源码分析-2

spring源码解析和时序图下载源码、安装Spring5源码下载第一步:https://github.com/spring-projects/spring-framework/archive/v5.0.2.RELEASE.zip第二步:下载gradlehttp://downloads.gradle.org/distributions/gradle-1.6-bin.z...

2019-11-26 15:28:19 106

原创 spring 源码分析 学习总结

spring源码解析和时序图IOC容器创建主要分为创建容器、 bean的扫描、容器初始化、获取bean、创建bean几个步骤,下面以AnnotationConfigApplicationContext()容器初始化为入口解析整个IOC容器创建的过程。1、创建容器容器创建测试代码入口 public static void main(String[] args) { ...

2019-11-19 15:35:07 208

原创 spring学习总结

BeanFactory:1:负责生产和管理bean的一个工厂。2:事IOC容器的核心接口,它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象的依赖。3:多种实现:如DefaultListableBeanFactory、XmlBeanFactory、ApplicationContext等,其中XmlBeanFactory就是常用的一个,该实现将以XML方式描述组成应用的对象...

2019-11-12 15:23:31 132 1

原创 spring ioc 学习总结

IOC(inversion of control),其意思是反转控制,起源程序员的春天spring中的概念。 那么什么是反转控制呢,我们的对象创建都交给IOC了,程序员从我们平常代码中大量的new代码解脱出来,消除了大量冗余的代码。自己的理解:没有IOC之前我们要做饭的话需要自己每天去菜市场买菜、用了IOC之后呢 我们只需要告诉菜贩子今天要吃什么菜,然后菜贩子把菜准备好送上门; 然而IOC...

2019-11-05 14:25:18 199

原创 dubbo配置zk 学习总结

1.上传zk安装包2.解压3.配置(先在一台节点上配置) 3.1添加一个zoo.cfg配置文件 $ZOOKEEPER/conf mv zoo_sample.cfg zoo.cfg 3.2修改配置文件(zoo.cfg) dataDir=/itcast/zookeeper-3.4.5/data server.1=itc...

2019-10-22 14:59:56 2479

原创 dubbo总结

  1.首先文件结构是这样的就是一个父模块中有三个子模块这就是父模块中的所有依赖内容首先会抽出一个模块放所有bean和所有接口然后是服务提供者  pom依赖文件中首先要把接口和bean模块加入进来  这样我们就可以直接实现interface中的接口和bean ...

2019-10-15 18:10:04 70

原创 Zookeeper

Zookeeper基本概念:Zookeeper 作为 Hadoop 项目中的一个子项目,是 Hadoop 集群管理的一个必不可少的模块,它主要用来控制集群中的数据,如它管理Hadoop 集群中的 NameNode,还有 Hbase 中 Master Election、Server 之间状态同步等Zookeepr其实主要提供了两个重要的机制(1)文件系统(2)通知机制。客户端...

2019-09-10 16:58:55 63

原创 装饰者模式总结

装饰者模式(DecoratorPattern)、顾名思义。是用Decorator去装饰Component、因为实现了同一接口或者抽象类、Decorator同样可以装饰Decorator!通过这种模式我们也可以看出一个设计模式的设计原则下面通过对实际问题的分析来了解这种模式;对与星巴克咖啡我们都不会陌生、当然这里不会介绍他的编年史什么什么的、只是对其出售的咖啡的一种销售策略的价格做一下...

2019-09-03 15:06:53 188

原创 观察者模式

观察者模式,又可以称之为发布-订阅模式,观察者,顾名思义,就是一个监听者,类似监听器的存在,一旦被观察/监听的目标发生的情况,就会被监听者发现,这么想来目标发生情况到观察者知道情况,其实是由目标将情况发送到观察者的。  观察者模式多用于实现订阅功能的场景,例如微博的订阅,当我们订阅了某个人的微博账号,当这个人发布了新的消息,就会通知我们。  现在我们举一个类似的情况,并使用代码来实现,为大...

2019-08-27 15:19:50 69

原创 动态代理总结

代理模式是Java中常见的一种模式,英文名字叫走Proxy或者Surrogate,代理的本意是一个人代表另一个人,或者一个机构代表另一个机构,采取行动,因而,代理和现实生活中的中介有很大的类似,你买房子、卖房子,可以自己去操作,但是需要了解和买卖房产无关的细节,如契税等,而找一个中介,则不用关心这些与买卖房产无直接关系的中间细节,只关心业务本身。静态代理:具体用户管理实现类pu...

2019-08-20 15:50:25 219 1

原创 mysql架构总结

mysql 总体架构分为:连接层:客户端(Client Connection)、系统管理(Services)、连接池管理(Connection pool)。连接层是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于tcp/ip的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样...

2019-08-06 14:35:42 101

原创 mysql mvcc理解

在Mysql中MVCC是在Innodb存储引擎中得到支持的,Innodb为每行记录都实现了三个隐藏字段:6字节的事务ID(DB_TRX_ID)7字节的回滚指针(DB_ROLL_PTR)隐藏的ID6字节的事物ID用来标识该行所述的事务,7字节的回滚指针需要了解下Innodb的事务模型。1. Innodb的事务相关概念为了支持事务,Innbodb引入了下面几个概念:red...

2019-07-30 17:19:39 120

原创 数据库锁机制

每个数据库几乎都会实现自己的锁机制,锁机制是数据库区别于文件系统的主要标志之一,用于管理对共享资源的并发访问。Mysql数据库InnoDB引擎支持行级锁,也就是说我们可以对表中某些行数据执行锁定操作,锁定操作的影响是:如果一个事物对表中某行执行了锁定操作,而另一个事务也需要对同样的行执行锁定操作,这样第二个事务的锁定操作有可能被阻塞,一旦被阻塞第二个事务只能等到第一个事务执行完毕(提交或回滚)...

2019-07-23 16:43:32 97

原创 数据库索引原理总结

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

2019-07-16 16:23:51 94

原创 类的加载机制

1、类的加载时机类从被加载到java虚拟机内存开始,到类的卸载出内存位置,他的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载7个阶段,其中的验证、准备、解析3个阶段部分称为连接。1、当程序运行中遇到new、getstatic、putstatic、invokestatic 四条指令时如果该类没有进行初始化、则需要先进行类的初始化。2、使用java.lang.reflec...

2019-07-09 13:14:12 76

原创 策略模式

关于策略模式策略模式和java语言的多态特性有些像。java的多态特性允许我们面向接口编程,不用关心接口的具体实现。接口所指向的实现类,以及通过接口调用的方法的具体行为可以到运行时才绑定。这么做最大的好处是在尽可能实现代码复用的前提下更好地应对具体实现类的变化。比如我想增加一种接口的实现或者修改原有实现类的某个行为,那我几乎不用修改任何客户端代码。策略模式可以说正是这种思想在设计模式上的运用。...

2019-07-02 15:57:04 58

原创 序列化&克隆

分享总结:序列化与克隆序列化:如何实现人类的瞬间转移:比如实现人类活着物体的瞬间转移也就是所谓的乾坤大挪移!哈哈!其实这种大法在理论上是可以实现的,物体是由物质组成的,物质是原子和电子组成的,而原子和电子也就是物质在宇宙中的每一个星球上都有存在的,如果我们将人类数据化(何为数据化?也就是用数据描述物质的形态位置)然后利用光速(光速还不够快)或者量子纠缠现象传播数据信息然后在另一端将数据...

2019-06-25 16:16:41 241 1

原创 HashMap 分享总结

hashmap 分享总结hashmap数据结构:hashmap 是java 中最基础的一种数据集, 是一个用于存储key-value键值对的集合,每一个键值对也被叫做Entry(在java1.8中是Node)。这些个键值对分散存储在一个数组当中,这个数组就是HaspMap的主干。 总体上看,JDK7中HashMap采用的是位桶+链表的方式,即我们常说的散列链表的方式,而JDK8中采用的是位...

2019-06-18 11:07:10 125

flashfxp_FTP

非常好用的工具非常好用的工具非常好用的工具非常好用的工具非常好用的工具非常好用的工具非常好用的工具非常好用的工具非常好用的工具非常好用的工具非常好用的工具非常好用的工具

2018-01-12

windows git 32-bit 和 64-bit

可以用的 32 位 64 位都在里面 放心下载。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2018-01-12

内存CPU检测工具

支持windows 64 和 32位

2017-08-07

谷歌插件postman

有详细的安装文档 可以用的!!

2017-06-16

jQuery-photoClip

jQueryphotoClip是一款支持移动设备触摸手势的图片裁剪jQuery插件。... 插件描述:jQueryphotoClip是一款支持移动设备触摸手势的图片裁剪jQuery插件

2016-11-28

空空如也

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

TA关注的人

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