tortoiseLi
码龄8年
求更新 关注
提问 私信
  • 博客:18,564
    18,564
    总访问量
  • 4
    原创
  • 1
    粉丝
  • 93
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:云南省
加入CSDN时间: 2017-02-23
博客简介:

SunshineLPL的博客

查看详细资料
个人成就
  • 获得1次点赞
  • 内容获得0次评论
  • 获得2次收藏
创作历程
  • 13篇
    2018年
  • 21篇
    2017年
TA的专栏
  • java
    20篇
  • springmvc
    1篇
  • 正则表达式
    1篇
  • jvm
    2篇
  • 码农翻身
    1篇

TA关注的专栏 1

TA关注的收藏夹 0

TA关注的社区 2

TA参与的活动 0

  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

java设计模式-外观模式(门面模式)

针对外观模式,在项目开发和实际运用中十分频繁,但是其极易理解,下面就简要介绍一下。一、概念介绍  外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用。 二、角色及使用场景  简单来说,该模式就是把一些复杂的流程封装成一个接口供给外部用户更简单的...
转载
发布博客 2018.04.02 ·
228 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Tomcat中定制阀门

我们说管道机制给我们带来了更好的扩展性,Tomcat中在扩展性方面具体如何体现,这便是本节讨论的内容。从上节了解到基础阀门是必须执行的,假如你需要一个额外的逻辑处理阀门,可以添加一个非基础阀门。我的需求是对每个请求访问进行IP记录,打印到日志里面,详细操作如下:① 自定义一个阀门PrintIPValve,只要继承ValveBase并重写invoke方法即可,ValveBase是Tomcat抽象的一...
转载
发布博客 2018.03.30 ·
536 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Tomcat的管道

Tomcat中按照包含关系一共有四个容器——StandardEngine、StandardHost、StandardContext和StandardWrapper,对这四个容器的详细解析后面会涉及,请求对象及响应对象将分别被此四个容器处理,请求响应对象在四个容器之间通过管道机制进行传递。如下图,请求响应对象先通过StandardEngine的管道,期间经过若干个阀门处理,基础阀门是Standard...
转载
发布博客 2018.03.30 ·
440 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

管道模式-pipeline与valve

在一个比较复杂的大型系统中,假如存在某个对象或数据流需要被进行繁杂的逻辑处理的话,我们可以选择在一个大的组件中进行这些繁杂的逻辑处理,这种方式确实达到了目的,但却是简单粗暴的。或许在某些情况这种简单粗暴的方式将带来一些麻烦,例如我要改动其中某部分处理逻辑、我要添加一些处理逻辑到流程、我要在流程中减少一些处理逻辑时,这里有些看似简单的改动都让我们无从下手,除了对整个组件进行改动。整个系统看起来没有任...
转载
发布博客 2018.03.30 ·
607 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

设计模式-观察者模式

设计模式--观察者模式初探和java Observable模式初步认识观察者模式  观察者模式又称为发布/订阅(Publish/Subscribe)模式,因此我们可以用报纸期刊的订阅来形象的说明:    报社方负责出版报纸.    你订阅了该报社的报纸,那么只要报社发布了新报纸,就会通知你,或发到你手上.    如果你不想再读报纸,可以取消订阅,这样,报社发布了新报纸就不会再通知你.  理解其实以...
转载
发布博客 2018.03.30 ·
219 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java NIO

Java NIO是一个用来替代标准Java IO API的新型数据传递方式,像现在分布式架构中会经常存在他的身影。其比传统的IO更加高效,非阻塞,异步,双向NIO主体结构Java NIO的主要构成核心就是Buffer、Channel和Selector这三个对于Channel我想要提醒的是,Channel中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入使用Selector,得...
转载
发布博客 2018.03.29 ·
185 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java NIO 详解(一)

NIO即新的输入输出,这个库是在JDK1.4中才引入的。它在标准java代码中提供了高速的面向块的IO操作。12一、基本概念描述1.1 I/O简介I/O即输入输出,是计算机与外界世界的一个借口。IO操作的实际主题是操作系统。在java编程中,一般使用流的方式来处理IO,所有的IO都被视作是单个字节的移动,通过stream对象一次移动一个字节。流IO负责把对象转换为字节,然后再转换为对象。关于J...
转载
发布博客 2018.03.29 ·
175 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java IO

1. Java IO概述1.1. 相关概念Java IO即Java输入输出系统,不管我们编写何种应用,都难免和各种输入输出相关的媒介打交道,其实和媒介进行IO的过程是十分复杂的,这要考虑的因素特别多,比如我们要考虑和哪种媒介进行IO(文件、控制台、网络),我们还要考虑具体和它们的通信方式(顺序、随机、二进制、按字符、按字、按行等)。Java类库的设计者通过设计大量的类来攻克这些难题,这些类就位于j...
转载
发布博客 2018.03.28 ·
167 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

