自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 手写SpringMVC实战,从Spring底层源码分析与设计

课程内容:1,三分钟熟悉Spring底层源码,你只需准备好鲜花即可;2,Spring源码很可怕?那是因为你没听过James的课;3,快速熟悉源码基础,洞析SpringMVC与Spring框架关系;4,@Controller,@Service这些注解算什么,一通百通;5,从Spring源码到手写SpringMVC流程分析,你一定能懂;6,手写SpringMVC实战;7,tomcat...

2018-08-30 18:10:28 892

原创 java封装实现Excel建表读写操作

对 Excel 进行读写操作是生产环境下常见的业务,网上搜索的实现方式都是基于POI和JXL第三方框架,但都不是很全面。小编由于这两天刚好需要用到,于是就参考手写了一个封装操作工具,基本涵盖了Excel表(分有表头和无表头)的创建,并对它们进行读写操作。为方便大家,有需要者可以点击文后点解下载直接使用哦,当然也可以根据自己需求举一反三自己定制,相信对于聪明的你也不是什么难事。话不多说,直接贴源码...

2018-08-28 15:51:13 966

原创 Java虚拟机16:Metaspace

被废弃的持久代想起之前面试的时候有面试官问起过我一个问题:Java 8为什么要废弃持久代即Metaspace的作用。由于当时使用的Java 7且研究重心不在JVM上,一下没有回答上来,今天突然想起这个问题,就详细总结一下这个问题。首先我们看一张JVM内存布局的图:注意到里面有一块METHOD AREA,它是一块线程共享的对象,名为方法区,在HotSpot虚拟机中,这块METHOD ...

2018-08-21 16:05:33 399

原创 JavaScript数组方法总结篇

方法在数组的尾部添加一个或多个元素,并返回数组的长度参数: item1, item2, …, itemX ,要添加到数组末尾的元素let arr = [1,2,3];let length = arr.push('末尾1','末尾2'); // 返回数组长度console.log(arr,length)// [1, 2, 3, "末尾1", "末尾2"] 5返回值: 数组的...

2018-08-18 20:43:32 306

原创 架构师细说 NGINX 的配置及优化

最近感觉很多东西在运用到一定的程度之后,会发现原来是自己了解到的不够。一方面限于实际运用到的不多,一方面可能是因为一开始没有进行全面认识。遂这里搜集整理了一番NGINX。一、nginx启动和关闭centos平台,源码安装的/usr/local/nginx/nginx # 启动/usr/local/nginx/nginx -s reload # 平滑重启/usr/local/ng...

2018-08-16 16:22:59 277

原创 JAVA消息确认机制之ACK模式

JMS API中约定了Client端可以使用四种ACK模式,在javax.jms.Session接口中:AUTO_ACKNOWLEDGE  = 1    自动确认 CLIENT_ACKNOWLEDGE  = 2    客户端手动确认    DUPS_OK_ACKNOWLEDGE  = 3    自动批量确认 SESSION_TRANSACTED  = 0    事务提交并确认此外Aci...

2018-08-16 16:17:37 4374

原创 八、 Java程序初始化的顺序

今天在写构造器方法的时候,遇到了一个小问题,由这个问题引发了一连串的思考,在一个Java类中变量与类的初始化执行顺序是什么样的呢?## 发现问题class Student{ private String name; void setName(String name){ this.name = name; } String getName(){...

2018-08-16 16:14:29 226

原创 Java动态代理-实战

只要是写Java的,动态代理就一个必须掌握的知识点,当然刚开始接触的时候,理解的肯定比较浅,渐渐的会深入一些,这篇文章通过实战例子帮助大家深入理解动态代理。说动态代理之前,要先搞明白什么是代理,代理的字面意思已经很容易理解了,我们这里撇开其他的解释,我们只谈设计模式中的 代理模式什么是代理模式(Proxy)定义:给目标对象提供一个代理对象,并由代理对象控制对目标对象的引用在代理模式...

2018-08-16 16:12:19 342

原创 Java并发编程笔记之ConcurrentHashMap原理探究

在多线程环境下,使用 HashMap 进行 put 操作时存在丢失数据的情况,为了避免这种bug的隐患,强烈建议使用 ConcurrentHashMap 代替 HashMap。HashTable是一个线程安全的类,它使用synchronized来锁住整张Hash表来实现线程安全,即每次锁住整张表让线程独占,相当于所有线程进行读写时都去竞争一把锁,导致效率非常低下。ConcurrentHashM...

2018-08-15 17:31:35 240

原创 Java HashMap类源码解析

作为重要的常用集合,HashMap主要是提供键值对的存取,通过key值可以快速找到对应的value值。Hash表是通过提前设定好的规则计算一个元素的hash值来找到他在数组中的存储位置进行快速定位,假设有一个大小为10的数组,可以设定简单的计算规则为元素转为int后mod 10,由此元素的hash值一定会落在大小为10的数组内。由于不同元素可能会计算出相同的hash值,如例子中1和11都应该在下标...

2018-08-13 14:43:45 180

原创 Javascript 模块化指北

前言随着 Web 技术的蓬勃发展和依赖的基础设施日益完善,前端领域逐渐从浏览器扩展至服务端(Node.js),桌面端(PC、Android、iOS),乃至于物联网设备(IoT),其中 JavaScript 承载着这些应用程序的核心部分,随着其规模化和复杂度的成倍增长,其软件工程体系也随之建立起来(协同开发、单元测试、需求和缺陷管理等),模块化编程的需求日益迫切;JavaScript 对模块...

2018-08-11 18:37:50 153

原创 Java注解处理器使用注意事项

Java注解处理器使用注意事项目录[TOC]注解元注解@Target用于标记可以应用于哪些类型上.类型说明元素类型 适用场合 ANOTATION_TYPE 注解类型声明 PACKAGE 包 TYPE 类,枚举,接口,注解 METHOD 方法 CONSTRUCTOR 构造方法 FIELD 成员域,枚举常...

2018-08-07 21:21:25 536

原创 Spring Boot与Spring Cloud是什么关系?

SpringBoot先于Spring Cloud问世。SpringBoot相当于脚手架,借助他可以快速搭建房子,它本身不具备任何功能属性,值是普通房间,没有其他任何功能。什么是Spring BootSpring Boot简化了基于Spring的应用开发,通过少量的代码就能创建一个独立的、产品级别的Spring应用。 Spring Boot为Spring平台及第三方库提供开箱即用的设置,...

2018-08-06 17:42:13 374

原创 Java并发(4)- synchronized与CAS

引言上一篇文章中我们说过,volatile通过lock指令保证了可见性、有序性以及“部分”原子性。但在大部分并发问题中,都需要保证操作的原子性,volatile并不具有该功能,这时就需要通过其他手段来达到线程安全的目的,在Java编程中,我们可以通过锁、synchronized关键字,以及CAS操作来达到线程安全的目的。synchronized在Java的并发编程中,保证线程同步最为程...

2018-08-01 17:17:01 213

原创 Java String类源码解析

String直接继承Object含有一个char[] value,还有一个int hash默认值为0new String()的构造产生的是一个值为””的字符数组String( char value[], int offset, int count)当count=0且offset<=value.length时构造一个值为””的字符串。offset>0且offset+count...

2018-08-01 17:13:09 218

阿里P7大牛一对一教你如何手写SpringMVC框架

看后不过瘾?想学更多架构技术知识?那么请联系我

2018-10-10

空空如也

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

TA关注的人

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