Java共35篇
java
手写简易MVC - IOC-深吸氧置顶

手写简易MVC – IOC

耦合 在软件系统中,层与层之间存在依赖关系,我们称之为耦合。 我们系统架构设计的一个原则是:高内聚低耦合。层内部的组成应该是高度聚合的,而层与层之间的关系应该是低耦合的。 在上一篇中...
不为风的头像-深吸氧不为风3年前
02631
手写简易MVC - 引入三层架构-深吸氧置顶

手写简易MVC – 引入三层架构

什么是三层架构 在实际工作中,业务是很复杂的。为了更好的降低各层之间的 耦合度(系统的复杂度,在三层架构程序设计中,采用面向抽象变成。即上层对下层的调用,是通过接口实现的。而下...
不为风的头像-深吸氧不为风3年前
03230
手写简易MVC-DispatcherServlet-深吸氧置顶

手写简易MVC-DispatcherServlet

这一篇不要过多的纠结代码质量,只要是思想。这一块不看对工作没有影响,但是为了往更高的方向发展,还是需要掌握的。 1. Servlet 优化 1.1 需求 假设我们有一个简易的水果店铺管理系统,对应的...
不为风的头像-深吸氧不为风3年前
03674
ThreadLocal-深吸氧

ThreadLocal

1. 简介 ThreadLocal叫做线程变量,意思是ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的变量。ThreadLocal为变量在每个线程中都创建了...
不为风的头像-深吸氧不为风3年前
01380
查看Java字节码文件-深吸氧

查看Java字节码文件

1. 下载安装Binary Viewer 2. 将.class文件拖到Binary Viewer 3. 查看字节码文件 下载链接:
不为风的头像-深吸氧不为风3年前
1114214
volatile-深吸氧

volatile

volatile关键字仅能用来修饰变量,能用来保证变量在线程间的可见性,同时能避免指令重排保证有序性,但是不能保证原子性。 有以下代码: /** * @Author shenxy * @Date 2022/7/24 17:57 * @Vers...
不为风的头像-深吸氧不为风3年前
01791
单例模式双重校验与volatile关键字-深吸氧

单例模式双重校验与volatile关键字

学过单例模式我们都知道,双重校验是单例模式线程安全的懒汉式实现模式。代码如下: /** * @Author shenxy * @Date 2022/8/26 19:29 * @Version 1.0 */ public class Singleton { private volat...
不为风的头像-深吸氧不为风3年前
01810
java中带参数的try(){}语法含义是什么-深吸氧

java中带参数的try(){}语法含义是什么

我们大多数用的是try{ }的形式 InputStream is = null; OutputStream os = null; try { //... } catch (IOException e) { //... }finally{ try { if(os!=null){ os.close(); } if(is!=null){ is...
不为风的头像-深吸氧不为风3年前
028815
Servlet 会话-深吸氧

Servlet 会话

HTT协议本身P是无状态的,服务器无法区分两次请求是否是同一个客户端发送过来的。所以两个用户操作时,便会产生数据错误。因此通过会话跟踪技术来解决这个问题。 1. Cookie 1.1 本质 在浏览器端...
不为风的头像-深吸氧不为风3年前
01620
三、运行时数据区概述及线程-深吸氧

三、运行时数据区概述及线程

运行时数据区概述 1. 前言 本节主要讲的是运行时数据区,也就是下图这部分,它是在类加载完成后的阶段 当我们通过前面的:类的加载 –> 验证 –> 准备 –> 解析 –> 初始化,这几个...
不为风的头像-深吸氧不为风3年前
02700
ThreadPoolExecutor 核心线程与等待队列相关问题探讨-深吸氧

ThreadPoolExecutor 核心线程与等待队列相关问题探讨

先来回顾下线程池的执行流程: 任务加入等待队列的条件是核心线程池已满,且等待队列未满。我原本以为这个核心线程池已满,指的是核心线程都在执行任务,但是我今天遇到一个现象,发现并不是我...
不为风的头像-深吸氧不为风2年前
02310
二、类加载子系统-深吸氧

二、类加载子系统

类加载器子系统作用 类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Eng...
不为风的头像-深吸氧不为风3年前
02996
Centos7安装jdk1.8-深吸氧

Centos7安装jdk1.8

下载jdk tar.gz格式压缩包 下载地址:https://www.oracle.com/java/technologies/downloads/#java8 找到1.8版本的jdk jdk-8u271-linux-x64.tar.gz 上传到服务器并解压压缩包 tar -zxvf jdk...
不为风的头像-深吸氧不为风1年前
01031