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