Java
文章平均质量分 69
青年痴呆
这个作者很懒,什么都没留下…
展开
-
Rest接口设计思想
全称是 Resource Representational State Transfer:通俗来讲就是:资源在网络中以某种表现形式进行状态转移。1.资源(Resources): 每种资源对应一个特定的URI(统一资源定位符),URI为每一个资源的地址或独一无二的识别符;2.表现层(Representation):把"资源"具体呈现出来的形式,叫做它的"表现层",URI只代表"资源"的位置。它的具体表现形式,应该在HTTP请求的头信息中用Accept和Content-Type字段指定,这两个字段才是对.原创 2021-10-12 08:19:02 · 986 阅读 · 0 评论 -
Array知识点总结(数组的创建、Array与Object的关系、数组的协变设计)
Array 知识点总结Array数组是同一种类型数据的集合,是一种存储数据的方式,数组就是一个容器。数组的基本操作一维数组的创建数组指的就是一组相关类型的变量集合,并且这些变量可以按照统一的方式进行操作。数组本身属于引用数据类型,那么既然是引用数据类型,这里面实际又会牵扯到内存分配,而数组的定义语法如下。声明Type[] arrayName;Type arrayName[];两种声明方式有何区别,是否推荐使用某种?---两种声明方式实质上无区别,但推荐使用*第一种*。原因如下:数组原创 2021-10-09 19:29:58 · 1252 阅读 · 0 评论 -
Spring-IoC:依赖查找和依赖注入
IoC 依赖查找根据Bean名称查找实时查找延迟查找根据Bean类型查找单个Bean对象集合Bean对象根据Bean名称 + 类型查找根据Java注解查找单个Bean对象集合Bean对象 private static void lookupByAnnotation(BeanFactory beanFactory) { if (beanFactory instanceof ListableBeanFactory) {原创 2021-09-04 18:14:23 · 974 阅读 · 0 评论 -
Spring-IoC总览
Inversion of ControlIoC的主要实现策略使用服务定位模式(Using a service locator pattern)使用依赖注入(Using dependency injction)构造器注入参数注入Setter注入接口注入使用上下文依赖查找(Using a contextualized lookup)使用模板方法的设计模式(Using template method design pattern)使用策略模式(Using stratedy desgn原创 2021-09-04 16:38:21 · 810 阅读 · 0 评论 -
Spring 特性总览
Spring 特性总览核心特性IOC 容器(IoC Container)Spring 事件(Events)资源管理(Resources)国际化(i18n)校验(Validation)数据绑定(Data Binding)类型转换(Type Conversion)Spring 表达式(Spring Express Language)面向切面编程(AOP)数据存储(Data Access)JDBC事务抽象(Transactions)DAO 支持(DAO Support)O/R原创 2021-09-04 01:17:35 · 850 阅读 · 0 评论 -
JAVA父子类的加载顺序
先上结论父类静态属性(成员变量) > 父类静态代码块 > 子类静态属性 > 子类静态代码块 > 父类非静态属性 > 父类非静态代码块 > 父类构造器 > 子类非静态属性 > 子类非静态代码块 > 子类构造器总结几个小特点静态属性和代码块,当且仅当该类在程序中第一次被 new 或者第一次被类加载器调用时才会触发(不考虑永久代的回收)。也正是因为上述原因,类优先于对象 加载/new,即 静态优先于非静态。属性(成员变量)优先于构造方法,可以这么理解转载 2021-07-28 19:19:15 · 928 阅读 · 0 评论 -
Class类文件结构表全
Java虚拟机提供的语言无关性Class 文件格式根据《Java虚拟机规范》的规定,Class文件格式采用一种类似于C语言结构体的伪结构来存储数 据,这种伪结构中只有两种数据类型:“无符号数”和“表”。后面的解析都要以这两种数据类型为基 础,所以这里笔者必须先解释清楚这两个概念。无符号数属于基本的数据类型,以u1、u2、u4、u8来分别代表1个字节、2个字节、4个字节和8个 字节的无符号数,无符号数可以用来描述数字、索引引用、数量值或者按照UTF-8编码构成字符串 值。表是由多个无符号数或者其他原创 2021-07-28 00:43:30 · 1210 阅读 · 1 评论 -
JVM的经典垃圾收集器(整理集合)
经典垃圾收集器SerialSerial 收集器是最基础、历史最悠久的收集器。Serial 收集器是一个单线程工作的收集器,强调在它进行垃圾收集时,必须暂停其他所有工作线程,直到它收集结束。Serial 收集器简单而高效,在内存资源受限的环境下,它是所有收集器里额外内存消耗最小的;对于单核处理器或处理器核心数较少的环境来说,Serial 收集器由于没有线程交互的开销,专心做垃圾收集自然可以获得最高的单线程收集效率。ParNewParNew 收集器实质上是 Serial 收集器的多线程并发版.原创 2021-07-27 16:33:09 · 1061 阅读 · 1 评论 -
JVM的内存区域
运行时数据区域Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域。程序计数器程序计数器是一块较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器。为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储。我们称这类区域为*“线程私有”的内存*。如果线程正在执行 Java 方法,计数器记录的是正在执行的虚拟机字节码指令的地址如果正在执行本地(Native)方法,计数器记值为空(Und原创 2021-07-27 16:30:35 · 952 阅读 · 1 评论 -
HashMap扩展了AbstractMap,为什么还要实现Map接口?
原问题链接:https://stackoverflow.com/questions/11175058/why-does-hashmap-implement-map-if-it-extends-abstractmap先总结:平时不要像这么写,因为的确没有用(只有一个标识的作用),除非你真在某些方面及其依赖Class类getInterefaces方法的结果也许它与生成 javadoc 的方式有关?要知道 Java API 如何告诉实现接口或从其他类继承的所有具体类吗?虽然我同意在运行时它是多余的,但我原创 2021-07-27 16:28:33 · 1173 阅读 · 1 评论 -
Java并发基本知识
线程线程状态New 新建Runnable 可运行Blocked 阻塞Waiting 等待Timed waiting 计时等待Terminated 终止新建进程当用 new 操作符创建一个新进程时,如new Thread(r),这个线程还没有开始运行,它的状态是new 新建。可运行线程一旦调用 start 方法,线程就处于可运行状态。一个可运行的线程可能 正在运行,也可能 没有运行。阻塞和等待线程该状态下,线程暂时是不活动的,不运行任何代码,而且消耗最少的资源。当一个线程视图原创 2021-07-27 16:22:58 · 928 阅读 · 0 评论 -
Java常用集合与原理
Java 最初版本只为常用的数据结构提供了很少的一组类:Vector、Stack、Hashtable、BitSet 与 Enumeration 接口迭代器public interface Collection<E>{ boolean add(E element); Iterator<E> iterator(); ...}// ITerator 接口包含4个方法public interface Iterator<E>{ E.原创 2021-07-27 16:21:45 · 1006 阅读 · 0 评论 -
Java 泛型设计(泛型简单定义、类型擦除)与泛型使用的局限性
从Java 5引入。泛型程序设计意味着编写的代码可以对多种不同类型的对象重用。在Java中增加泛型类之前,泛型程序设计是用继承实现的。ArrayList类只维护一个 Object 引用的数组。定义简单泛型类public class Pair<T> { private T first; private T second; ... ...}泛型方法class ArrayArg { public static <T> T getM.原创 2021-07-27 16:17:03 · 1136 阅读 · 0 评论 -
Java之异常
异常在Java对象中,异常对象都是派生于Throwable类的一个类实例Throwable |-- Error |-- Exception |-- IOException |-- RuntimeException //由编程错误导致的异常由编程错误导致的异常属于RuntimeException;如果程序本身没有问题,但由于像I/O错误这类问题导致的异常属于其他异常。Java语言规范将派生于Error类或RuntimeException类的所以异常称为非检查型异常原创 2021-07-27 16:15:49 · 977 阅读 · 0 评论 -
Java之Lambda表达式和函数式接口
Lambda表达式是一个可传递的代码块,可以在以后执行一次货多次。(String first, String second) -> first.length() - second.length();(String first, String second) ->{ if ( fisrt,length() < second.length() ) return -1; else if( fisrt.length() > second.length() ) re.原创 2021-07-27 16:14:43 · 968 阅读 · 0 评论 -
Java之接口冲突
接口接口用于描述类硬功做什么,而不指定具体应该如何做接口中绝不会有实例字段,在Java 8之前接口中不能实现方法(现已经可在接口中实现简单方法。但是,这些方法不能引用实例字段——接口没有实例)接口近似于没有实例字段的抽象类/** * 接口内可以声明字段属性(总是 public static final) */public interface Speed{ double testfunc(); double SPEED_LIMIT = 2.0;}任何实现了Speed接口的类都自动继原创 2021-07-27 16:13:00 · 1507 阅读 · 0 评论