
Java
Java相关总结
疯狂呼呼呼
小鸟也有梦想
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring Boot基本使用
平台岗日常开发离不开Spring Boot,写篇文章记录Spring Boot入门的一些基本操作 Spring Boot介绍 Spring Boot和Sping MVC的关系 Spring Boot是Spring MVC的升级版,两者没有必然的联系;在学习Spring Boot之前没有必要拥有Spring MVC的基础 Spring Boot的特点 化繁为简,简化配置 最大的特点就是可以让...原创 2019-12-03 01:51:45 · 713 阅读 · 0 评论 -
设计模式系列(一)—— 简单工厂
原理 定义与类型 定义:由一个工厂对象决定创建出哪一种产品类的实例 类型:创建型,但不属于23种设计模式 注意:抽象工厂和工厂方法都是由简单工厂一步一步演进过来的 适用场景 工厂类负责创建的对象比较少 客户端(应用层)只知道传入工厂类的参数 对于如何创建对象(逻辑)不关心 优点与缺点 优点: 只需要传入一个正确的参数,就可以获取你所需要的对象而无须知道其创建的细节 工厂类中还可以有必要的...原创 2019-06-09 01:27:18 · 298 阅读 · 0 评论 -
设计模式系列(二)—— 工厂方法&抽象工厂
工厂方法 定义与类型 定义:定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类;工厂方法让类的实例化推迟到子类中进行 类型:创建型 在我们创建对象的过程中,往往会是一个非常复杂的过程,同时创建对象也有可能会导致大量重复的代码;而工厂模式通过单独的定义一个创建对象的方法来解决这个问题,由子类实现这个方法,从而来创建具体类型的对象 适用场景 创建对象需要大量重复的代码 客户端(应用层...原创 2019-06-23 18:23:43 · 351 阅读 · 0 评论 -
设计模式系列(三)—— 建造者模式
定义与类型 定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 用户只需指定需要建造的类型就可以得到它们,建造过程及细节不需要知道 类型:创建型 建造者模式就是如何一步一步构建包含多个组件的对象;相同的构建过程可以创建出不同的产品,比较适用于流程固定但是顺序不一定固定的场景 适用场景 如果一个对象有非常复杂的内部结构(很多属性) 想把复杂对象的创建和使用进行分离 ...原创 2019-08-18 17:27:22 · 339 阅读 · 0 评论 -
Java反射总结
概述 Java反射机制是在运行状态中 在运行过程中,可以利用反射机制提供的技术为我们做一些事情,而这些事情对于框架来说是非常重要的 对于任何一个类,都能知道该类的所有属性和方法 前提是在运行状态下,利用反射机制提供的功能是可以知道获取到这些内容的 对于任何一个对象,都能调用它的任意一个方法和属性 Student s = new Student() 对象是new出来的,即s为对象,类为Studen...原创 2019-05-02 23:03:04 · 585 阅读 · 0 评论 -
Java自定义注解的实现
注解是Java开发中比较常用的一项技能,本篇文章将结合注解与反射这2块知识点进行讲解,为后续的自定义实现ORM框架做铺垫。关于Java反射的文章可以见本篇文章:Java反射 注解的定义 JDK5引入的新特性;在引入这个新特性之后,就被大量的框架所采用,在Spring中应用的及其广泛 注解可以大大提升编码效率以及代码的精简 比如:@Override @Deprecated @SuppressWar...原创 2019-07-21 18:58:42 · 469 阅读 · 0 评论 -
自定义实现ORMapping框架
自定义实现ORMapping框架的核心在于反射和注解的应用,关于这部分的内容可以参考文章: Java反射总结 Java自定义注解的实现 在本篇文章中主要实现save方法,关键在于以下几步: 自定义注解的实现 通过反射获取表名和字段名 SQL拼接的实现 DBUtils的开发 具体代码如下 annotation: /** * @Author: huhu * @Date: 2019-08-10 ...原创 2019-08-11 23:47:09 · 535 阅读 · 0 评论 -
Java多线程总结
文章目录线程的实现方式继承Thread类实现Runnable接口两种启动方式的比较Thread的JDK源码分析源码中Thread.java代码中的相关描述源码中关于start方法的相关描述Thread构造方法变量在线程中的使用成员变量局部变量线程的同步问题案例演示&问题提出&根源分析案例演示&问题提出问题根源解决方案:加锁方案概述方案一:同步方法(对对象加锁)方案二:同步代...原创 2019-02-16 03:04:07 · 572 阅读 · 0 评论 -
synchronized关键字原理
不管是在校招还是社招中的面试,常会被问到volatile与synchronized的区别,在volatile关键字剖析文章中已经介绍了相关的原理,在本篇中将剖析synchronized关键字原理 众所周知 synchronized 关键字是解决并发问题常用解决方案,有以下三种使用方式: 同步普通方法,锁的是当前对象 同步静态方法,锁的是当前 Class 对象 同步块,锁的是 () 中的对象 实...原创 2018-10-15 22:59:12 · 524 阅读 · 0 评论 -
volatile关键字剖析
volatile的语义 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 保证了不同线程对这个变量进行操作时的可见性 即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的 禁止进行指令重排序 举例,线程1先执行,线程2后执行: //线程1 boolean stop = false; while(!stop){ doSomet...原创 2018-10-07 18:42:44 · 469 阅读 · 0 评论 -
Java内存模型
计算机内存模型 计算机在执行程序时,每条指令都是在CPU中执行的,而指令执行的过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题: 由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU执行指令的速度比起来要慢很多,因此如果任何时候对数据的操作都要通过和内存的交互来进行,那么就会大大降低指令执行的速度 因此在CPU里...原创 2018-09-22 01:07:07 · 446 阅读 · 0 评论