08 2020 档案

摘要:前言 原型模式(Prototype模式)是指:用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象 原型模式是一种创建型设计模式,允许一个对象再创建另外一个可定制的对象,无需知道如何创建的细节。 工作原理:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷 阅读全文
posted @ 2020-08-31 13:54 前程有光 阅读(330) 评论(0) 推荐(0) 编辑
摘要:前言 分布式锁是控制分布式系统之间同步访问共享资源的一种方式。 在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,这个时候,便需要使用到分布式锁。 什么是分布式锁 1.在分布式环境中 阅读全文
posted @ 2020-08-30 14:01 前程有光 阅读(548) 评论(0) 推荐(0) 编辑
摘要:前言 不知不觉已经到了九月了,回首看年初的时候简直像做梦一样。不得不说时间真的是无情一般的流逝,题外话就不多说了!回归正题,现在已经到了今年最后一波大好的跳槽涨薪的时机了,错过了这一次可能你就得等到明年了!我相信很多小伙伴已经开始摩拳擦掌准备自己的面试了,可是你真的准备好了吗? 面试该问的Java、 阅读全文
posted @ 2020-08-29 16:33 前程有光 阅读(169) 评论(0) 推荐(0) 编辑
摘要:创建线程的方法 继承Thread类 继承Thread类,重写run方法,通过线程类实例.start()方法开启线程。 public class TestThread1 extends Thread{ @override public void run(){ System.out.println("线 阅读全文
posted @ 2020-08-29 13:54 前程有光 阅读(326) 评论(0) 推荐(0) 编辑
摘要:前言 会话:一次会话中包含多次请求和响应 注:一次会话表示浏览器第一次给服务器发送请求,会话建立,直到有一方断开为止 功能:在一次会话的多次请求间共享数据 方式: (1) 客户端会话技术:Cookie (2) 服务器端会话技术:Session Cookie 概念:将数据保存到客户端,客户端有了Coo 阅读全文
posted @ 2020-08-28 14:04 前程有光 阅读(196) 评论(0) 推荐(0) 编辑
摘要:前言 volatile是Java虚拟机提供的轻量级的同步机制。 volatile关键字作用是什么? 两个作用: 1.保证被volatile修饰的共享变量对所有线程总数可见的,也就是当一个线程修改了一个被volatile修饰共享变量的值,新值总是可以被其他线程立即得知。 2.禁止指令重排序优化。 vo 阅读全文
posted @ 2020-08-27 14:12 前程有光 阅读(373) 评论(0) 推荐(0) 编辑
摘要:前言 在将NIO之前,我们必须要了解一下Java的IO部分知识。 BIO(Blocking IO) 阻塞IO,在Java中主要就是通过ServerSocket.accept()实现的。 NIO(Non-Blocking IO) 非阻塞IO,在Java主要是通过NIOSocketChannel + S 阅读全文
posted @ 2020-08-26 14:08 前程有光 阅读(179) 评论(0) 推荐(0) 编辑
摘要:前言 进程是计算机中程序关于某几何数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。是操作系统结构的基础 线程可以说是轻量级的进程,是程序执行的最小单位,使用多线程而不用多进程去进行并发程序的设计,是因为线程之间的切换与调度的成本远小于进程。 线程的几种状态 New状态表示刚刚创建的线程 阅读全文
posted @ 2020-08-25 14:05 前程有光 阅读(229) 评论(0) 推荐(0) 编辑
摘要:类加载器的关系 类加载器的分类 JVM支持两种类加载器,一种为引导类加载器(Bootstrap ClassLoader),另外一种是自定义类加载器(User Defined ClassLoader) 引导类加载器是由C/C++编写的无法访问到 Java虚拟机规定:所有派生于抽象类ClassLoade 阅读全文
posted @ 2020-08-24 14:00 前程有光 阅读(231) 评论(0) 推荐(0) 编辑
摘要:概述 Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下, 使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽 阅读全文
posted @ 2020-08-23 14:02 前程有光 阅读(372) 评论(0) 推荐(0) 编辑
摘要:前言 OOP(Object Oriented Programing)面向对象编程 以对象为基本单位进行程序开发,通过对象间的彼此协同,相互协调,完成程序的构建 POP(Producer Oriented Programing)面向过程(方法,函数)编程 以过程为基本单位的程序开发,通过彼此间协同,相 阅读全文
posted @ 2020-08-21 14:30 前程有光 阅读(204) 评论(0) 推荐(0) 编辑
摘要:前言 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。其数据设计持久性不低于 99.9999999999%(12 个 9),服务设计可用性(或业务连续性)不低于 99.995%。 OSS 具有与平台无关的 RES 阅读全文
posted @ 2020-08-20 13:55 前程有光 阅读(1678) 评论(0) 推荐(0) 编辑
摘要:前言 用过spring的人都知道,spring简单的通过注解就可以完成很多事情,但这些东西是如何实现的呢以及如何应用到我们自己的代码中?接下来,让我们一起开启注解的旅程。 1. @Controller 标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象. 阅读全文
posted @ 2020-08-19 14:01 前程有光 阅读(731) 评论(0) 推荐(0) 编辑
摘要:前言 时至今日,Spring 在 Java 生态系统与就业市场上,面试出镜率之高,投产规模之广,无出其右。随着技术的发展,Spring 从往日的 IoC 框架,已发展成 Cloud Native 基础设施,衍生出大量 Spring 技术栈,如大家熟知的 Spring Boot、Spring Clou 阅读全文
posted @ 2020-08-18 21:08 前程有光 阅读(708) 评论(0) 推荐(0) 编辑
摘要:前言 外观模式 定义:提供了一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层接口,让子系统更容易使用。 适配器模式是将一个类的接口转换成客户希望的另外一个接口,身边很多东西都是适用于适配器模式的,笔记本的电源(也叫电源适配器),是将220V的交流电转换为笔记本电脑所需要的12V(电流先 阅读全文
posted @ 2020-08-18 13:46 前程有光 阅读(165) 评论(0) 推荐(0) 编辑
摘要:前言 JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。 采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有 阅读全文
posted @ 2020-08-17 13:41 前程有光 阅读(655) 评论(0) 推荐(0) 编辑
摘要:前言 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,即进程空间或(虚空间)。进程不依赖于线程而独立存在,一个进程中可以启动多个线程。 线程是指进程中的一个执行流程,一个进程中可以运行多个线程。线程总是属于某个进程,线程没有自己的虚拟地址空间,与进程内的其他线程一起共享分配给该 阅读全文
posted @ 2020-08-16 13:40 前程有光 阅读(299) 评论(0) 推荐(0) 编辑
摘要:前言 JVM 内存模型一共包括三个部分: 堆 ( Java代码可及的 Java堆 和 JVM自身使用的方法区)、 栈 ( 服务Java方法的虚拟机栈 和 服务Native方法的本地方法栈 ) 保证程序在多线程环境下能够连续执行的程序计数器 特别地,我们当时就提到Java堆是进行垃圾回收的主要区域,故 阅读全文
posted @ 2020-08-14 21:12 前程有光 阅读(224) 评论(0) 推荐(0) 编辑
摘要:前言 注解就是源代码的元数据,通熟的讲就是代码中的标签。注解就有如下的特点: 注解是一个附属品,依赖于其他元素(包、类、方法、属性等等)存在。 注解本身没有作用,在恰当的时候由外部程序进行解析才会发生作用。 注解有哪些? 按来源分 JDK 自带注解,例如:@Override, @Deprecated 阅读全文
posted @ 2020-08-14 12:57 前程有光 阅读(414) 评论(0) 推荐(0) 编辑
摘要:类加载机制的原理 1.启动JVM 2.将需要运行的class文件加载到虚拟机内存中 3.找到主类,开始执行主函数 加载步骤: 1.先委托父类加载类,如果父类已经加载,就不需要再次加载,如果父类没有加载,再由本加载器加载 2.解析类路径,将类路径转换成文件路径 3.通过文件输入流来读取class文件, 阅读全文
posted @ 2020-08-13 16:30 前程有光 阅读(328) 评论(0) 推荐(0) 编辑
摘要:前言 不论是校招还是社招都避免不了各种⾯试、笔试,如何去准备这些东⻄就显得格外重要。不论是笔试还是⾯试都是有章可循的,我这个“有章可循”说的意思只是说应对技术⾯试是可以提前准备,所谓不打无准备的仗就是这个道理,以下为大家,描述了从面试准备到最后的拿到offer提供了⾮常详细的⽬录,建议可以从头看是看 阅读全文
posted @ 2020-08-12 13:26 前程有光 阅读(309) 评论(0) 推荐(0) 编辑
摘要:一、前言 计算机的操作系统大多采用任务和分时设计,多任务是指在一个操作系统中可以同时运行多个程序,例如,可以在使用qq聊天的同时听音乐,即有多个独立运行的任务,每个任务对应一个进程,每个进程又可以产生多个线程。 1.进程 进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程 阅读全文
posted @ 2020-08-11 13:29 前程有光 阅读(140) 评论(0) 推荐(0) 编辑
摘要:前言 MyBatis 是一款优秀的持久层框架,一个半 ORM(对象关系映射)框架,它支持定制化 SQL、存储过程以及高级映`射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 PO 阅读全文
posted @ 2020-08-10 21:25 前程有光 阅读(376) 评论(0) 推荐(0) 编辑
摘要:前言 static关键字是摆在刚入行编程语言的小白们面前的一道难题,为什么要用static?使用它有什么好处?修饰方法和修饰变量有什么区别?本文将就java中static关键字的使用方法及注意事项进行深入探讨,一是为了方便自己以后查阅,二也为了与大家交流分享学习的经验。 一、什么是static关键字 阅读全文
posted @ 2020-08-10 13:45 前程有光 阅读(260) 评论(0) 推荐(0) 编辑
摘要:前言 以下面试题全属于一线大厂社招以及校招的面试真题,各位在做这些题目对照自己的时候请平凡心对待,不要信心受挫。其实 做为致力于一线企业校招或者社招的你来说,能把每个知识模块的一小部分问题去深入学习和总结,已经很棒了!然后文末有我自己总结的一些答案和更多面试题的文档总结,需要可以自取! 首先展示一下 阅读全文
posted @ 2020-08-09 14:52 前程有光 阅读(729) 评论(0) 推荐(0) 编辑
摘要:概念 内存泄露:指程序中动态分配内存给一些临时对象,但对象不会被GC回收,它始终占用内存,被分配的对象可达但已无用。即无用对象持续占有内存或无用对象的内存得不到及时释放,从而造成的内存空间浪费。 可达性分析算法 JVM使用可达性分析算法判断对象是否存活。 GC Root 通过一系列名为“GC Roo 阅读全文
posted @ 2020-08-06 13:53 前程有光 阅读(593) 评论(0) 推荐(0) 编辑
摘要:前言 我自己是本科毕业后在老东家干了两年多,老东家算是一家”小公司”(毕竟这年头没有 BAT 或 TMD 的 title 都不好意思报出身),毕业这两年多我也没有在大厂待过,因此找坑的时候是非常非常虚的。迫于心慌,我好好思考了一阵来给自己打气,当时真正找坑和准备面试的过程大概分为这几个阶段: 面试准 阅读全文
posted @ 2020-08-05 19:31 前程有光 阅读(204) 评论(0) 推荐(0) 编辑
摘要:前言 进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。 线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一进 阅读全文
posted @ 2020-08-05 14:15 前程有光 阅读(302) 评论(0) 推荐(0) 编辑
摘要:前言 shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证、用户授权。 spring中有spring security (原名Acegi),是一个权限框架,它和spring依赖过于紧密,没有shiro使用简单。 shiro不依赖于spring,shiro不仅可以实现 web应 阅读全文
posted @ 2020-08-04 20:33 前程有光 阅读(400) 评论(0) 推荐(0) 编辑
摘要:1. Bean的依赖注入概念 依赖注入(Dependency Injection):它是 Spring 框架核心 IOC 的具体实现。在编写程序时,通过控制反转,把对象的创建交给了 Spring,但是代码中不可能出现没有依赖的情况。IOC 解耦只是降低他们的依赖关系,但不会消除。例如:业务层仍会调用 阅读全文
posted @ 2020-08-04 14:28 前程有光 阅读(171) 评论(0) 推荐(0) 编辑
摘要:前言 先说一下本人情况吧,末流985毕业,毕业之后一直在一家不大不小的公司里安稳上班。上半年因为疫情的原因公司调整了工资,我也是随波逐流跟随大家辞了职。辞职之后向阿里。字节这些都投了简历(但是只收到了阿里的回复)。一路居然惊险但也是成功斩下offer,问的都是最近两年新出的面试频度较高的面试题!,现 阅读全文
posted @ 2020-08-03 20:54 前程有光 阅读(284) 评论(0) 推荐(0) 编辑
摘要:1 前言 Spring是一个轻量级开源框架,它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。 Spring是众多优秀设计模式的组合(工厂、单例、代理、适配器、包装器、观察者、模板、策略)。 阅读全文
posted @ 2020-08-03 13:57 前程有光 阅读(232) 评论(0) 推荐(0) 编辑
摘要:概述 是Spring为展现层提供的基于MVC设计理念的Web框架,通过一套MVC注解,让POJO成为处理请求的控制器,而无需实现任何接口 支持REST风格的URL请求 采用松散耦合的可插拔组件结构,比其他MVC框架更具扩展性和灵活性 SpringMVC的IOC容器是Spring的IOC容器的子容器, 阅读全文
posted @ 2020-08-02 19:50 前程有光 阅读(178) 评论(0) 推荐(0) 编辑
摘要:实现线程的三种方式总结 最近有看到Java线程的实现相关问题,在此对线程实现方式做一个小小的总结,当做笔记,便于日后查看。 平时常用的线程方式有三种: (1)、继承Thread类,并重写其run()方法。 (2)、实现Runnable接口,并实现其run()方法。 (3)、实现Callable接口, 阅读全文
posted @ 2020-08-02 14:48 前程有光 阅读(123) 评论(0) 推荐(0) 编辑