一、概述Spring的最根本的使命就是简化开发。体现在:基于POJO的轻量级和最小侵入性编程,通过DI和面向接口实现松耦合,基于切面和惯性声明式编程,通过切面和模板减少样板代码。Spring是面向Bean进行编程的,Spring提供了IOC容器通过配置文件或者注解的方式来管理对象之间关系。Spring的注入方式:Setter、构造方法、强制赋值。控制反转的两种方式是依赖注入和依赖查找,最早Spri
转载
2024-07-05 11:19:23
16阅读
# 手写 Nginx:用 Java 实现简单的 HTTP 服务器
在这篇文章中,我将带领你一步一步地手写一个简单的 Nginx,使用 Java 作为主要编程语言。这个项目将帮助你更好地理解网络编程基本概念,Java 的 I/O,以及请求的处理流程。以下是实现过程的概述:
## 实现流程
| 步骤编号 | 步骤描述 |
|----------|-------
java面试:手写代码
二分查找法/**
* 二分查找法。时间复杂度:O(log n)
* 二分查找法:给定一组有序的数组,每次都从一半中查找。直到找到要求的数据。
*
* @param nums
* @param target
* @return
*/
pub
转载
2023-07-06 22:18:16
0阅读
文章目录视频教程连接实现的效果实现这些IOC的思路1. 获取到我们要管理的Class对象2.实例化要管理的对象 把初始化之后的对象给放到Map容器里面3.依赖注入的实现具体实现步骤注解MyBeanDefinition 存放Class和ClassNameMyAnnotationConfigApplicationContext(重点 IOC的核心)就和上面思路里面说的一样 分三步走就好了第一步的实现
转载
2023-08-16 21:18:30
85阅读
遇到重复工作一定想办法将其转化为自动化,我觉得这才是合格的程序猿。我们日常开发中遇到的80%的代码都是增删改查,当然,已经有一些插件,比如MP提供了一整套的代码生成方案,但是提供的基本都是java代码,因为模板语言有太多种,根据每个人每个项目的不同而不同,但是,模板中一样也基本是列表和表单提交,怎么来解决这个重复工作呢?思路:依然依赖mp组件,因为mp已经提供了对应的BaseService,Bas
转载
2023-10-05 11:43:21
43阅读
手写代码模块(Java实现)——树0.Previous Prepare (TreeNode)private class TreeNode<T>{
private T data;
private TreeNode<T> left;
private TreeNode<T> right;
public
转载
2024-04-12 09:51:44
35阅读
HashMap简介HashMap是Java中一中非常常用的数据结构,也基本是面试中的“必考题”。它实现了基于“K-V”形式的键值对的高效存取。JDK1.7之前,HashMap是基于数组+链表实现的,1.8以后,HashMap的底层实现中加入了红黑树用于提升查找效率。HashMap根据存入的键值对中的key计算对应的index,也就是它在数组中的存储位置。当发生哈希冲突时,即不同的key计算出了相同
转载
2024-06-05 19:08:39
11阅读
今天是2023年1月1日,绝佳的日子。前几天正好在开始重学java,那就从今天开始写博客记录学习之路。本科四年,工作三年,再加上去年九月开始读研,接触CS很久了。希望这次可以从一个比较宏观的角度,扎实地学好java。目前是先找了一个网课开始学(不想再啃大部头了,学C++那会就是看书,比较折磨)后期会加上刷题,做项目,准备面试题。每天学习量不求多,只求坚持。每天都在认真追求知识上的进步,那么生活自然
转载
2023-09-08 21:43:46
50阅读
池化是我们在实际生产中经常用到的一种思想,通过一个 “池” 把资源统一的管理起来。可以达到对资源的合理管理、重复利用、减少资源创建/销毁的开销等目的。 常见的比如常量池、连接池、线程池,今天我们手撸一个线程池。 抛开语言特性,线程池无非是维护一堆线程阻塞等待任务的到来,并由主线程对任务线程的数量进行动态控制的组件。做到线程资源的复用及统一管理,同时避免大量的线程创建销毁的开销,并控制总的线
转载
2023-07-19 17:21:56
97阅读
算法流1.欧几里得算法(辗转相除法):2.冒泡排序:3. 选择排序:4.插入排序:5.希尔排序:6.快速排序:7.二分查找:8.karatsuba算法: 1.欧几里得算法(辗转相除法):public class HelloWorld {
public static int gcd(int a , int b){
if (b == 0)
return a;
int r = a %
转载
2023-09-01 10:44:26
87阅读
前言这是带给大家的第一篇技术文章,也是所有的java开发人员肯定使用过的。因为相比较其它数据结构而言,无疑它是最简单的。所以今天放第一篇来给大家介绍。并自行实现一个简易版的ArrayList。本文借鉴jdk7与8实现,部分变量命名参考jdk命名,细节无法顾全,但大体思想是jdk的思想,做一个简化版来帮助大家理解。关注点不只是ArrayList,在任何集合中,都应关注以下几点:原理ArrayList
转载
2023-10-07 15:23:46
61阅读
一、前文回顾在上一篇文章中,我们探究了一个RPC框架最基本的一些技术,并且开始写了服务端的注册发现相关的代码,今天我们继续之前的进度往后。既然已经将服务暴露出去了,接下来我们要考虑的是如何通过网络的形式将其传输出去。二、网络模块开发客户端和服务端之间想要通信必然需要一个媒介,所以我们需要为我们的RPC框架搭建一个网络模块。那么提到网络编程那么就有以下几个方案:我们最先想到的是Java中的Socke
转载
2023-07-19 12:36:43
246阅读
Java 手写单向链表SingleLinkedList.javapackage com.muxiaofei.veryday.entity;
/**
* 单链表
* @param <T>
*/
public class SingleLinkedList<T> {
//链表大小
public int size;
// 头节点(先初始化一下)
转载
2023-07-19 13:41:54
49阅读
JavaSE进阶(七)——手写链表前言本篇笔记单纯炫技,其中***可能会有一些思想和逻辑***,能吃到多少就是你们自己的事了,录视频授课也需要至少两个课时(可能还不够),众所周知,我懒!所以……嘿嘿。 文章目录JavaSE进阶(七)——手写链表前言链表相关介绍要点代码总结 链表相关介绍要点链表的头结点(第一个元素是不存放元素值的,一般只用来当做链表的开始);链表使通过引用来指向的,C语言中可以理解
转载
2023-11-29 11:23:13
48阅读
Java实现BP神经网络MNIST手写数字识别Java实现BP神经网络MNIST手写数字识别一、神经网络的构建(1):构建神经网络层次结构由训练集数据可知,手写输入的数据维数为784维,而对应的输出结果为分别为0-9的10个数字,所以根据训练集的数据可知,在构建的神经网络的输入层的神经元的节点个数为784个,而对应的输出层的神经元个数为10个。隐层可选择单层或多层。[外链图片转存失败,源站可能有防
转载
2023-10-30 17:07:13
62阅读
理想的开源框架•她应该是小的、简单的,满足Simple Is Beautiful •她应该是成长性好的,随着不断的扩展,她可以越来越丰满 •她应该是有良好工具支持的,为什么要花时间做工具可以完成的事情呢? •她应该是自组装的,也就是尽可能的脱离配置,而是用一种依赖即可用,取消依赖即消失的全自动处理模式 •她应该是模块化的,所有的内容都可以被打入jar包而作为一个整体进行发布,并且能支持热部署的,可
转载
2023-09-19 07:36:24
42阅读
# 手写java的步骤和代码详解
## 概述
在学习Java的过程中,我们经常使用一些现成的类库和框架来开发应用程序。但是,了解Java的底层实现是非常重要的,可以帮助我们更好地理解Java的运行机制,提高代码的质量和性能。在本文中,我将向你介绍如何手写Java,以及相关的步骤和代码。
## 整体流程
下面是手写Java的整体流程,可以用表格的形式展示:
步骤 | 内容
---|---
1
原创
2023-08-08 20:17:40
29阅读
手写单向链表(Java实现) 大三下学期开始自学Java,在51cto上找了一套Java基础课程,是李兴华老师讲的,我感觉课程不错而且免费就跟着这套教程学;JavaSE学了一大半时,李老师花很大的篇幅讲解了怎样手写ArrayList(链表),当时我反复看视频还是理解不了有些功能是怎样实现的;遂放下去学别的东西。一晃毕业一年了,想到了这个事,于是找
转载
2024-02-23 15:52:05
19阅读
文章目录DAY1-3第一章 JAVA概述计算机基础知识JAVA语言概述JDK下载与安装HelloWorld案例环境变量配置第二章 JAVA基础语法[上]关键字标识符注释常量、进制和进制转换变量数据类型和类型转换运算符语句DAY4-5第三章Java基础语法[下]方法数组DAY6-7第四章面向对象[上]面向对象思想类与对象及其使用对象的内存图成员变量和局部变量的区别匿名对象封装(private)th
转载
2023-09-23 09:47:24
23阅读
Spring Cloud是现在流行的分布式服务框架,它提供了很多有用的组件。比如:配置中心、Eureka服务发现、消息总线、熔断机制等。配置中心在Spring Cloud的众多组件中是比较基础的,它提供了配置文件的统一管理,可以很轻松的切换不通的环境。它的具体结构如下:存储配置文件的文件系统(通常使用git)配置中心服务端(从文件系统获取最新的配置文件,为客户端提供配置信息)配置客户端(从配置中心
转载
2023-08-24 23:28:28
68阅读