𝓝𝓮𝓶𝓸&博客

随笔分类 -  Java

摘要:RESTful风格 REST:即 Representational State Transfer。(资源)表现层状态转化。是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。 **注意:**由于REST使用了四种请求方法,它们可以代表我们的行为, 阅读全文
posted @ 2020-08-15 11:40 Nemo& 阅读(480) 评论(0) 推荐(0)
摘要:一、反射的概述 1. 反射的简介 Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象 阅读全文
posted @ 2020-08-13 14:46 Nemo& 阅读(204) 评论(0) 推荐(0)
摘要:一、枚举类的使用 1. 枚举类的说明: 枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类 当需要定义一组常量时,强烈建议使用枚举类 枚举类的实现: JDK 5.0以前需要自定义 JDK 5.0后新增enum关键字用于定义枚举类 如果枚举类中只一个对象,则可以作为单例模式的实现方式。 枚举 阅读全文
posted @ 2020-08-13 14:43 Nemo& 阅读(986) 评论(0) 推荐(0)
摘要:事务概念 1.什么事务 事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败所有操作都失败 典型场景:银行转账 lucy 转账 100 元 给 mary lucy 少 100,mary 多 100 注意:这里的事务用的就是数据库中的事务,而不是程序单独实现的事务。不信的话可以做个实 阅读全文
posted @ 2020-08-07 20:04 Nemo& 阅读(272) 评论(0) 推荐(0)
摘要:概念和准备 什么是 JdbcTemplate Spring 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作 准备工作 引入相关 jar 包 在 spring 配置文件配置数据库连接池 <!-- 数据库连接池 --> <bean id="dataSource" cla 阅读全文
posted @ 2020-08-07 17:52 Nemo& 阅读(258) 评论(0) 推荐(0)
摘要:AOP 面向切面编程(AOP, Aspect Oriented Programming) 概念 什么是 AOP 面向切面编程(方面),利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 通俗描述:不通过修改源代码方式,在 阅读全文
posted @ 2020-08-07 17:32 Nemo& 阅读(4475) 评论(0) 推荐(0)
摘要:IOC(概念和原理) 什么是 IOC 控制反转(Inversion of Control,缩写为IoC),把对象创建和对象之间的调用过程,交给 Spring 进行管理 使用 IOC 目的:为了耦合度降低 做入门案例就是 IOC 实现 IOC 底层原理 xml 解析 工厂模式 反射 画图讲解 IOC 阅读全文
posted @ 2020-08-07 16:40 Nemo& 阅读(7332) 评论(0) 推荐(0)
摘要:垃圾回收器 GC 分类与性能指标 垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商、不同版本的 JVM 来实现。 由于 JDK 的版本处于高速迭代过程中,因此 Java 发展至今已经衍生了众多的 GC 版本。 从不同角度分析垃圾收集器,可以将 GC 分为不同的类型。 Java 不同版本新特性 阅读全文
posted @ 2020-07-21 13:57 Nemo& 阅读(721) 评论(0) 推荐(0)
摘要:垃圾回收相关概念 System.gc() 的理解 在默认情况下,通过 System.gc() 或者 Runtime.getRuntime().gc() 的调用,会显式触发 FullGC,同时对新生代、老年代和方法区进行回收,尝试释放被丢弃对象占用的内存。 然而 System.gc() 调用附带一个免 阅读全文
posted @ 2020-07-21 13:54 Nemo& 阅读(239) 评论(0) 推荐(0)
摘要:垃圾回收相关算法 标记阶段:引用计数算法 在堆里存放着几乎所有的 Java 对象实例,在 GC 执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象。只有被标记为己经死亡的对象,GC 才会在执行垃圾回收时,释放掉其所占用的内存空间,因此这个过程我们可以称为垃圾标记阶段。 那么在 阅读全文
posted @ 2020-07-21 13:47 Nemo& 阅读(247) 评论(0) 推荐(0)
摘要:垃圾回收概述 概念 这次我们主要关注的是黄色部分,内存的分配与回收 垃圾收集 垃圾收集,不是 Java 语言的伴生产物。早在 1960 年,第一门开始使用内存动态分配和垃圾收集技术的 Lisp 语言诞生。 关于垃圾收集有三个经典问题: 哪些内存需要回收? 什么时候回收? 如何回收? 垃圾收集机制是 阅读全文
posted @ 2020-07-21 13:46 Nemo& 阅读(226) 评论(0) 推荐(0)
摘要:StringTable String的基本特性 String:字符串,使用一对 "" 引起来表示 String s1 = "Nemo"; // 字面量的定义方式 String s2 = new String("Nemo"); String 声明为 final 的,不可被继承 String 实现了 S 阅读全文
posted @ 2020-07-21 13:20 Nemo& 阅读(910) 评论(0) 推荐(0)
摘要:执行引擎 执行引擎概述 执行引擎属于 JVM 的下层,里面包括 解释器、及时编译器、垃圾回收器 执行引擎是 Java 虚拟机核心的组成部分之一。 “虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的 阅读全文
posted @ 2020-07-21 12:09 Nemo& 阅读(297) 评论(0) 推荐(0)
摘要:直接内存 Direct Memory 不是虚拟机运行时数据区的一部分,也不是《Java 虚拟机规范》中定义的内存区域。 直接内存是在 Java 堆外的、直接向系统申请的内存区间。 来源于 NIO,通过存在堆中的 DirectByteBuffer 操作 Native 内存 类型 传输类型 基于 备注 阅读全文
posted @ 2020-07-20 20:00 Nemo& 阅读(712) 评论(0) 推荐(0)
摘要:对象实例化内存布局与访问定位 从各自具体的内存分配上来讲 new 的对象放在堆中 对象所属的类型信息是放在方法区的 方法当中的局部变量放在栈空间 这 new 的对象怎么把三块粘合到一起 就是这章的内容了 对象实例化 面试题 美团: 对象在 JVM 中是怎么存储的? 对象头信息里面有哪些东西? **蚂 阅读全文
posted @ 2020-07-20 19:59 Nemo& 阅读(376) 评论(0) 推荐(0)
摘要:为什么要进行单元测试? 单元测试的目的就在于, 当你修改了项目中的其中一部分代码A,可能会影响到其他代码B的逻辑,所以我们在写完代码后需要在每一个代码逻辑上都加上单元测试断言,这样就可以提前判断其他代码的逻辑运行是否符合预期,如果不符合预期,就代表你的修改影响了其他代码的逻辑,不能上传,得保证其他代 阅读全文
posted @ 2020-07-20 18:30 Nemo& 阅读(780) 评论(0) 推荐(0)
摘要:方法区 前言 这次所讲述的是运行时数据区的最后一个部分 从线程共享与否的角度来看 ThreadLocal:如何保证多个线程在并发环境下的安全性?典型应用就是数据库连接管理,以及会话管理 栈、堆、方法区的交互关系 下面就涉及了对象的访问定位 Person:存放在元空间,也可以说方法区 person:存 阅读全文
posted @ 2020-07-20 14:00 Nemo& 阅读(1711) 评论(1) 推荐(2)
摘要:堆 堆的核心概念 堆针对一个 JVM 进程来说是唯一的,也就是一个进程只有一个 JVM,但是进程包含多个线程,他们是共享同一堆空间的。 一个 JVM 实例只存在一个堆内存,堆也是 Java 内存管理的核心区域。 Java 堆区在 JVM 启动的时候即被创建,其空间大小也就确定了。是 JVM 管理的最 阅读全文
posted @ 2020-07-20 12:56 Nemo& 阅读(806) 评论(0) 推荐(0)
摘要:本地方法栈 Java 虚拟机栈于管理 Java 方法的调用,而本地方法栈用于管理本地方法的调用。 本地方法栈,也是线程私有的。 允许被实现成固定或者是可动态扩展的内存大小。(在内存溢出方面是相同的) 如果线程请求分配的栈容量超过本地方法栈允许的最大容量,Java 虚拟机将会抛出一个 StackOve 阅读全文
posted @ 2020-07-20 12:54 Nemo& 阅读(396) 评论(0) 推荐(0)
摘要:本地方法接口 什么是本地方法 简单地讲,**一个 Native Method 是一个 Java 调用非 Java 代码的接囗。**一个 Native Method 是这样一个 Java 方法:该方法的实现由非 Java 语言实现,比如 C。这个特征并非 Java 所特有,很多其它的编程语言都有这一机 阅读全文
posted @ 2020-07-20 12:52 Nemo& 阅读(313) 评论(0) 推荐(0)