ClassLoader详解

ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见。理解ClassLoader的加载机制,也有利于我们编写出更高效的代码。ClassLoader的具体作用就是将class文件加载到jvm虚拟机中去,程序就可以正确运行了。但是,jvm启动的时候,并不会一次性加载所有的class文件,而是根据需要去动态加载。想想也是的,一次性加载那么多j...
转载
发布博客 2018.03.26 ·
238 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java设计模式-模板方法模式

1. 什么是模板方法模式概念: 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 通俗的讲,模板方法模式是通过把不变行为搬到超类,去除子类里面的重复代码提现它的优势,它提供了一个很好的代码复用平台。当不可变和可变的方法在子类中混合在一起的时候,不变的方法就会在子类中多次出现,这样如果摸个方法需要修改则需要
原创
发布博客 2018.01.29 ·
224 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java线程详解

Java线程:概念与原理一、进程与线程        进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,即进程空间或(虚空间)。进程不依赖于线程而独立存在,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。        线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运
转载
发布博客 2018.01.25 ·
359 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

我是一个线程

趣文:我是一个线程第一回 初生牛犊我是一个线程,我一出生就被编了个号:0x3704,然后被领到一个昏暗的屋子里,在这里我发现了很多和我一模一样的同伴。我身边的同伴 0x6900 待的时间比较长,他带着沧桑的口气对我说:“我们线程的宿命就是处理包裹。把包裹处理完以后还得马上回到这里,否则可能永远回不来了。”我一脸懵懂,“包裹,什么包裹?”“不要着急,马
转载
发布博客 2018.01.25 ·
250 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Java反射机制详解

Java反射机制详解     Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。1、关于Class    1、Class是一个类,一个描述类的类(也就是描述类本身),封装了描述方法的Method
转载
发布博客 2018.01.24 ·
230 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

jvm-基本结构

类加载子系统:类加载子系统负责从文件系统或网络中加载class信息,加载的类信息存放于方法区中,方法区中除了存放类信息之外,可能还会存放运行时常量池信息,包括字符串字面量和数字常量(这部分常量信息是class文件中常量池部分的内存映射)。java堆:java堆在虚拟机启动的时候建立,它是java程序最主要的工作区域,几乎所有的java对象实例都存放在java堆中。堆空间是所有线程共享的,这是一
转载
发布博客 2017.10.24 ·
268 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

jvm-方法区(常量池)

常量池主要涉及到常量池里的内容和常量池解析这两块。在方法区中,每个类型都对应一个常量池,常量池中存储了如:文字字符串,final变量值,类名,方法名等常量。jvm把常量池组织为入口列表的形式,可通过索引来访问常量池中的各个入口,每个常量池入口的第一个字节都是个标志,用这个标志来表示该入口中存储的常量类型,如:CONSTANT_Long表示里面存储的是Long类型的字面值,CONSTANT_Cl
转载
发布博客 2017.10.24 ·
1889 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

jvm-方法区

当jvm使用类装载器装在某个类时,它首先要定位到对应的class文件,然后读入这个class文件,最后提取该文件的内容信息,并将这些信息存储到方法去,最后返回一个class实例。方法区是系统分配的一个内存逻辑区域,用来存储类型信息(类型信息可以理解为类的描述信息(类的全限定名,访问修饰符,字段,方法等)),方法去特点:1.方法区是线程安全的,由于所有的线程都共享方法区,所以方法区里的数据访
转载
发布博客 2017.10.23 ·
5344 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

log4j配置详解

################################################################################ #①配置根Logger,其语法为: # #log4j.rootLogger = [level],appenderName,appenderName2,... #level是日志记录的优先级,分为OFF,TRACE,DEBUG,IN
转载
发布博客 2017.09.13 ·
285 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Externalizable

控制序列化就是有选择的序列化对象,而不是把对象的所以内容都序列化,前篇我们的例子中介绍了transit变量和类变量(static)不被序列化,现在我们还有一种更为灵活的控制对象序列化和反序列方法,可以在序列化过程中储存其他非this对象包含的数据 我们现在再来介绍一个接口 java.io.Externalizable 。当对象实现了这个接口时,就可以灵活的控制它的序列化和反序列过程
转载
发布博客 2017.09.11 ·
451 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java transient关键字使用小记

1. transient的作用及使用方法我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化
原创
发布博客 2017.09.11 ·
205 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java基本数据类型

java语言提供了八种基本类型。六种数字类型(四个整数型(默认是int型),两个浮点型(默认是double型)),一种字符型,一种布尔型。byte:byte占1个字节取值范围:(-2^7)-(2^7-1),即-128-127默认值:0byte类型用在大型数组中节约空间,主要替代整数,因为byte变量占用的空间只有int类型的四分之一例子:byte a = 100,byte
原创
发布博客 2017.09.11 ·
247 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多