
Java组件
文章平均质量分 83
学Java学到痴呆
这个作者很懒,什么都没留下…
展开
-
springboot架构中间件理解
中间件DUBBORPC和http区别RPC要求适合同环境的远程调用,http不用关注实现,只需遵循rest规范结构:business业务逻辑层、RPC配置层(负载均衡、集群容错、代理)、remoting 网络传输层启动原理:1、provider和consumer连接到注册中心register做注册,订阅服务2、register根据配置的订阅关系,把provider提供的信息给consumer,同时consumer本地缓存信息3、consumer根据负载均衡策略选择一台provider,原创 2021-10-07 11:34:21 · 1781 阅读 · 0 评论 -
JDK源码解析(3)——String
一、类的定义public final class String implements java.io.Serializable, Comparable<String>, CharSequence与其他几种类不同的是,String实现了CharSequence 接口,表示是一个有序字符的可读集合。二、类的属性与Integer类似,Boolean的私有属性是boolean。1、私有属性//String的值一旦创建就无法更改,String的值就被保存在了char数组里了,j原创 2021-05-26 15:49:03 · 231 阅读 · 1 评论 -
JDK源码解析(5)——Short、Long、Double、Float
一、Short1、shortcache的初始值在-128 —— 127,不同于Integer,shortcache不可调整大小。decode//decode方法将字符串解码为Short,//此方法接受十进制字符串,十六进制字符串(用0x\0X#标识),八进制字符串(用0标识),//但是解码后的值必须在[-32768,32767]这一区间内,否则抛出NumberFormatException异常。public static Short decode(String nm) throws Nu原创 2021-04-27 14:38:15 · 389 阅读 · 0 评论 -
JDK源码解析(4)——Byte、Character
一、ByteByte与Integer基本大同小异,也会在加载时生成-128到127的初始值,所以不多赘述。二、CharacterCharacter会在加载时生成127+1的初始值,所以不多赘述。isValidCodePoint// 判断指定的代码点是否为从 0x0000 到 0x10FFFF 范围之内的有效 Unicode 代码点值。public static boolean isValidCodePoint(int codePoint) { // Optimized for.原创 2021-04-26 11:47:20 · 347 阅读 · 0 评论 -
JDK源码解析(2)——Boolean
Boolean是8大基础数据类型中比较简洁的一个数据类型,下面我们深入了解一下。一、类的定义通过类的定义,我们可以看到Boolean不能被继承。由于继承了Comparable接口,所以Boolean类被自然排序,我们可以调用compareTo方法来和Boolean类型的对象进行比较。public final class Boolean implements java.io.Serializable, Comparable<Boolean>二、类的属性与Integer类似,B原创 2021-04-26 11:09:59 · 290 阅读 · 0 评论 -
JDK源码解析(1)——Integer
Integer是我们日常开发中最常用的数据类型,下面我们深入了解一下。一、类的定义通过类的定义,我们可以看到Integer不能被继承。由于继承了Comparable接口,所以Integer类被自然排序,我们可以调用compareTo方法来和Integer类型的对象进行比较。public final class Integer extends Number implements Comparable<Integer>二、类的属性1、私有属性//保存的int值priva原创 2021-04-25 18:52:35 · 323 阅读 · 0 评论 -
JavaGC调优(2)——GC实战
上篇文章主要分析了一下JVM和GC算法等理论,这篇主要就是实战。GC的目标1.1、GC优化是必要的吗事实上GC优化对Java基础服务来说在有些场合是可以省去的,但前提是这些正在运行的Java系统,必须包含以下参数或行为:内存大小已经通过-Xms和-Xmx参数指定过 运行在server模式下(使用-server参数) 系统中没有残留超时日志之类的错误日志我们GC优化的最主要的目的:减少Full GC的执行时间 将进入老年代的对象数量降到最低1.2、GC调优调的是什...原创 2021-04-05 16:38:11 · 217 阅读 · 0 评论 -
JavaGC调优(1)——GC算法和垃圾回收
本章简要介绍GC的算法和垃圾回收器,下一章节再详细讲解GC算法的实现一、简介垃圾收集器都专注于两件事情:(1)查找所有存活对象(2)抛弃其他的部分,即死对象,不再使用的对象1.1、标记可达对象(Marking Reachable Objects)标记可达对象,就是存活的对象。有以下四种特定元素被指定为“GC根元素(Garbage Collection Roots)”。GC遍历(traverses)内存中整体的对象关系图(object graph),从GC根元素开始扫描,到直接引用,以及其..原创 2021-04-05 16:06:29 · 362 阅读 · 0 评论 -
《深入理解java虚拟机》
一、走近Java在本章中,我们将学习java虚拟机。二、Java内存区域与内存溢出异常Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。字节码解释器工作时就是原创 2021-04-05 12:42:22 · 258 阅读 · 0 评论 -
Java组件(3)——Listener的原理和应用
JavaWeb的三大组件分别是: Servlet 程序、Listener 监听器、Filter 过滤器,我们这篇文章探索Listener底层原理,和使用场景。一、简介监听器用于监听Web应用中某些对象的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理。Java事件监听器是由事件类和监听接口组成,自定义一个事件前,必须提供一个事件的监听接口以及一个事件类。JAVA中监听接口是继承java.util.EventListener的类,事件类继承java.util.EventObject的类原创 2021-04-05 04:43:31 · 893 阅读 · 0 评论 -
Java组件(1)——Servlet
一、简介Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。Servlet 架构二、Servlet生命周期Servlet 生命周期可被定义为从创建直到毁灭的整个过程。实例化:在第一次访问或启动tomcat时,tomcat会调用此无参构造方法实例化.原创 2021-04-05 04:30:37 · 296 阅读 · 0 评论 -
Java组件(2)——Filter的原理和应用
JavaWeb的三大组件分别是: Servlet 程序、Listener 监听器、Filter 过滤器,我们就以三篇文章来一一探索其底层原理,和使用场景。一、简介Filter的基本功能是对Servlet容器调用Servlet(JSP)的过程进行拦截,从而在Servlet处理请求前和Servlet响应请求后实现一些特殊的功能。它的作用主要分两点:拦截请求,过滤响应。针对这两点作用,我们衍生了很多使用场景:过滤关键字、鉴权、拦截资源 日记操作、事务管理、限流二、原理...原创 2021-04-05 01:25:08 · 415 阅读 · 2 评论