03 2020 档案

摘要:UML 图: Context 上下文作为操纵策略的主体,里面包含了对策略接口属性 Strategy 为策略接口,不同的策略以不同的方式实现此接口的方法 ConcreteStrategy 为具体策略类 简述:说白了就是主体里面包含一个接口属性,通过向主体传递不同的接口实现类来对主体接口的实现进行替换, 阅读全文
posted @ 2020-03-31 15:39 qwerity 阅读(116) 评论(0) 推荐(0) 编辑
摘要:1、总览图 总览:(虚线箭头为依赖、虚线空心三角为实现、实线空心三角为继承)关于 UML 图表示可看此链接 Collection: Map: 2、Iterator 、Iterable、ListIterator Iterable 接口: 实现 Iterable 接口的类说明此类是可被迭代的参考此链接 阅读全文
posted @ 2020-03-29 16:12 qwerity 阅读(153) 评论(0) 推荐(0) 编辑
摘要:0、前言 本文为知识链接汇总,包含各种文章的引用链接 1、如何定义垃圾? 1)引用计数 2)可达性分析 -- 四种 GC Root -- 四种引用类型(强引用、软引用、弱引用、虚引用)及不同引用的垃圾回收策略 2、垃圾收集的算法 1)标记清除 2)复制算法 3)标记压缩/标记整理 4)分代收集 3、 阅读全文
posted @ 2020-03-23 17:12 qwerity 阅读(110) 评论(0) 推荐(0) 编辑
摘要:1、CAS(compare and swap) CAS 概念:CAS是一种系统原语,能够原子地完成比较和交换两个动作(所谓原语属于操作系统用语范畴。原语由若干条指令组成的,用于完成一定功能的一个过程。primitive or atomic action 是由若干个机器指令构成的完成某种特定功能的一段 阅读全文
posted @ 2020-03-18 15:07 qwerity 阅读(299) 评论(0) 推荐(0) 编辑
摘要:0、前言 以下都是基于 HotSpot 虚拟机 1、JVM 的整体结构 概览图: 详细图: 运行时数据区详细解释: JDK8 之后把方法区划成了元数据区域,其实元数据+JIT编译产物都可以称作非堆区 2、类的加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、 阅读全文
posted @ 2020-03-16 23:59 qwerity 阅读(150) 评论(0) 推荐(0) 编辑
摘要:0.前言 在学习有关 volatile 关键字的我,在网上搜罗大量资料的时候,基本都会见到标题中这些关键字样,接下来我以我查阅到的资料来对如上概念进行串联并且解析。本文为多方资料的汇总,在文中会有很多关键部分贴上引用的链接,点击可以查看更加详细。 1、缓存一致性问题 描述:为了弥补 CPU 和 内存 阅读全文
posted @ 2020-03-16 01:58 qwerity 阅读(517) 评论(0) 推荐(0) 编辑
摘要:0、前言 JAVA 亦或是 OS 中会出现非常之多不同的锁,这些锁大多都按特性、功能、设计、属性等作为依据来进行分类,而不是具体到某一种代码实现 1、公平锁 vs 非公平锁 概念:在并发环境中,线程在获得锁的顺序/优先级是根据申请的时间顺序来安排的(FIFO),这样保证了所有的线程都有机会得到锁,不 阅读全文
posted @ 2020-03-14 21:26 qwerity 阅读(464) 评论(0) 推荐(0) 编辑
摘要:1、启动流程 1)创建 springApplication 对象 此对象调用 initialize 方法进行初始化 * 主配置类就是 springboot 工程的主类,run方法传进去的 class 对象 当然可以传多个,最后一个语句就是用来判断哪个是有 main 方法的! * 若在创建工程时候导入 阅读全文
posted @ 2020-03-06 00:28 qwerity 阅读(164) 评论(0) 推荐(0) 编辑
摘要:1、Spring Data 和 JPA Spring Data 是官方开发的一套数据访问相关的工具和规范 目的就是为了使数据的访问更加统一和方便、其底层用的是 Hibernate 2、JPA 的基本使用步骤 1)编写一个实体类(bean)和数据表进行映射,并且配置好映射关系 2)编写一个Dao接口来 阅读全文
posted @ 2020-03-06 00:27 qwerity 阅读(113) 评论(0) 推荐(0) 编辑
摘要:1、核心概念 2、Linux 下安装 Docker 以 centos 为例子 1)docker 要求 centos 的内核版本高于 3.10 命令: uname -r 查看版本 2)安装 Docker 命令:yum install docker 3)启动/停止 Docker 启动命令:systemc 阅读全文
posted @ 2020-03-06 00:23 qwerity 阅读(136) 评论(0) 推荐(0) 编辑
摘要:SpringBoot默认是以jar包的方式启动嵌入式的Servlet容器来启动SpringBoot的web应用,没有web.xml文件 1、Servlet、Filter、Listener 创建 首先写好一个 Servle、Filter 和 Listener MyServlet MyFilter My 阅读全文
posted @ 2020-03-06 00:22 qwerity 阅读(142) 评论(0) 推荐(0) 编辑
摘要:1、Spring Boot 的默认Servlet 容器 spring boot 底层默认是使用 tomcat 作为 web 容器 2、如何修改 Servlet 容器相关配置 1)修改和server有关的配置(ServerProperties【实际也就是EmbeddedServletContainer 阅读全文
posted @ 2020-03-06 00:21 qwerity 阅读(174) 评论(0) 推荐(0) 编辑
摘要:1、定制错误页面 2、定制错误的 json 数据 以下方法都是下图特设的异常代码进行处理 触发方法只要访问 /hello?user=aaa 即可触发异常 1)自定义异常处理 & 返回定制 json 数据 编写一个错误的异常类,在里面配置好需要传达的错误信息并用 map 存储 并且用 Response 阅读全文
posted @ 2020-03-06 00:20 qwerity 阅读(118) 评论(0) 推荐(0) 编辑
摘要:一般登陆等应用场景会应用到拦截器来对当前访问的用户身份进行权限检查 若当前用户处于未登录状态,则应该拦截用户的一些非法请求,来实现登陆需求 有关拦截器的介绍 ==> click here ( 特别注意执行顺序与返回的布尔值产生的行为 ) 1、通过实现 HandlerInterceptor 接口自定义 阅读全文
posted @ 2020-03-05 23:14 qwerity 阅读(199) 评论(0) 推荐(0) 编辑
摘要:以对如下一个简单的登陆页面做国际化为例子 1、配置国际化配置文件 在资源文件夹下创建对应的国际化配置文件,不同语言对应不同配置文件 若使用的是IDEA则IDEA会根据你书写的文件后缀 xx_语言代码_国家代码 自动识别是国际化相关配置,会把所有文件使用Bundle包含起来 好处就是可以在bundle 阅读全文
posted @ 2020-03-05 22:53 qwerity 阅读(244) 评论(0) 推荐(0) 编辑
摘要:1、模板引擎作用 模板引擎可以将静态的页面内容中绑定的动态表达式与实际绑定对象相结合,产生所需的页面 模板引擎有很多,例如JSP、Thymeleaf 权威 ==> Thymeleaf 官方文档 2、Thymeleaf 的依赖引入 starter 里面的 thymeleaf 默认版本是2.x,这里需要 阅读全文
posted @ 2020-03-05 22:28 qwerity 阅读(167) 评论(0) 推荐(0) 编辑
摘要:1、Spring Boot 的静态资源映射规则 在一个 web 项目中,如何通过网页的 url 来找到项目中的静态资源,spring boot 有一套自己的规则 1、有关 webjars 的资源访问 有关 webjars 的介绍看这里 => click here 总而言之,是将前端所需的一些常用静态 阅读全文
posted @ 2020-03-05 22:27 qwerity 阅读(138) 评论(0) 推荐(0) 编辑
摘要:1、日志门面、日志实现 日志系统是设计符合JAVA面向对象的设计思想,采用接口和实现分离的方式,提供接口和标准的叫日志门面。市面上常见的门面和实现如下 日志门面 commons-logging,slf4j 日志实现 log4j,jdk-logging,logback,log4j2 以下都以 slf4 阅读全文
posted @ 2020-03-05 22:24 qwerity 阅读(146) 评论(0) 推荐(0) 编辑
摘要:1、创建多个不同的配置文件并利用 profile 参数指定其标识 其中 yaml 亦可采用文档块的方式,采用 active 参数激活某 profile 指定的配置 2、激活指定 profile 3、配置文件的加载位置及其优先级 其中 file 就是项目根目录 多配置存在的情况下,SpringBoot 阅读全文
posted @ 2020-03-05 18:01 qwerity 阅读(442) 评论(0) 推荐(0) 编辑
摘要:1、@PropertySource @ConfigurationProperties 注解给Bean注入数据只能加载全局配置文件下的配置内容、若要单独指定另外的配置文件则需要用到@PropertySource 同时注意 @PropertySource 只支持 properties 文件上 2、@Im 阅读全文
posted @ 2020-03-05 18:00 qwerity 阅读(111) 评论(0) 推荐(0) 编辑
摘要:1、配置文件 springboot 在底层默认为项目配置了很多东西,若想修改,则需借助配置文件 2、yaml 介绍 3、yaml 语法 或者也可以使用一行的行内写法 4、使用配置文件给容器中 Bean 对象进行注入 1、resources 文件夹中创建 application.yml 文件作为配置文 阅读全文
posted @ 2020-03-05 17:59 qwerity 阅读(483) 评论(0) 推荐(0) 编辑
摘要:1、登录官网找到 spring intializer 可以选择构建项目的信息 其中 dependencies 可以选择开发所需要的组件 2、解压下载下来的工程再用 IDE(例如 IDEA)打开之后就可以进行开发了,十分简单 注意:工程刚导入 IDEA 时,需要在侧栏的 Maven project 选 阅读全文
posted @ 2020-03-05 17:58 qwerity 阅读(298) 评论(0) 推荐(0) 编辑
摘要:1、父项目 ( spring-boot-starter-parent ) 2、启动器 以上只是 web 相关场景需要导入的启动器依赖,其他场景见官网链接 => starter 3、@SpringBootApplication 注解 打开这个注解之后发现这是一个组合注解,由多个注解组成 打开 @Spr 阅读全文
posted @ 2020-03-05 17:57 qwerity 阅读(2001) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示